23 Commits

Author SHA1 Message Date
20a1478bdc Added max health and current health to component
take damage function created.
need to decide how damage and health is managed
2025-11-29 16:38:42 -05:00
d2e1db997d made health componenet 2025-11-23 20:11:46 -05:00
Kukukakhew
45c8db144b Renaming BP 2025-11-22 23:32:01 -05:00
Kukukakhew
3ab187545c Merge Fixes
Player mappable Keys
Playground 1 default gamemode blueprint
2025-11-22 23:29:56 -05:00
442b977a65 Merge branch 'MenusAndStuff' 2025-11-22 22:41:32 -05:00
Kukukakhew
9f933f1f9c Cleaned out assets not used in main 2025-11-22 22:34:09 -05:00
8c1de34eb5 Merge pull request 'Solved movement and basic replication' (#1) from multiplayerv2 into main
Reviewed-on: http://git.keeper317.com/Keeper317/open-conflict/pulls/1
2025-11-23 03:22:14 +00:00
Kukukakhew
63a8e63dfe Host Game now opens level
There are some things in here meshes/characters/gamemodes that can be removed.
2025-11-22 22:19:33 -05:00
c0152e2db4 Expanded playground play area 2025-11-22 22:18:41 -05:00
44d54457ae fixed character movement issue 2025-11-22 22:18:21 -05:00
73a3aac159 renamed files to fit convention 2025-11-22 19:07:48 -05:00
bb0d0a8660 problem solved, no idea why 2025-11-22 16:28:39 -05:00
Kukukakhew
1a9364c821 Test Character and controller 2025-11-22 13:06:39 -05:00
a59399ebfe continued setup 2025-11-22 00:34:20 -05:00
c91d73ed33 Base files added
May have an idea of what caused problem
2025-11-21 23:38:16 -05:00
Kukukakhew
0598ac722c Keybindings settings added 2025-11-21 21:56:12 -05:00
Kukukakhew
7976384ac1 Added Sensitivity Settings 2025-11-21 20:20:22 -05:00
Kukukakhew
a4c547d7ce Reorganized code for audio 2025-11-21 01:23:05 -05:00
Kukukakhew
53aa864df2 Audio Settings
rough draft, works but needs cleaned up
2025-11-20 22:31:59 -05:00
Kukukakhew
4f499aab8e Display settings pt2.
Resolution and window mode.
No settings save file
2025-11-20 00:54:30 -05:00
Kukukakhew
25cc608321 Display Settings Pt1
Added Vsync and Framerate
2025-11-19 23:52:44 -05:00
Kukukakhew
206dc5d36e Graphics Menu
Auto populates scroll box.
Does not save settings or change.
2025-11-18 01:27:20 -05:00
Kukukakhew
99c6f2fd3b Its a start
Start Menu
Main Menu
Sound Classes
2025-11-17 23:00:53 -05:00
47 changed files with 378 additions and 2 deletions

File diff suppressed because one or more lines are too long

View File

@@ -1,8 +1,20 @@
[/Script/EngineSettings.GameMapsSettings] [/Script/EngineSettings.GameMapsSettings]
GameDefaultMap=/Game/Worlds/Playground1.Playground1
EditorStartupMap=/Game/Worlds/Playground1.Playground1 EditorStartupMap=/Game/Worlds/Playground1.Playground1
LocalMapOptions=
TransitionMap=None
bUseSplitscreen=True
TwoPlayerSplitscreenLayout=Horizontal
ThreePlayerSplitscreenLayout=FavorTop
FourPlayerSplitscreenLayout=Grid
bShowAllPlayerWidgetsWhenSplitscreenDisabled=False
bOffsetPlayerGamepadIds=False
GameInstanceClass=/Script/Engine.GameInstance
GameDefaultMap=/Game/Worlds/MainMenu.MainMenu
ServerDefaultMap=/Engine/Maps/Entry.Entry
GlobalDefaultGameMode=/Script/Engine.GameModeBase
GlobalDefaultServerGameMode=None
[/Script/Engine.RendererSettings] [/Script/Engine.RendererSettings]
r.AllowStaticLighting=False r.AllowStaticLighting=False

View File

@@ -82,3 +82,6 @@ DefaultTouchInterface=/Engine/MobileResources/HUD/DefaultVirtualJoysticks.Defaul
-ConsoleKeys=Tilde -ConsoleKeys=Tilde
+ConsoleKeys=Tilde +ConsoleKeys=Tilde
[/Script/EnhancedInput.EnhancedInputDeveloperSettings]
bEnableUserSettings=True

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -7,7 +7,10 @@
{ {
"Name": "OpenConflict", "Name": "OpenConflict",
"Type": "Runtime", "Type": "Runtime",
"LoadingPhase": "Default" "LoadingPhase": "Default",
"AdditionalDependencies": [
"Engine"
]
} }
], ],
"Plugins": [ "Plugins": [

View File

@@ -0,0 +1,5 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "DDIGamemodeBase.h"

View File

@@ -0,0 +1,17 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/GameModeBase.h"
#include "DDIGamemodeBase.generated.h"
/**
*
*/
UCLASS()
class OPENCONFLICT_API ADDIGamemodeBase : public AGameModeBase
{
GENERATED_BODY()
};

View File

@@ -0,0 +1,38 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "DDIHealth.h"
// Sets default values for this component's properties
UDDIHealth::UDDIHealth()
{
// Set this component to be initialized when the game starts, and to be ticked every frame. You can turn these features
// off to improve performance if you don't need them.
PrimaryComponentTick.bCanEverTick = true;
MaxHealth = 100;
CurrentHealth = 100;
}
// Called when the game starts
void UDDIHealth::BeginPlay()
{
Super::BeginPlay();
// ...
}
// Called every frame
void UDDIHealth::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction)
{
Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
// ...
}
// Called to cause damage
void UDDIHealth::TakeDamage(UDamageType* DamageType)
{
}

View File

@@ -0,0 +1,59 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "Components/ActorComponent.h"
#include "DDIHealth.generated.h"
UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) )
class OPENCONFLICT_API UDDIHealth : public UActorComponent
{
GENERATED_BODY()
/*UPROPERTY and UFUNCTION declarations*/
private:
/*Properties*/
/*Functions*/
protected:
/*Properties*/
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Health")
float MaxHealth; //Stores the default max health of component
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Health")
float CurrentHealth; //Stores the active health of component
/*Functions*/
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, Category = "Health")
void TakeDamage(UDamageType* DamageType);
public:
/*Properties*/
/*Functions*/
/*C++ only declarations*/
private:
/*Properties*/
/*Functions*/
protected:
/*Properties*/
/*Functions*/
// Called when the game starts
virtual void BeginPlay() override;
public:
/*Properties*/
/*Functions*/
// Sets default values for this component's properties
UDDIHealth();
// Called every frame
virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
};

View File

@@ -0,0 +1,35 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "DDICharacter.h"
// Sets default values
ADDICharacter::ADDICharacter()
{
// Set this character to call Tick() every frame. You can turn this off to improve performance if you don't need it.
PrimaryActorTick.bCanEverTick = true;
bReplicates = true;
// bReplicateMovement = true;
CameraComponent = CreateDefaultSubobject<UCameraComponent>(TEXT("CameraComponent"));
CameraComponent->SetupAttachment(GetMesh());
CameraComponent->SetRelativeLocation(FVector(0.0f, 0.0f, 50.0f));
CameraComponent->bUsePawnControlRotation = true;
}
// Called when the game starts or when spawned
void ADDICharacter::BeginPlay()
{
Super::BeginPlay();
}
// Called every frame
void ADDICharacter::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
}

View File

@@ -0,0 +1,29 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "Camera/CameraComponent.h"
#include "GameFramework/Character.h"
#include "DDICharacter.generated.h"
UCLASS()
class OPENCONFLICT_API ADDICharacter : public ACharacter
{
GENERATED_BODY()
public:
// Sets default values for this character's properties
ADDICharacter();
protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override;
public:
// Called every frame
virtual void Tick(float DeltaTime) override;
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Camera")
UCameraComponent* CameraComponent;
};

View File

@@ -0,0 +1,100 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "DDIPlayerController.h"
#include "EnhancedInputComponent.h"
#include "EnhancedInputSubsystems.h"
#include "GameFramework/Character.h"
ADDIPlayerController::ADDIPlayerController()
{
}
void ADDIPlayerController::BeginPlay()
{
Super::BeginPlay();
if (UEnhancedInputLocalPlayerSubsystem* Subsystem = ULocalPlayer::GetSubsystem<UEnhancedInputLocalPlayerSubsystem>(GetLocalPlayer()))
{
for (UInputMappingContext* CurrentContext : MappingContexts)
{
Subsystem->AddMappingContext(CurrentContext, 0);
}
}
}
void ADDIPlayerController::SetupInputComponent()
{
Super::SetupInputComponent();
if (UEnhancedInputComponent* Subsystem = Cast<UEnhancedInputComponent>(InputComponent))
{
if (MoveAction) Subsystem->BindAction(MoveAction, ETriggerEvent::Triggered, this, &ADDIPlayerController::Move);
if (LookAction) Subsystem->BindAction(LookAction, ETriggerEvent::Triggered, this, &ADDIPlayerController::Look);
if (JumpAction)
{
Subsystem->BindAction(JumpAction, ETriggerEvent::Started, this, &ADDIPlayerController::Jump);
Subsystem->BindAction(JumpAction, ETriggerEvent::Completed, this, &ADDIPlayerController::JumpEnd);
}
}
}
void ADDIPlayerController::OnPossess(APawn* InPawn)
{
Super::OnPossess(InPawn);
// is this a shooter character?
// if (ADDICharacter* DDICharacter = Cast<ADDICharacter>(InPawn))
// {
// // add the player tag
// DDICharacter->Tags.Add(PlayerPawnTag);
// }
}
void ADDIPlayerController::Move(const FInputActionValue& Value)
{
const FVector2D MovementVector = Value.Get<FVector2D>();
if (APawn* ControlledPawn = GetPawn())
{
FRotator CameraRotation = GetControlRotation();
FRotator YawRotation(0.f, CameraRotation.Yaw, 0.f);
FVector ForwardDiection = FRotationMatrix(YawRotation).GetUnitAxis(EAxis::X);
FVector RightDirection = FRotationMatrix(YawRotation).GetUnitAxis(EAxis::Y);
ControlledPawn->AddMovementInput(ForwardDiection, MovementVector.Y);
ControlledPawn->AddMovementInput(RightDirection,MovementVector.X);
}
}
void ADDIPlayerController::Look(const FInputActionValue& Value)
{
const FVector2D LookAxisVector = Value.Get<FVector2D>();
if (APawn* ControlledPawn = GetPawn())
{
AddYawInput(LookAxisVector.X);
AddPitchInput(LookAxisVector.Y);
}
}
void ADDIPlayerController::Jump(const FInputActionValue& Value)
{
if (ACharacter* character = GetCharacter())
{
character->Jump();
}
}
void ADDIPlayerController::JumpEnd(const FInputActionValue& Value)
{
if (ACharacter* character = GetCharacter())
{
character->StopJumping();
}
}

View File

@@ -0,0 +1,70 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "EnhancedInputComponent.h"
#include "EnhancedInputSubsystems.h"
#include "GameFramework/PlayerController.h"
#include "DDIPlayerController.generated.h"
/**
*
*/
UCLASS()
class OPENCONFLICT_API ADDIPlayerController : public APlayerController
{
GENERATED_BODY()
/*UPROPERTY and UFUNCTION declarations*/
private:
/*Properties*/
/*Functions*/
protected:
/*Properties*/
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "INPUT", meta = (AllowPrivateAccess = "true"))
TArray<class UInputMappingContext*> MappingContexts;
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "INPUT", meta = (AllowPrivateAccess = "true"))
UInputAction* JumpAction;
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "INPUT", meta = (AllowPrivateAccess = "true"))
UInputAction* MoveAction;
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "INPUT", meta = (AllowPrivateAccess = "true"))
UInputAction* LookAction;
UPROPERTY(EditAnywhere, Category="Shooter")
FName PlayerPawnTag = FName("Player");
/*Functions*/
public:
/*Properties*/
/*Functions*/
/*C++ only declarations*/
private:
/*Properties*/
/*Functions*/
protected:
/*Properties*/
/*Functions*/
virtual void SetupInputComponent() override;
virtual void BeginPlay() override;
virtual void OnPossess(APawn *InPawn) override;
void Move(const FInputActionValue& Value);
void Look(const FInputActionValue& Value);
void Jump(const FInputActionValue& Value);
void JumpEnd(const FInputActionValue& Value);
public:
/*Properties*/
/*Functions*/
ADDIPlayerController();
};