mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-09 16:05:07 +00:00
* DNA code now supports unique identity and features blocks of different size. * E Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> Co-authored-by: Gandalf <jzo123@hotmail.com>
19 lines
1014 B
Plaintext
19 lines
1014 B
Plaintext
//////////////////////////////////////////////////////////
|
|
//A bunch of helpers to make genetics less of a headache//
|
|
//////////////////////////////////////////////////////////
|
|
|
|
#define GET_INITIALIZED_MUTATION(A) GLOB.all_mutations[A]
|
|
#define GET_GENE_STRING(A, B) (B.mutation_index[A])
|
|
#define GET_SEQUENCE(A) (GLOB.full_sequences[A])
|
|
#define GET_MUTATION_TYPE_FROM_ALIAS(A) (GLOB.alias_mutations[A])
|
|
|
|
#define GET_MUTATION_STABILIZER(A) ((A.stabilizer_coeff < 0) ? 1 : A.stabilizer_coeff)
|
|
#define GET_MUTATION_SYNCHRONIZER(A) ((A.synchronizer_coeff < 0) ? 1 : A.synchronizer_coeff)
|
|
#define GET_MUTATION_POWER(A) ((A.power_coeff < 0) ? 1 : A.power_coeff)
|
|
#define GET_MUTATION_ENERGY(A) ((A.energy_coeff < 0) ? 1 : A.energy_coeff)
|
|
|
|
///Getter macro used to get the length of a identity block
|
|
#define GET_UI_BLOCK_LEN(blocknum) (GLOB.identity_block_lengths["[blocknum]"] || DNA_BLOCK_SIZE)
|
|
///Ditto, but for a feature.
|
|
#define GET_UF_BLOCK_LEN(blocknum) (GLOB.features_block_lengths["[blocknum]"] || DNA_BLOCK_SIZE)
|