Edit

kc3-lang/kubz/types.h

Branch :

  • types.h
  • /* kc3
     * Copyright 2022,2023,2024 kmx.io <contact@kmx.io>
     *
     * Permission is hereby granted to use this software granted the above
     * copyright notice and this permission paragraph are included in all
     * copies and substantial portions of this software.
     *
     * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
     * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
     * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
     * THIS SOFTWARE.
     */
    /** @file types.h
     *  @brief Module KC3.Window.SDL2.Kubz
     *
     *  Types for Kubz virtual world
     */
    #ifndef KUBZ_TYPES_H
    #define KUBZ_TYPES_H
    
    #include <libkc3/types.h>
    
    /* Basic types. */
    
    typedef f128 t_koord;
    
    /* Structs. */
    
    typedef struct kubz s_kubz;
    
    /* Enums. */
    
    typedef enum koord e_koord {
      KOORD_X0 = 0;
      KOORD_Y0 = 1;
      KOORD_Z0 = 2;
      KOORD_X1 = 3;
      KOORD_Y1 = 4;
      KOORD_Z1 = 5;
      KOORD_MAX = 6;
    };
    
    /* 1 */
    
    struct kub {
      s_kub  *kub[8];
      t_koord koord[KOORD_MAX];
    };
    
    struct kubz {
      s_kub       *kub[8];
      s_str        name;
      s_list      *menu;
      const s_sym *id;
    };
    
    #endif /* KUBZ_TYPES_H */