A Galavant front-end using Unreal Engine 4. Features a procedural smooth voxel-based world
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

19 lines
746 B

7 years ago
# galavant-unreal
AActor Entity integration, Actor Entity management, Fix segfault - Added an Entity field to AActor; this change needs to be applied to the UE4 code manually. The patch is in Source/UnrealEnginePatches/AActorEntityIntegration.patch - DPI scaling for the editor is now done explictly by GalavantUnrealMain; this is so I automatically have my desired DPI settings. This is a hack and will probably trip up anyone else who uses GalavantUnreal - Fixed segfault involving UnrealMovementComponent having dead Entities subscribed to it after Play In Editor has stopped and restarted. This occurred because I had transitioned to using static initialization to auto-register ComponentManagers, but for some reason (hotreloading or library separation) UnrealMovementComponent wasn't being added to the static ComponentManagers list. ComponentManagers are now explicitly added, like before - Made small changes to test Needs: death now happens through conscious state; blood need has trigger to make fainting happen if blood level is low - CombatComponentManager's Update() is now actually executed. I must've forgotten to add it before - Big refactor of ActorEntityManagement. Due to AActor Entity integration, the exact entity can be notified. I removed all the code which iterates over all actors as it is now unneeded. All Actor creation should now be done through ActorEntityManagement::CreateActorForEntity(). ActorEntities can now only have one callback, which is set during creation. At the moment, lifetime is managed via callback as well as the ability to check all Actor pointers to ensure it is a tracked actor. The latter option should be removed once the callback solution proves its robustness. I'm not going to do it right now because I want to work on other things - Made several changes to UnrealMovementComponent's actor management in order to prevent the segfault from happening. I added a debug display which is useful for seeing discrepancies in display/spawning at runtime. More work is needed on actor management. I'm noticing sometimes Actors should be right in front of player but are gone; they don't think they should exist either, which is perplexing
6 years ago
7 years ago
A Galavant front-end using Unreal Engine 4
This will be a really messy project doing various testing/experimentation.
AActor Entity integration, Actor Entity management, Fix segfault - Added an Entity field to AActor; this change needs to be applied to the UE4 code manually. The patch is in Source/UnrealEnginePatches/AActorEntityIntegration.patch - DPI scaling for the editor is now done explictly by GalavantUnrealMain; this is so I automatically have my desired DPI settings. This is a hack and will probably trip up anyone else who uses GalavantUnreal - Fixed segfault involving UnrealMovementComponent having dead Entities subscribed to it after Play In Editor has stopped and restarted. This occurred because I had transitioned to using static initialization to auto-register ComponentManagers, but for some reason (hotreloading or library separation) UnrealMovementComponent wasn't being added to the static ComponentManagers list. ComponentManagers are now explicitly added, like before - Made small changes to test Needs: death now happens through conscious state; blood need has trigger to make fainting happen if blood level is low - CombatComponentManager's Update() is now actually executed. I must've forgotten to add it before - Big refactor of ActorEntityManagement. Due to AActor Entity integration, the exact entity can be notified. I removed all the code which iterates over all actors as it is now unneeded. All Actor creation should now be done through ActorEntityManagement::CreateActorForEntity(). ActorEntities can now only have one callback, which is set during creation. At the moment, lifetime is managed via callback as well as the ability to check all Actor pointers to ensure it is a tracked actor. The latter option should be removed once the callback solution proves its robustness. I'm not going to do it right now because I want to work on other things - Made several changes to UnrealMovementComponent's actor management in order to prevent the segfault from happening. I added a debug display which is useful for seeing discrepancies in display/spawning at runtime. More work is needed on actor management. I'm noticing sometimes Actors should be right in front of player but are gone; they don't think they should exist either, which is perplexing
6 years ago
## Dependencies
This project depends on
1. [Galavant](https://github.com/makuto/galavant), which should be cloned into galavant-unreal/GalavantUnreal/ThirdParty/galavant (or use a symlink) (MIT License)
AActor Entity integration, Actor Entity management, Fix segfault - Added an Entity field to AActor; this change needs to be applied to the UE4 code manually. The patch is in Source/UnrealEnginePatches/AActorEntityIntegration.patch - DPI scaling for the editor is now done explictly by GalavantUnrealMain; this is so I automatically have my desired DPI settings. This is a hack and will probably trip up anyone else who uses GalavantUnreal - Fixed segfault involving UnrealMovementComponent having dead Entities subscribed to it after Play In Editor has stopped and restarted. This occurred because I had transitioned to using static initialization to auto-register ComponentManagers, but for some reason (hotreloading or library separation) UnrealMovementComponent wasn't being added to the static ComponentManagers list. ComponentManagers are now explicitly added, like before - Made small changes to test Needs: death now happens through conscious state; blood need has trigger to make fainting happen if blood level is low - CombatComponentManager's Update() is now actually executed. I must've forgotten to add it before - Big refactor of ActorEntityManagement. Due to AActor Entity integration, the exact entity can be notified. I removed all the code which iterates over all actors as it is now unneeded. All Actor creation should now be done through ActorEntityManagement::CreateActorForEntity(). ActorEntities can now only have one callback, which is set during creation. At the moment, lifetime is managed via callback as well as the ability to check all Actor pointers to ensure it is a tracked actor. The latter option should be removed once the callback solution proves its robustness. I'm not going to do it right now because I want to work on other things - Made several changes to UnrealMovementComponent's actor management in order to prevent the segfault from happening. I added a debug display which is useful for seeing discrepancies in display/spawning at runtime. More work is needed on actor management. I'm noticing sometimes Actors should be right in front of player but are gone; they don't think they should exist either, which is perplexing
6 years ago
2. [PolyVox](https://bitbucket.org/volumesoffun/polyvox), which should be cloned into galavant-unreal/GalavantUnreal/ThirdParty/polyvox (pseudo-public domain)
## Building
This section is WIP.
### Unreal Engine Code Modifications
Galavant requires some modifications to the UE4 code. These can be found in Source/UnrealEnginePatches and can be applied using git. (TODO: Make this process convenient)