예제 #1
0
파일: param.c 프로젝트: Someone101/aleph
// pickle / unpickle
u8* param_pickle(pnode_t* pnode, u8* dst) {
  u32 val;
  /// wasting some space to preserve 4-byte alignment
  // store idx


  //// TEST: don't
  //dst = pickle_32((u32)pnode->idx, dst);
  //// TEST: keep as dummy for compatibility
  dst = pickle_32(0, dst);
  ////


  // print_dbg("\r\n pickling param node, value: 0x");
  // print_dbg_hex(pnode->data.value.asUint);

  // store value
  val = (u32)(pnode->data.value);
  dst = pickle_32(val, dst);

  // store play-inclusion 
  dst = pickle_32((u32)(pnode->play), dst);

  // store descriptor
  dst = pdesc_pickle(&(pnode->desc), dst);
  return dst;
}
예제 #2
0
파일: param.c 프로젝트: doomglue/aleph
// pickle / unpickle
u8* param_pickle(pnode_t* pnode, u8* dst) {
  u32 val;
  /// wasting some space to preserve 4-byte alignment
  // store idx
  dst = pickle_32((u32)pnode->idx, dst);

  // print_dbg("\r\n pickling param node, value: 0x");
  // print_dbg_hex(pnode->data.value.asUint);

  // store value
  val = (u32)(pnode->data.value);
  dst = pickle_32(val, dst);

  // store preset-inclusion 
  //  dst = pickle_32((u32)(pnode->preset), dst);

  // store descriptor
  dst = pdesc_pickle(&(pnode->desc), dst);
  return dst;
}
예제 #3
0
파일: desc.c 프로젝트: bbnickell/aleph
//---- main function
int main() {
  FILE* out;
  int i, j;
  // write pointer
  u8* pwr;

  //  data.paramDesc = desc;
  strcat(str, NAME);
  strcat(str, ".dsc");

  fill_param_desc(desc);
  printf("\r\n %s_desc_build ... ", NAME);
  printf("\r\n filled param descripor table... \r\n");
  
  out = fopen(str, "w");

  pwr = buf;

  // pack the count of parameters
  pwr = pickle_32(eParamNumParams, pwr);

  // serialize the descriptors
  for(i=0; i<eParamNumParams; i++) {
    pwr = pdesc_pickle(&(desc[i]), pwr);
  }

  // write to file
  fwrite(buf, 1, (size_t)((size_t)pwr - (size_t)&buf), out);

  printf("\r\n wrote %d bytes... \r\n", (int) ((size_t)pwr - (size_t)&buf));
  
  fclose(out);
  printf("\r\n done. \r\n");
  

  return 0;
}