lurf/area/
lurf/build/testing/
lurf/log/
lurf/player/
lurf/player/backup/
#include <glib.h>

#include <sys/types.h>
#include <time.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>

#include <merc.h>
#include <memory.h>

GMemChunk *obj_mem_chunk;
GMemChunk *char_data_mem_chunk;
GMemChunk *descriptor_mem_chunk;
GMemChunk *affect_mem_chunk;
GMemChunk *sphere_mem_chunk;
GMemChunk *extra_desc_mem_chunk;
GMemChunk *pcdata_mem_chunk;
GMemChunk *MobID_mem_chunk;
GMemChunk *ObjID_mem_chunk;
GMemChunk *RoomID_mem_chunk;
GMemChunk *AreaID_mem_chunk;
GMemChunk *HelpID_mem_chunk;

GMemChunk *ban_mem_chunk;
GMemChunk *known_mem_chunk;
GMemChunk *mobmem_mem_chunk;
GMemChunk *mprog_mem_chunk;
GMemChunk *note_mem_chunk;
GMemChunk *reset_mem_chunk;
GMemChunk *exit_mem_chunk;
GMemChunk *extradata_mem_chunk;
GMemChunk *shop_mem_chunk;
GMemChunk *roomtext_mem_chunk;
GMemChunk *pmprog_mem_chunk;
GStringChunk *LurfStringChunk;



MUD_SETTING *mudsetting;

void init_memory_chunck()
{
	obj_mem_chunk = g_mem_chunk_create (OBJ_DATA, 2024, G_ALLOC_AND_FREE);
	char_data_mem_chunk = g_mem_chunk_create (CHAR_DATA, 2024, G_ALLOC_AND_FREE);
	descriptor_mem_chunk = g_mem_chunk_create (DESCRIPTOR_DATA, 2024, G_ALLOC_AND_FREE);
	affect_mem_chunk = g_mem_chunk_create (AFFECT_DATA, 2024, G_ALLOC_AND_FREE);
	sphere_mem_chunk = g_mem_chunk_create (SPHERE_DATA, 2024, G_ALLOC_AND_FREE);
	extra_desc_mem_chunk = g_mem_chunk_create (EXTRA_DESCR_DATA, 2024, G_ALLOC_AND_FREE);
	pcdata_mem_chunk = g_mem_chunk_create (PC_DATA, 1024, G_ALLOC_AND_FREE);

	ban_mem_chunk = g_mem_chunk_create (BAN_DATA, 1024, G_ALLOC_AND_FREE);
	known_mem_chunk = g_mem_chunk_create (KNOWN_DATA, 1024, G_ALLOC_AND_FREE);
	mobmem_mem_chunk = g_mem_chunk_create (MEM_DATA, 1024, G_ALLOC_AND_FREE);
	mprog_mem_chunk = g_mem_chunk_create (MPROG_LIST, 1024, G_ALLOC_AND_FREE);
	note_mem_chunk = g_mem_chunk_create (NOTE_DATA, 1024, G_ALLOC_AND_FREE);
	reset_mem_chunk = g_mem_chunk_create (RESET_DATA, 1024, G_ALLOC_AND_FREE);
	exit_mem_chunk = g_mem_chunk_create (EXIT_DATA, 1024, G_ALLOC_AND_FREE);
	extradata_mem_chunk = g_mem_chunk_create (EXTRA_DESCR_DATA, 1024, G_ALLOC_AND_FREE);
	shop_mem_chunk = g_mem_chunk_create (SHOP_DATA, 1024, G_ALLOC_AND_FREE);
	roomtext_mem_chunk = g_mem_chunk_create (ROOMTEXT_DATA, 1024, G_ALLOC_AND_FREE);
	pmprog_mem_chunk = g_mem_chunk_create (MPROG_CODE, 1024, G_ALLOC_AND_FREE);

	MobID_mem_chunk = g_mem_chunk_create (MOB_INDEX_DATA, 1024, G_ALLOC_AND_FREE);
	ObjID_mem_chunk = g_mem_chunk_create (OBJ_INDEX_DATA, 1024, G_ALLOC_AND_FREE);
	RoomID_mem_chunk = g_mem_chunk_create (ROOM_INDEX_DATA, 1024, G_ALLOC_AND_FREE);
	AreaID_mem_chunk = g_mem_chunk_create (AREA_DATA, 1024, G_ALLOC_AND_FREE);
	HelpID_mem_chunk = g_mem_chunk_create (HELP_DATA, 1024, G_ALLOC_AND_FREE);

	//Init Global Shared Strings
	LurfStringChunk = g_string_chunk_new(1024);

	//Global Mud Settings
	mudsetting = g_new0(MUD_SETTING,1);
	
}

void destroy_memory_chunck()
{
	g_mem_chunk_destroy (obj_mem_chunk);
	g_mem_chunk_destroy (char_data_mem_chunk);
	g_mem_chunk_destroy (descriptor_mem_chunk);
	g_mem_chunk_destroy (affect_mem_chunk);
	g_mem_chunk_destroy (sphere_mem_chunk);	
	g_mem_chunk_destroy (extra_desc_mem_chunk);	
	g_mem_chunk_destroy (pcdata_mem_chunk);
	
	g_mem_chunk_destroy (MobID_mem_chunk);
	g_mem_chunk_destroy (ObjID_mem_chunk);
	g_mem_chunk_destroy (RoomID_mem_chunk);
	g_mem_chunk_destroy (AreaID_mem_chunk);
	g_mem_chunk_destroy (HelpID_mem_chunk);
	g_string_chunk_free (LurfStringChunk);
		
}

void boot_fail(char* module_name)
{
    logf( "*********************  Shutdown by %-11s *********************", module_name );
	exit( EXIT_FAILURE );
}