<HTML> <HEAD> <!-- This HTML file has been created by texi2html 1.39 from ./hacking.texi on 12 June 2005 --> <TITLE>Hacking Xconq - Kernel</TITLE> </HEAD> <BODY> Go to the <A HREF="hacking_1.html">first</A>, <A HREF="hacking_1.html">previous</A>, <A HREF="hacking_3.html">next</A>, <A HREF="hacking_35.html">last</A> section, <A HREF="hacking_toc.html">table of contents</A>. <HR> <H1><A NAME="SEC2" HREF="hacking_toc.html#SEC2">Kernel</A></H1> <P> The kernel is the part of <I>Xconq</I> shared by all interfaces. It does no I/O except to files or for debugging. </P> <P> Specifically, the kernel supplies the following functionality: </P> <UL> <LI> Data structure initialization. (<CODE>init_data_structures</CODE>) <LI> Game module loading and interpretation. (<CODE>load_game_module</CODE>) <LI> Initial player/side setup. (<CODE>make_trial_assignments</CODE>) <LI> Synthesis methods. (<CODE>run_synthesis_methods</CODE>) <LI> Final player/side setup. (<CODE>make_assignments</CODE>) <LI> Game execution. (<CODE>run_game</CODE>) <LI> Implementations of unit actions. (<CODE>prep_*_action</CODE>) <LI> AI players. <LI> Help Info (<CODE>get_help_text</CODE>) <LI> Game saving and scorekeeping. </UL> <UL> <LI><A HREF="hacking_3.html#SEC3">Configuration Options</A> <LI><A HREF="hacking_4.html#SEC4">Porting the Kernel</A> <LI><A HREF="hacking_5.html#SEC5">Writing New Synthesis Methods</A> <LI><A HREF="hacking_6.html#SEC6">Writing New Namers</A> <LI><A HREF="hacking_7.html#SEC7">Writing New AIs</A> <LI><A HREF="hacking_8.html#SEC8">Extending GDL</A> <LI><A HREF="hacking_9.html#SEC9">GDL Design Decisions</A> </UL> <HR> Go to the <A HREF="hacking_1.html">first</A>, <A HREF="hacking_1.html">previous</A>, <A HREF="hacking_3.html">next</A>, <A HREF="hacking_35.html">last</A> section, <A HREF="hacking_toc.html">table of contents</A>. </BODY> </HTML>