MCPcopy Create free account
hub / github.com/ClassiCube/ClassiCube / BlockDefs_DefineBlockCommonStart

Function BlockDefs_DefineBlockCommonStart

src/Protocol.c:1851–1895  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1849}
1850
1851static BlockID BlockDefs_DefineBlockCommonStart(cc_uint8** ptr, cc_bool uniqueSideTexs) {
1852 cc_string name;
1853 BlockID block;
1854 cc_bool oldBlocksLight;
1855 cc_uint8 oldBrightness;
1856 float speedLog2;
1857 cc_uint8 sound;
1858 cc_uint8* data = *ptr;
1859
1860 ReadBlock(data, block);
1861 oldBlocksLight = Blocks.BlocksLight[block];
1862 oldBrightness = Blocks.Brightness[block];
1863 Block_ResetProps(block);
1864
1865 name = UNSAFE_GetString(data); data += STRING_SIZE;
1866 Block_SetName(block, &name);
1867 Blocks.Collide[block] = *data++;
1868
1869 speedLog2 = (*data++ - 128) / 64.0f;
1870 Blocks.SpeedMultiplier[block] = (float)Math_Exp2(speedLog2);
1871
1872 Block_Tex(block, FACE_YMAX) = BlockDefs_Tex(&data);
1873 if (uniqueSideTexs) {
1874 Block_Tex(block, FACE_XMIN) = BlockDefs_Tex(&data);
1875 Block_Tex(block, FACE_XMAX) = BlockDefs_Tex(&data);
1876 Block_Tex(block, FACE_ZMIN) = BlockDefs_Tex(&data);
1877 Block_Tex(block, FACE_ZMAX) = BlockDefs_Tex(&data);
1878 } else {
1879 Block_SetSide(BlockDefs_Tex(&data), block);
1880 }
1881 Block_Tex(block, FACE_YMIN) = BlockDefs_Tex(&data);
1882
1883 Blocks.BlocksLight[block] = *data++ == 0;
1884 BlockDefs_OnBlocksLightPropertyUpdated(block, oldBlocksLight);
1885
1886 sound = *data++;
1887 Blocks.StepSounds[block] = sound;
1888 Blocks.DigSounds[block] = sound;
1889 if (sound == SOUND_GLASS) Blocks.StepSounds[block] = SOUND_STONE;
1890
1891 Blocks.Brightness[block] = Block_ReadBrightness(*data++);
1892 BlockDefs_OnBrightnessPropertyUpdated(block, oldBrightness);
1893 *ptr = data;
1894 return block;
1895}
1896
1897static void BlockDefs_DefineBlockCommonEnd(cc_uint8* data, cc_uint8 shape, BlockID block) {
1898 cc_uint8 draw = data[0];

Callers 2

BlockDefs_DefineBlockFunction · 0.85
BlockDefs_DefineBlockExtFunction · 0.85

Calls 9

Block_ResetPropsFunction · 0.85
UNSAFE_GetStringFunction · 0.85
Block_SetNameFunction · 0.85
Math_Exp2Function · 0.85
BlockDefs_TexFunction · 0.85
Block_SetSideFunction · 0.85
Block_ReadBrightnessFunction · 0.85

Tested by

no test coverage detected