#ifndef __OTHER_H__
#define __OTHER_H__

/* these structures don't have a simple equivalent from the server */

#define Object_type_336 Idontknow
#define Object_type_336_ca Idontknow_ca

/* Structure definition */
struct Idontknow {
	u_short    ef_type;
	u_char     fld_owner           ; /* 2 */
	short      fld_uid             ; /* 3 */
	short      fld_xloc            ; /* 3 */
	short      fld_yloc            ; /* 3 */
	u_char     fld_type            ; /* 2 */
	u_char     fld_effic           ; /* 2 */
	char *     fld_mobil           ; /* 1 */
	short      fld_sell            ; /* 3 */
	short      fld_tech            ; /* 3 */
	char *     fld_group           ; /* 1 */
	short      fld_opx             ; /* 3 */
	short      fld_opy             ; /* 3 */
	short      fld_mission         ; /* 3 */
	u_short    fld_civil           ; /* 4 */
	u_short    fld_milit           ; /* 4 */
	u_short    fld_shell           ; /* 4 */
	u_short    fld_gun             ; /* 4 */
	u_short    fld_petrol          ; /* 4 */
	u_short    fld_iron            ; /* 4 */
	u_short    fld_dust            ; /* 4 */
	u_short    fld_bar             ; /* 4 */
	u_short    fld_food            ; /* 4 */
	u_short    fld_oil             ; /* 4 */
	u_short    fld_lcm             ; /* 4 */
	u_short    fld_hcm             ; /* 4 */
	u_short    fld_uw              ; /* 4 */
	u_short    fld_rad             ; /* 4 */
};

/* Structure definition */
#define Object_type_207 gameinfo
#define Object_type_207_ca gameinfo_ca

struct gameinfo {
	u_short     ef_type;
	int        fld_MAXNOC          ; /* 5 */
	int        fld_WORLD_X         ; /* 5 */
	int        fld_WORLD_Y         ; /* 5 */
	char *     fld_data            ; /* 1 */
	char *     fld_info            ; /* 1 */
	char *     fld_port            ; /* 1 */
	char *     fld_privname        ; /* 1 */
	char *     fld_privlog         ; /* 1 */
	float      fld_btu_build_rate  ; /* 7 */
	float      fld_easy_tech       ; /* 7 */
	float      fld_hard_tech       ; /* 7 */
	float      fld_start_tech      ; /* 7 */
	float      fld_start_happy     ; /* 7 */
	float      fld_start_research  ; /* 7 */
	float      fld_start_edu       ; /* 7 */
	float      fld_land_mob_scale  ; /* 7 */
	float      fld_level_age_rate  ; /* 7 */
	float      fld_plane_mob_scale ; /* 7 */
	float      fld_sect_mob_scale  ; /* 7 */
	float      fld_ship_mob_scale  ; /* 7 */
	float      fld_tech_log_base   ; /* 7 */
	float      fld_ally_factor     ; /* 7 */
	float      fld_edu_avg         ; /* 7 */
	float      fld_hap_avg         ; /* 7 */
	int        fld_startmob        ; /* 5 */
	int        fld_at_least_one_100; /* 5 */
	int        fld_buil_bh         ; /* 5 */
	int        fld_etu_per_update  ; /* 5 */
	int        fld_land_grow_scale ; /* 5 */
	int        fld_land_mob_max    ; /* 5 */
	int        fld_m_m_p_d         ; /* 5 */
	int        fld_max_btus        ; /* 5 */
	int        fld_max_idle        ; /* 5 */
	int        fld_plane_grow_scale; /* 5 */
	int        fld_plane_mob_max   ; /* 5 */
	int        fld_players_at_00   ; /* 5 */
	int        fld_sect_mob_max    ; /* 5 */
	int        fld_ship_grow_scale ; /* 5 */
	int        fld_ship_mob_max    ; /* 5 */
	int        fld_torpedo_damage  ; /* 5 */
	int        fld_fort_max_interdiction_range; /* 5 */
	int        fld_land_max_interdiction_range; /* 5 */
	int        fld_ship_max_interdiction_range; /* 5 */
	double     fld_buytax          ; /* 8 */
	double     fld_flakscale       ; /* 8 */
	double     fld_maxmult         ; /* 8 */
	double     fld_minmult         ; /* 8 */
	double     fld_tradetax        ; /* 8 */
	double     fld_uwbrate         ; /* 8 */
	double     fld_buil_bc         ; /* 8 */
	double     fld_buil_bt         ; /* 8 */
	double     fld_combat_mob      ; /* 8 */
	double     fld_edu_cons        ; /* 8 */
	double     fld_hap_cons        ; /* 8 */
	double     fld_money_civ       ; /* 8 */
	double     fld_money_land      ; /* 8 */
	double     fld_money_mil       ; /* 8 */
	double     fld_money_plane     ; /* 8 */
	double     fld_money_res       ; /* 8 */
	double     fld_money_ship      ; /* 8 */
	double     fld_money_uw        ; /* 8 */
	double     fld_people_damage   ; /* 8 */
	double     fld_powe_cost       ; /* 8 */
	double     fld_unit_damage     ; /* 8 */
	double     fld_collateral_dam  ; /* 8 */
	double     fld_assault_penalty ; /* 8 */
	double     fld_babyeat         ; /* 8 */
	double     fld_bankint         ; /* 8 */
	double     fld_eatrate         ; /* 8 */
	double     fld_fcrate          ; /* 8 */
	double     fld_fgrate          ; /* 8 */
	double     fld_obrate          ; /* 8 */
	double     fld_mission_mob_cost; /* 8 */
};

/* Structure definition */
#define Object_type_332 bmapstr
#define Object_type_332_ca bmapstr_ca

struct bmapstr {
	u_short    ef_type;
	short      fld_leftx           ; /* 3 */
	short      fld_rightx          ; /* 3 */
	short      fld_y               ; /* 3 */
	char *     fld_row             ; /* 1 */
};

#define Object_type_331 cmapstr
#define Object_type_331_ca cmapstr_ca

/* Structure definition */
struct cmapstr {
	u_short    ef_type;
	short      fld_x               ; /* 3 */
	short      fld_y               ; /* 3 */
	char *     fld_des             ; /* 1 */
};

#define Object_type_329 country
#define Object_type_329_ca country_ca

/* Structure definition */
struct country {
	u_short    ef_type;
	u_char     fld_cnum            ; /* 2 */
	char *     fld_cnam            ; /* 1 */
	short      fld_xstart          ; /* 3 */
	short      fld_ystart          ; /* 3 */
	short      fld_xcap            ; /* 3 */
	short      fld_ycap            ; /* 3 */
	u_short    fld_tgms            ; /* 4 */
	u_short    fld_ann             ; /* 4 */
	u_short    fld_minused         ; /* 4 */
	short      fld_btu             ; /* 3 */
	long       fld_reserve         ; /* 6 */
	long       fld_money           ; /* 6 */
	float      fld_level           ; /* 7 */
};

#endif
