Documentation: Biome
Jump to navigation
Jump to search
Name | Type | Initial Value | Example Range | Description |
---|---|---|---|---|
Members | ||||
name | std::string | the name that is exposed to lua functions that spawn entities | ||
background_image | std::string | path to the image file (texture) that is used for the background | ||
background_edge_left | std::string | if not empty, will use this image as the left edge | ||
background_edge_right | std::string | if not empty, will use this image as the right edge | ||
background_edge_top | std::string | if not empty, will use this image as the top edge | ||
background_edge_bottom | std::string | if not empty, will use this image as the bottom edge | ||
background_edge_priority | int | 0 | if both biomes have edges defined, will use the one with higher priority (if priority is same, will compare (>) background_images) | |
background_use_neighbor | bool | false | if set will look for neighboring biomes and use their background image | |
background_image_height | float | 225 | height were the background image starts | |
limit_background_image | bool | true | Will limit the background image to start at the cave height | |
bitmap_noise_file | std::string | if set, loads it to mBitmapNoise | ||
noise_biome_edges | bool | true | does the noisy edge for biomes, if either of biomes has this set to 0 will do a straight edge | |
big_noise_biome_edges | bool | true | if true, will leak onto other biomes and not be carveable | |
fat_biome_edges | bool | false | if true, will leak onto other biomes and not be carveable | |
skip_edge_textures | bool | false | skips edge texture generation. Turn of for pixel scenes | |
audio_music_enter | std::string | the music event that plays when player enters this biome (e.g. 'music/desert/enter') | ||
audio_music_2 | std::string | the music directory that plays while player is in this biome (e.g 'coalmine') | ||
audio_music_energy_coeff | float | 1 | Multiplier for music energy in this biome | |
audio_music_no_forced_quietness | bool | false | If 1, music is not quieted by occasional quietness | |
audio_music_forced_quietness_duration_seconds | int32 | 0 | If > 0, this is the duration of occasional quietness, else the value from magic numbers is used. | |
audio_music_trigger_without_danger | bool | false | If 1, music is triggered in this biome no matter what the danger level is | |
audio_music_trigger_min_y | int32 | 0 | If not 0, player Y has to be larger than this for the music to start playing | |
audio_music_trigger_max_y | int32 | 0 | If not 0, player Y has to be smaller than this for the music to start playing | |
audio_biome_id_for_music | std::string | if set, this will be used to identify the biome in which this music plays, instead of Biome.name. can be used to get around some bugs with _EMPTY_ as name | ||
audio_ambience | std::string | cave | the ambience event that plays while player is in this biome | |
audio_ambience_surface | std::string | hills | the ambience event that plays while player is in this biome and on surface | |
color_grading_r | float | 1 | post fx color grading | |
color_grading_g | float | 1 | post fx color grading | |
color_grading_b | float | 1 | post fx color grading | |
color_grading_grayscale | float | 0 | post fx color grading. [0.0,1.0], larger value means more grayscale | |
has_rain | bool | true | if 1, rain or snowfall may occur in this biome | |
gradient_sky_alpha_target_mod | float | 0 | affects sky gradient. if larger than procedural value, will override it | |
rain_target_mod | float | 0 | affects clouds visibility. if larger than procedural value, will override it | |
fog_target_mod | float | 0 | affects fog amount. if larger than procedural value, will override it | |
sunset_alpha_target | float | 1 | affects sunset gradient amount | |
bitmap_filename | std::string | loads the chunk from this bitmap, the bitmap should be 512x512 | ||
wang_template_file | std::string | uses this file to create a herringbone wang map | ||
wang_map_width | int | 256 | [1, 512] | the size of the wang map |
wang_map_height | int | 256 | [1, 512] | the size of the wang map |
lua_script | std::string | default is data/scripts/biomes/NAME.lua | ||
pixel_scene | bool | false | for 'pixel scene' biomes, this forces the loading before hand | |
static_tile | bool | false | if 1, directly blits wang_template_file without wang randomization, kind of like a pixel scene but at the wang tile resolution | |
static_tile_bg_mask | std::string | if set, and static tile is 1, the background_image will use a special shader and this mask to calculate visiblity. should be same size and resolution as 'wang_template_file' | ||
static_tile_bg_mask_threshold | float | 0.5 | threshold used in 'sprite_static_tile_bg.frag' shader in conjuction with 'sprite_static_tile_bg_mask' to determine if a background pixel is visible or not | |
game_enemy_hp_scale | float | 1 | 1.f = default. Will multiply the hp of the camerabounded enemies in the area with hp_scale | |
game_enemy_attack_speed | float | 1 | 1.f = default. This multiplies AnimalAI's attack_ranged_frames_between in camerabounded enemies | |
mInsideNoiseFBM | bool | true | will fbm the mInsideNoise if set true | |
mInsidePerlinScaleX | double | 1 | [0, 2] | the noise inside the stones... |
mInsidePerlinScaleY | double | 1 | [0, 2] | the noise inside the stones... |
mInsidePerlinSquared | bool | false | ||
mInsidePerlinClamped | bool | false | ||
mInsidePerlinScaled | bool | false | ||
mInsidePerlinScaleMin | float | 0 | [-2, 2] | |
mInsidePerlinScaleMax | float | 0 | [-2, 2] | |
mInsidePerlinForceInside | bool | false | if set, will multiply the noise_value with the gradient value | |
mInsidePerlinOffsetBySeed | bool | false | NOTE( Petri ): 17.8.2023 - if set, will add worldseed as an offset to the noise | |
mInsidePerlinOffsetX | double | 0 | NOTE( Petri ): 17.8.2023 - perlin noise offset | |
mInsidePerlinOffsetY | double | 0 | NOTE( Petri ): 17.8.2023 - perlin noise offset | |
mInsideAddValue | float | 0 | [0, 5] | added inside the caves the gradient value |
mMultiplierGradient | float | 1 | how much of the gradient is applied | |
mMultiplierPerlin | float | 1 | how much of the inside noise | |
mMultiplierExtraPerlin | float | 1 | ||
mGradientStartY | float | -512 | [-1024, 1024] | |
mGradientEndY | float | 512 | [-1024, 1024] | |
mGradientSlopeStartX | double | 0 | [-1024, 1024] | if addNoise = 3, will use this to the ( x - mGradientSlopeStartX ) * mGradientSlopeDelta |
mGradientSlopeDelta | double | 1 | [-1024, 1024] | if addNoise = 3, will use this to the ( x - mGradientSlopeStartX ) * mGradientSlopeDelta |
mGradientAddNoise | int | 1 | fake enum 1=standard noise, 2=fbm noise, 3=slope | |
mGradientNoiseScale | double | 0.01 | [0, 0.01] | |
mGradientLowNoise | float | -100 | [-1024, 1024] | |
mGradientHighNoise | float | 100 | [-1024, 1024] | |
coarse_map_force_terrain | bool | false | if 1, is initially marked as 'terrain' in the coarse map used for sky light calculations etc | |
coarse_map_not_terrain | bool | false | if 1, is initially never marked as 'terrain' in the coarse map used for sky light calculations etc | |
coarse_map_cell_count_always_zero | bool | false | if 1, areas in this biome always have a 64x64 cell count of 0 | |
coarse_map_inject_light | bool | false | if 1, areas in this biome set the sky light propagation value to 1 | |
Objects | ||||
modifiers | BiomeModifiers | |||
Custom data types | ||||
type | BIOME_TYPE::Enum | BIOME_PROCEDURAL | 0 = standard, 1 = bitmap level loading, loads the bitmap file | |
BitmapCaves | CavesSetup* | |||
fog_of_war_type | FOG_OF_WAR_TYPE::Enum | DEFAULT | the way removing fog of war works in this biome | |
RandomMaterials | RandomizeMaterials* | for wang tiles allows color -> random color transform | ||
noise_type | NOISE_TYPE::Enum | IQ2_SIMPLEX1234 | the style of the cave noise | |
mInsideNoiseType | GENERAL_NOISE::Enum | SimplexNoise | the style of the inside noise | |
Privates | ||||
bitmap_data | const ceng::CArray2D<uint32>* | for bitmap loading, well cache it here | ||
mBitmapNoise | BitmapNoise* | load the bitmap noise here | ||
mBiomeMaterials | BiomeMaterials* | this is set when the biome is loaded by BiomeHelper | ||
mModifierUIDescription | std::string | this should be set when the biome has modifiers. will be displayed when entering the biome | ||
mModifierUIDecorationFile | std::string | this should be set when the biome has modifiers. UI 3-piece image to use when displaying modifier message when entering the biome | ||
mDebugFilename | std::string | the file this was loaded from |