#! make -f
#----------------------------------------------------------------------------
# Project:  n`֘Af[^->oCi[>A[JCu
# File:     Makefile
#
# Copyright 2005 GameFreak.inc  All rights reserved.
#
#----------------------------------------------------------------------------
DP_ROOT	=	../../..

SUBDIRS		=

LAND_LIST	= land_list
TARGET_ARC	= land_data.narc
XLS_DATA	= map_list.xls
FLDCSV		= field_list.csv
ROOMCSV		= room_list.csv
DUNCSV		= dungeon_list.csv
UNDERCSV	= under_list.csv

OLD_XLS_DATA	= old_map_list.xls
OLD_FLDCSV		= old_field_list.csv
OLD_ROOMCSV		= old_room_list.csv
OLD_DUNCSV		= old_dungeon_list.csv
OLD_UNDERCSV	= old_under_list.csv

DATABIN		= ../../data/
DATASRC		= $(DATABIN)rsc
FLDMAPDATADIR	= $(DATABIN)fld_map_data
NSBMTFILESDIR	= land_nsbmt/
ROOT_DIR = ../../../../pokemon_dp

MAPMATRIX_DIR = ../mapmatrix

ATTRIBUTE_DATA	= $(FLDMAPDATADIR)/*a.dat
MODEL_POS_DATA	= $(FLDMAPDATADIR)/*e.dat
HEIGHT_DATA	= $(FLDMAPDATADIR)/*c.bhc

DATAMAPDMY		= dmyfiles/
DATAMAPSRC		= $(DATASRC)/
DATAMAPFLST		= mkmapdmy.txt

#ʕϐ`
include $(DP_ROOT)/commondefs.GF
include	$(NITROSYSTEM_ROOT)/build/buildtools/modulerules

include land_model_list

#----------------------------------------------------------------------------
#
#----------------------------------------------------------------------------
#A[JCut@Cmake cleanΏۂɐݒ
LDIRT_CLEAN	= $(LAND_LIST) $(TARGET_ARC) $(TARGET_ARC:.narc=.naix) bin/*.bin land_nsbmt/*.nsbmt

LINCLUDES		= $(NITROSDK_ROOT)/include
LINCLUDES		+= $(DP_ROOT)/src/field

LINCLUDES	+= $(dir $<)

#----------------------------------------------------------------------------
#	c[ւ̃pXw
#----------------------------------------------------------------------------
G3DCVTR	= $(NITROSYSTEM_ROOT)/tools/win/bin/g3dcvtr.exe
CSVCVTR	= $(DP_ROOT)/convert/exceltool/ExcelSeetConv.exe
MK_GROUNDTOOL = mkmapdmy.rb
CVS_GROUNDTOOL = cvs_maplist.rb

%.nsbmt: $(@:.nsbmt=.imd) $(subst $(DATASRC)/,$(NSBMTFILESDIR),$@)
	$(G3DCVTR) $(@:.nsbmt=.imd) -o $(subst $(DATASRC)/,$(NSBMTFILESDIR),$(@:.nsbmt=.nsbmd)) -emdl
	mv $(subst $(DATASRC)/,$(NSBMTFILESDIR),$(@:.nsbmt=.nsbmd)) $(subst $(DATASRC)/,$(NSBMTFILESDIR),$@)

#----------------------------------------------------------------------------
#
#	[`
#
#----------------------------------------------------------------------------
do-build: $(LAND_LIST) $(TARGET_ARC)
$(LAND_LIST): $(XLS_DATA)
	$(MAKE) csvconvert			#map_list.xlscsvRo[g
	$(MAKE) mklst				#Xg쐬
	
$(TARGET_ARC): $(G3D_IMD) $(XLS_DATA) $(ATTRIBUTE_DATA) $(MODEL_POS_DATA) $(HEIGHT_DATA)
	$(MAKE) imdconv				#IMD TO NSBMT
	$(MAKE) datacat				#f[^
	$(MAKE) makearc				#A[JCu
#	$(MAKE) -C $(MAPMATRIX_DIR)		#}bv}gNX쐬

#^[Qbgxlscsvt@Cɕϊ
csvconvert:
	$(CSVCVTR) -o $(FLDCSV) -p 1 -s csv $(XLS_DATA)
	$(CSVCVTR) -o $(ROOMCSV) -p 2 -s csv $(XLS_DATA)
	$(CSVCVTR) -o $(DUNCSV) -p 3 -s csv $(XLS_DATA)
	$(CSVCVTR) -o $(UNDERCSV) -p 4 -s csv $(XLS_DATA)

#OLD^[Qbgxlscsvt@Cɕϊ
csvconvert_old:
	$(CSVCVTR) -o $(OLD_FLDCSV) -p 1 -s csv $(OLD_XLS_DATA)
	$(CSVCVTR) -o $(OLD_ROOMCSV) -p 2 -s csv $(OLD_XLS_DATA)
	$(CSVCVTR) -o $(OLD_DUNCSV) -p 3 -s csv $(OLD_XLS_DATA)
	$(CSVCVTR) -o $(OLD_UNDERCSV) -p 4 -s csv $(OLD_XLS_DATA)

#Xg쐬
mklst:
	ruby land_list.rb $(FLDCSV) $(ROOMCSV) $(DUNCSV) $(UNDERCSV)

#IMDMSBNTɕϊ
imdconv: $(G3D_IMD:.imd=.nsbmt)

#f[^
datacat:
	ruby land_file_cat.rb
	-rm tmp/*.tmp

#A[JCu쐬
makearc:
	nnsarc -i -c -l -n $(TARGET_ARC) -S land_arc_list > arc_result.txt
	touch ../../system/builddate.c

#----------------------------------------------------------------------------
#----------------------------------------------------------------------------

#echo $(foreach types,$(FILETYPES),$(wildcard *$(types)*))

#----------------------------------------------------------------------------
# 	n`֘Af[^_~[쐬R}h	
#----------------------------------------------------------------------------
ground:
	$(MAKE) csvconvert			#map_list.xlscsvRo[g
	$(MAKE) csvconvert_old:		#Âold_map_list.xlscsvRo[g
	$(MAKE) grd_all
grd_all:
	ruby $(MK_GROUNDTOOL) $(DATAMAPDMY) $(FLDMAPDATADIR)/ $(DATAMAPSRC) $(DATAMAPFLST)

grd_cvs:
	$(RM) AddMapListLog.txt DelMapListLog.txt
	ruby $(CVS_GROUNDTOOL) $(DATAMAPFLST) $(FLDMAPDATADIR)/ $(DATAMAPSRC) "cvs_log.txt" 0 

grd_cvs_add:
	$(RM) AddMapListLog.txt DelMapListLog.txt
	ruby $(CVS_GROUNDTOOL) $(DATAMAPFLST) $(FLDMAPDATADIR)/ $(DATAMAPSRC) "cvs_log.txt" 1

grd_cvs_del:
	$(RM) AddMapListLog.txt DelMapListLog.txt
	ruby $(CVS_GROUNDTOOL) $(DATAMAPFLST) $(FLDMAPDATADIR)/ $(DATAMAPSRC) "cvs_log.txt" 2
