Skip to content

Instantly share code, notes, and snippets.

View mklabs's full-sized avatar

Mickael Daniel mklabs

View GitHub Profile
@mklabs
mklabs / index.html
Last active July 30, 2022 12:05
Test Report template for Unreal automation framework, with assets using cdnjs urls so that it can be loaded from local http server (w/o bower_components) or even via file:// protocol
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.5">
<title>Automation Test Results</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" type="text/css" />
@mklabs
mklabs / RPGDamageExecution.cpp
Created March 13, 2022 11:14
Example of Gameplay Effect Execution Calculation with logic to handle health and stamina damage if blocking, and dealing with parry frames which nullifies damage and sends an event to trigger a "parried" ability on source character.
// Copyright 2020 Mickael Daniel.
#include "Abilities/RPGDamageExecution.h"
#include "AbilitySystemBlueprintLibrary.h"
#include "RPGBlueprintLibrary.h"
#include "Abilities/RPGAttributeSet.h"
#include "Characters/RPGCharacterBase.h"
#include "Items/RPGWeaponActor.h"
@mklabs
mklabs / readme.md
Created January 12, 2022 19:53
Custom Actor with Ability System Component (GAS Companion 3.x, replacement for now deprecated GSCActor)

First, you need to convert the project to c++ if not done already by adding a new Actor to your game module.

We'll also use the generated class and replace the content after.

image Example: ComboGraphHost_4_27 will be replaced by your project name

Next, you'll need to slightly edit your Build.cs file for your game module (should be Source/YourProject/YourProject.Build.cs). It was generated by Unreal the first time you added a c++ class to the project.

You need for AMyAbilitySystemActor (see header and source file in this gist) to properly compile to add at the very least "GameplayAbilities" to the PublicDependencyModuleNames and "ModularGASCompanion" to PrivateDependencyModuleNames in your Build.cs file.

@mklabs
mklabs / BaseEditorPerProjectUserSettings.ini
Last active February 22, 2023 09:16
ue4 - Default editor settings override
; Custom default user settings:
[/Script/UnrealEd.EditorStyleSettings]
AssetEditorOpenLocation=MainWindow
[/Script/UnrealEd.EditorLoadingSavingSettings]
LoadLevelAtStartup=LastOpened
[/Script/BlueprintGraph.BlueprintEditorSettings]
SaveOnCompile=SoC_SuccessOnly
From 23d81a547ace5e1672649e6e3eba61ee17ad0c16 Mon Sep 17 00:00:00 2001
From: Mickael Daniel <daniel.mickael@gmail.com>
Date: Sat, 12 Jun 2021 02:22:56 +0200
Subject: [PATCH] feat: slight changes to UGSCUWHud to work with ACharacter and
allow better integrations
---
Source/GSC/Private/UI/GSCUWHud.cpp | 61 +++++++++----------
.../Private/UI/GSCUWHudAttributesDebug.cpp | 12 ++--
.../Actors/Characters/GSCPlayerCharacter.h | 1 +
// Copyright Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
public class ARPG : ModuleRules
{
public ARPG(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
@mklabs
mklabs / .git-prompt.sh
Created August 17, 2016 11:26
bash git prompt
. /etc/bash_completion.d/git-prompt
export GIT_PS1_SHOWDIRTYSTATE=1 GIT_PS1_SHOWSTASHSTATE=1 GIT_PS1_SHOWUNTRACKEDFILES=1
export GIT_PS1_SHOWUPSTREAM=verbose GIT_PS1_DESCRIBE_STYLE=branch
export PS1='\[$(tput bold)\]\[\033[38;5;10m\]\u@\h\[$(tput sgr0)\]\[\033[38;5;15m\]:\[$(tput sgr0)\]\[\033[38;5;6m\]\w\[$(tput sgr0)\]\[\033[38;5;15m\]$(__git_ps1 " (%s)")\\$\[$(tput sgr0)\] \[$(tput sgr0)\]'
@mklabs
mklabs / index.md
Created June 1, 2016 18:58
component / browserify bundles
@mklabs
mklabs / Makefile
Last active August 26, 2017 09:53
node makefile - babel / eslint / mocha / watch
test:
mocha test/
babel:
babel lib/ -d src/
lint:
eslint .
build: babel test lint
@mklabs
mklabs / Gruntfile.js
Last active December 10, 2015 17:38
A simple example of using yeoman on an express app
module.exports = function(grunt) {
function noop() {}
grunt.initConfig({
watch: {
reload: {
files: ['public/**', 'views/**'],
tasks: 'reload'
}