(Typically, bedrooms are located on the partially submerged level, and the water reduces heating and cooling loads on the house.) As a refinement, automatic air-water balancing tanks help keep the house level when the residents invite more than a few friends to a party.Ī buoyant foundation can also be used to build amphibious architecture on flood-prone land.
The hull is submerged the depth of half a story and secured to telescoping piles at diagonally opposite corners, allowing the house to rise and fall with the water but not wander about.
#Floating foundation ark free
Formed in a single pour to eliminate joints, and emphatically free of cracks, a prefabricated concrete tub-or hull-is designed to displace a volume of water with a weight equivalent to the weight of the house. Houseboats, for example, have been around for centuries, and the floating houses that make up a neighborhood in Ijburg, under development in Amsterdam’s Lake Ijssel, are “really just better houseboats,” says Olthuis, “built to the same standards as a house on land, using the same methods and materials.”įor all their similarities to houses on terra firma, however, the float houses Olthuis has designed for Ijburg differ in a crucial aspect: their buoyant “foundations,” or lower levels. Each of the projects considered here uses tried-and-true technology adapted from marine applications to achieve its unusual results, whether it’s a floating house, an island, a church, or a plaza. The technology of floating architecture isn’t new. “Floating developments can be part of the solution.” “Whether it’s New York or London, Bangkok or Dhaka, all these cities are growing, all these cities are next to the water, and all are threatened by the water,” says Koen Olthuis, founding principal of Netherlands-based Waterstudio. So what are the options for staying put and living with water rather than moving away from it? They range from keeping water out-with barriers, stilts, and raised ground planes-to letting water in, with ground floors designed for periodic inundation, to, ultimately, rising above it all, with floating architecture. Removing the hook (useful for plugin unloading):ĪrkApi::GetHooks().DisableHook(" APrimalCharacter.The floating houses designed by Waterstudio, which make up a neighborhood on Amsterdam’s Lake Ijssel, have “foundations” formed in a single pour to eliminate joints. Setting the hook (notice in the TakeDamage function we want to hook ("APrimalCharacter.TakeDamage")) you need this as the first argument for below and the second argument is your custom function:ĪrkApi::GetHooks().SetHook(" APrimalCharacter.TakeDamage", &Hook_APrimalCharacter_TakeDamage, &APrimalCharacter_TakeDamage_original) Notice we use the Argument 0 of our DECLARE_HOOK in the function name: Hook_ APrimalCharacter_TakeDamage Return APrimalCharacter_TakeDamage_original(_this, Damage, DamageEvent, EventInstigator, DamageCauser) So notice here ^^ float Damage so thats a float then, FDamageEvent*, then AController*, then AActor* ^^ all arguments from up thereĪdding the function to jump to from the original ark function:įloat _cdecl Hook_ APrimalCharacter_TakeDamage( APrimalCharacter* _this, float Damage, FDamageEvent* DamageEvent, AController* EventInstigator If you look " APrimalCharacter.TakeDamage", so you know it will be APrimalCharacter* (you could also scroll up to the top of the struct to see it)Īrgument 3-6: these are the arguments that are in TakeDamage Function, TakeDamage(float Damage, FDamageEvent * DamageEvent, AController * EventInstigator, AActor * DamageCauser) You will find this float TakeDamage( float Damage, FDamageEvent * DamageEvent, AController * EventInstigator, AActor * DamageCauser) In Actor.h you notice this structure is called APrimalCharacter and you want to hook damage function so ctrl + f search: APrimalCharacter.TakeDamage
#Floating foundation ark code
You can search the source code of arkserverapi a hook works by making a jump from the original function to your function in your dll and then back again this is done using asm jmp's ect, its known as trampoline hook, thus meaning you can alter weather it calls back to the original function or do your own actions in that function and you can alter / read the arguments.