Skip to content

Commit

Permalink
Add Clonk Rage developer documentation
Browse files Browse the repository at this point in the history
committer: Günther Brammer <gbrammer@gmx.de>

--HG--
extra : transplant_source : %93%BEO%0C%A27Sj%B2%1C%B8%19%ED%C1%DE%04Pm%EC%C7
  • Loading branch information
Günther Brammer committed May 9, 2009
0 parents commit 2b2a62c
Show file tree
Hide file tree
Showing 589 changed files with 45,001 additions and 0 deletions.
128 changes: 128 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
# Notable targets:
# all (default): German and English onlinedocs
# online-de: only German onlinedocs, which can be partially updated
# Enwickler.chm: the German offline doc
# use with make Entwickler.chm HHC = /path/to/hhc

# Extra Parameters for xsltproc can be given in the XSLTFLAGS variable.
# Use prefix to select the directory where the docs are to be installed

prefix = /tmp
HHC = hhc.exe
MKDIR_P = mkdir -p
CP = cp
CP_R = cp -r

stylesheet = clonk.xsl

# Sources:

# find all directories neither beginning nor contained within a directory beginning with a dot
sdk-dirs := $(shell find sdk -name '.*' -prune -o -type d -print)

# misc
extra-files := $(sort $(wildcard *.css *.php *.js images/*.*) index.html)
extra-files-chm := $(sort $(wildcard *.css *.js images/*.*))

# find all *.xml files recursively in sdk/
xmlfiles := $(sort $(shell find sdk -name '.*' -prune -o -name \*.xml -print))

# Targets:

# strip from all files the .xml, and add a .html
htmlfiles := $(addsuffix .html, $(basename $(xmlfiles)))

# The translated files and directories
sdk-dirs-en := $(subst sdk, sdk-en, $(sdk-dirs))
xmlfiles-en := $(subst sdk, sdk-en, $(xmlfiles))
htmlfiles-en := $(subst sdk, sdk-en, $(htmlfiles))

# For clonk.de
online-sdk-files := $(foreach lang, en de, $(addprefix online/$(lang)/, $(htmlfiles) content.html))
online-dirs := $(foreach lang, en de, $(addprefix online/$(lang)/, $(sdk-dirs) images))
online-extra-files := $(foreach lang, en de, $(addprefix online/$(lang)/, $(extra-files)))

# For Entwickler.chm
chm-dirs := $(foreach lang, en de, $(addprefix chm/$(lang)/, . $(sdk-dirs) images))

.PHONY: all online-de chm install svn-update check clean

all: $(online-dirs) $(sdk-dirs-en) $(online-extra-files) $(online-sdk-files)

online-de: $(addprefix online/de/, $(sdk-dirs) images $(htmlfiles) $(extra-files))

chm: $(chm-dirs) Entwickler.chm Developer.chm

install: all
$(MKDIR_P) $(prefix)
$(CP_R) $(PWD)/online/* $(prefix)

svn-update:
svn up

check:
xmllint --noblanks --noout --valid $(xmlfiles)

clean:
rm -f *.mo Entwickler.chm Developer.chm doku.pot
rm -rf online sdk-en chm

chm/de/Output.hhp chm/de/Output.hhk chm/en/Output.hhc chm/en/Output.hhp chm/en/Output.hhk: chm/de/Output.hhc
#update timestamp
touch $@
chm/de/Output.hhc: $(xmlfiles) chm/de/. chm/en/. build_chm_files.py experimental.py \
Template.hhc Template.en.hhc Template.hhk Template.en.hhk Template.hhp Template.en.hhp en.mo
@echo generate chm files
@python build_chm_files.py $(xmlfiles)

online/de/content.html: chm/de/Output.hhc build_contents.pl
@echo generate $@
@perl build_contents.pl $< > $@
online/en/content.html: chm/en/Output.hhc build_contents.pl
@echo generate $@
@perl build_contents.pl $< > $@

$(sdk-dirs-en) $(online-dirs) $(chm-dirs):
mkdir -p $@

doku.pot: $(xmlfiles) extra-strings.xml xml2po.py clonk.py
@echo extract strings to $@
@python xml2po.py -e -m clonk -o $@ $(xmlfiles) extra-strings.xml

%.po: doku.pot
@echo update $@
@msgmerge --no-wrap -w 1 -U $@ $<

%.mo: %.po
@echo compile $@
@msgfmt --statistics -o $@ $<

sdk-en/%.xml: sdk/%.xml en.mo xml2po.py clonk.py
@echo generate $@
@python xml2po.py -e -m clonk -t en.mo -o $@ $<

define run-xslt
@echo generate $@
@xsltproc -o $@ --param webnotes $(webnotes) --param fileext "'.html'" $(XSLTFLAGS) $(stylesheet) $<
endef
online/%: webnotes=1
chm/%: webnotes=0
online/de/sdk/%.html: sdk/%.xml $(stylesheet) ; $(run-xslt)
online/en/sdk/%.html: sdk-en/%.xml $(stylesheet) ; $(run-xslt)
chm/de/sdk/%.html: sdk/%.xml $(stylesheet) ; $(run-xslt)
chm/en/sdk/%.html: sdk-en/%.xml $(stylesheet) ; $(run-xslt)

$(filter online/en/%, $(online-extra-files)): online/en/%: %
$(CP) $< $@
$(filter online/de/%, $(online-extra-files)): online/de/%: %
$(CP) $< $@
$(addprefix chm/en/, $(extra-files-chm)): chm/en/%: %
$(CP) $< $@
$(addprefix chm/de/, $(extra-files-chm)): chm/de/%: %
$(CP) $< $@

Entwickler.chm: chm/de/Output.hhp chm/de/Output.hhk chm/de/Output.hhc $(addprefix chm/de/, $(sdk-dirs) images $(htmlfiles) $(extra-files-chm))
$(HHC) $<
Developer.chm: chm/en/Output.hhp chm/en/Output.hhk chm/en/Output.hhc $(addprefix chm/en/, $(sdk-dirs) images $(htmlfiles) $(extra-files-chm))
$(HHC) $<

15 changes: 15 additions & 0 deletions README.cygwin.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
To build the doku under Windows, you need

Perl, Python, and Cygwin

installed with:

make
xsltproc (libxml2 + libxslt + python-libxml2)
findutils
sed
gettext
gettext-devel
libgcrypt + libgpg-error (for whatever reason)

Also you should rename find.exe - first in Windows\System32\dllback then in Windows\System32 to make sure it isn't used.
189 changes: 189 additions & 0 deletions Template.en.hhc
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1">

<!-- Notice: some tags and tab positions are hardcoded in DokuCompile/compilefns.exe -->

</HEAD><BODY>
<OBJECT type="text/site properties">
<param name="Window Styles" value="0x800025">
</OBJECT>
<UL>

<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Developer Mode">
<!--<param name="Local" value="sdk\index.html">-->
</OBJECT>
<UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Introduction">
<param name="Local" value="sdk\index.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Engine">
<param name="Local" value="sdk\console.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Command line parameters">
<param name="Local" value="sdk\cmdline.html">
</OBJECT>
</UL>

<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Game Data">
<param name="Local" value="sdk\files.html">
</OBJECT>
<UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Object Definitions">
<param name="Local" value="sdk\definition\index.html">
</OBJECT>
<UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="DefCore">
<param name="Local" value="sdk\definition\defcore.html">
</OBJECT>
<UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Category">
<param name="Local" value="sdk\definition\category.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="OCF">
<param name="Local" value="sdk\definition\ocf.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Vertices">
<param name="Local" value="sdk\definition\vertices.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="LineConnect">
<param name="Local" value="sdk\definition\lineconnect.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="CNAT - Contact Attatchment">
<param name="Local" value="sdk\definition\cnat.html">
</OBJECT>
</UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="ActMap">
<param name="Local" value="sdk\definition\actmap.html">
</OBJECT>
<UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Procedures">
<param name="Local" value="sdk\definition\procedures.html">
</OBJECT>
</UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Script">
<param name="Local" value="sdk\definition\script.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Particle">
<param name="Local" value="sdk\particle\index.html">
</OBJECT>
</UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Scenarios">
<param name="Local" value="sdk\scenario\index.html">
</OBJECT>
<UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Scenario">
<param name="Local" value="sdk\scenario\scenario.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Map Generator">
<param name="Local" value="sdk\scenario\MapCreatorS2.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Script">
<param name="Local" value="sdk\scenario\script.html">
</OBJECT>
</UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Materials">
<param name="Local" value="sdk\material\index.html">
</OBJECT>
<UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Definitions">
<param name="Local" value="sdk\material\c4m.html">
</OBJECT>
</UL>

<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Languages">
<!--<param name="Local" value="sdk\lang.html">-->
</OBJECT>
<UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Localization">
<param name="Local" value="sdk\lang.html">
</OBJECT>
</UL>

</UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Script">
<param name="Local" value="sdk\script\index.html">
</OBJECT>
<UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Functions">
<param name="Local" value="sdk\script\Funcs.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Calling Script Functions">
<param name="Local" value="sdk\script\FuncCall.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="#strict">
<param name="Local" value="sdk\script\Strict.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="#appendto">
<param name="Local" value="sdk\script\AppendTo.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="break / continue">
<param name="Local" value="sdk\script\BreakContinue.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="for">
<param name="Local" value="sdk\script\for.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Named Variables">
<param name="Local" value="sdk\script\NamedVar.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Operators">
<param name="Local" value="sdk\script\operatoren.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Data Types">
<param name="Local" value="sdk\script\Typechecks.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Effects">
<param name="Local" value="sdk\script\Effects.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Script players">
<param name="Local" value="sdk\script\ScriptPlayers.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Functions by Category">
</OBJECT>
<!-- Insert Functions here 1-->
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Functions by Version">
</OBJECT>
<!-- Insert Functions here 2-->
</UL>

</UL>
</BODY></HTML>
Loading

0 comments on commit 2b2a62c

Please sign in to comment.