Advertisement
Guest User

Source_Structure.cpp

a guest
Apr 1st, 2013
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Mon 01 Apr 2013 10:34:13 AM EDT
  2. Doyousketch2
  3. -------------------------------
  4.  
  5. This is not an actual C++ source file.
  6. Its a text describing the source file structure of Minetest - as of ver 0.4.5 so far.
  7. Its simply saved as .cpp so it will highlight in your text editor
  8. (gEdit, Kate, Notepad++, or whatever you happen to use...)
  9.  
  10. Structure of minetest source and support libraries found in /usr/include.
  11. Its just to show the heirarchy of where objects, variables, and whatnot get defined.
  12.  
  13.  
  14. main.cpp // Load settings, Mouse and Keyboard, Main Menu, run game, exit.
  15.  
  16.  
  17.  
  18.     #include "irrlicht.h"
  19.  
  20.         #include "IrrCompileConfig.h"
  21.         #include "aabbox3d.h"
  22.         #include "CDynamicMeshBuffer.h"
  23.         #include "CIndexBuffer.h"
  24.         #include "CMeshBuffer.h"
  25.         #include "coreutil.h"
  26.         #include "CVertexBuffer.h"
  27.         #include "dimension2d.h"
  28.         #include "ECullingTypes.h"
  29.         #include "EDebugSceneTypes.h"
  30.         #include "EDriverFeatures.h"
  31.         #include "EDriverTypes.h"
  32.         #include "EGUIAlignment.h"
  33.         #include "EGUIElementTypes.h"
  34.         #include "EHardwareBufferFlags.h"
  35.         #include "EMaterialFlags.h"
  36.         #include "EMaterialTypes.h"
  37.         #include "EMeshWriterEnums.h"
  38.         #include "EMessageBoxFlags.h"
  39.         #include "ESceneNodeAnimatorTypes.h"
  40.         #include "ESceneNodeTypes.h"
  41.         #include "ETerrainElements.h"
  42.         #include "fast_atof.h"
  43.         #include "heapsort.h"
  44.         #include "IAnimatedMesh.h"
  45.         #include "IAnimatedMeshMD2.h"
  46.         #include "IAnimatedMeshMD3.h"
  47.         #include "IAnimatedMeshSceneNode.h"
  48.         #include "IAttributeExchangingObject.h"
  49.         #include "IAttributes.h"
  50.         #include "IBillboardSceneNode.h"
  51.         #include "IBillboardTextSceneNode.h"
  52.         #include "IBoneSceneNode.h"
  53.         #include "ICameraSceneNode.h"
  54.         #include "ICursorControl.h"
  55.         #include "IDummyTransformationSceneNode.h"
  56.         #include "IDynamicMeshBuffer.h"
  57.         #include "IEventReceiver.h"
  58.         #include "IFileList.h"
  59.         #include "IFileSystem.h"
  60.         #include "IGeometryCreator.h"
  61.         #include "IGPUProgrammingServices.h"
  62.         #include "IGUIButton.h"
  63.         #include "IGUICheckBox.h"
  64.         #include "IGUIColorSelectDialog.h"
  65.         #include "IGUIComboBox.h"
  66.         #include "IGUIContextMenu.h"
  67.         #include "IGUIEditBox.h"
  68.         #include "IGUIElement.h"
  69.         #include "IGUIElementFactory.h"
  70.         #include "IGUIEnvironment.h"
  71.         #include "IGUIFileOpenDialog.h"
  72.         #include "IGUIFont.h"
  73.         #include "IGUIFontBitmap.h"
  74.         #include "IGUIImage.h"
  75.         #include "IGUIInOutFader.h"
  76.         #include "IGUIListBox.h"
  77.         #include "IGUIMeshViewer.h"
  78.         #include "IGUIScrollBar.h"
  79.         #include "IGUISkin.h"
  80.         #include "IGUISpinBox.h"
  81.         #include "IGUISpriteBank.h"
  82.         #include "IGUIStaticText.h"
  83.         #include "IGUITabControl.h"
  84.         #include "IGUITable.h"
  85.         #include "IGUIToolbar.h"
  86.         #include "IGUIWindow.h"
  87.         #include "IGUITreeView.h"
  88.         #include "IImage.h"
  89.         #include "IImageLoader.h"
  90.         #include "IImageWriter.h"
  91.         #include "IIndexBuffer.h"
  92.         #include "ILightSceneNode.h"
  93.         #include "ILogger.h"
  94.         #include "IMaterialRenderer.h"
  95.         #include "IMaterialRendererServices.h"
  96.         #include "IMesh.h"
  97.         #include "IMeshBuffer.h"
  98.         #include "IMeshCache.h"
  99.         #include "IMeshLoader.h"
  100.         #include "IMeshManipulator.h"
  101.         #include "IMeshSceneNode.h"
  102.         #include "IMeshWriter.h"
  103.         #include "IMetaTriangleSelector.h"
  104.         #include "IOSOperator.h"
  105.         #include "IParticleSystemSceneNode.h" // also includes all emitters and attractors
  106.         #include "IQ3LevelMesh.h"
  107.         #include "IQ3Shader.h"
  108.         #include "IReadFile.h"
  109.         #include "IReferenceCounted.h"
  110.         #include "irrArray.h"
  111.         #include "IrrlichtDevice.h"
  112.         #include "irrList.h"
  113.         #include "irrMap.h"
  114.         #include "irrMath.h"
  115.         #include "irrString.h"
  116.         #include "irrTypes.h"
  117.         #include "path.h"
  118.         #include "irrXML.h"
  119.         #include "ISceneCollisionManager.h"
  120.         #include "ISceneManager.h"
  121.         #include "ISceneNode.h"
  122.         #include "ISceneNodeAnimator.h"
  123.         #include "ISceneNodeAnimatorCameraFPS.h"
  124.         #include "ISceneNodeAnimatorCameraMaya.h"
  125.         #include "ISceneNodeAnimatorCollisionResponse.h"
  126.         #include "ISceneNodeAnimatorFactory.h"
  127.         #include "ISceneNodeFactory.h"
  128.         #include "ISceneUserDataSerializer.h"
  129.         #include "IShaderConstantSetCallBack.h"
  130.         #include "IShadowVolumeSceneNode.h"
  131.         #include "ISkinnedMesh.h"
  132.         #include "ITerrainSceneNode.h"
  133.         #include "ITextSceneNode.h"
  134.         #include "ITexture.h"
  135.         #include "ITimer.h"
  136.         #include "ITriangleSelector.h"
  137.         #include "IVertexBuffer.h"
  138.         #include "IVideoDriver.h"
  139.         #include "IVideoModeList.h"
  140.         #include "IVolumeLightSceneNode.h"
  141.         #include "IWriteFile.h"
  142.         #include "IXMLReader.h"
  143.         #include "IXMLWriter.h"
  144.         #include "ILightManager.h"
  145.         #include "Keycodes.h"
  146.         #include "line2d.h"
  147.         #include "line3d.h"
  148.         #include "matrix4.h"
  149.         #include "plane3d.h"
  150.         #include "position2d.h"
  151.         #include "quaternion.h"
  152.         #include "rect.h"
  153.         #include "S3DVertex.h"
  154.         #include "SAnimatedMesh.h"
  155.         #include "SceneParameters.h"
  156.         #include "SColor.h"
  157.         #include "SExposedVideoData.h"
  158.         #include "SIrrCreationParameters.h"
  159.         #include "SKeyMap.h"
  160.         #include "SLight.h"
  161.         #include "SMaterial.h"
  162.         #include "SMesh.h"
  163.         #include "SMeshBuffer.h"
  164.         #include "SMeshBufferLightMap.h"
  165.         #include "SMeshBufferTangents.h"
  166.         #include "SParticle.h"
  167.         #include "SSharedMeshBuffer.h"
  168.         #include "SSkinMeshBuffer.h"
  169.         #include "SVertexIndex.h"
  170.         #include "SViewFrustum.h"
  171.         #include "triangle3d.h"
  172.         #include "vector2d.h"
  173.         #include "vector3d.h"
  174.  
  175.  
  176.  
  177.     #include "main.h"
  178.  
  179.         // Settings
  180.         class Settings;
  181.         extern Settings *g_settings;
  182.  
  183.         // Global profiler
  184.         class Profiler;
  185.         extern Profiler *g_profiler;
  186.  
  187.         // Debug streams
  188.         #include <fstream>
  189.  
  190.  
  191.  
  192.     #include "mainmenumanager.h"
  193.  
  194.         #include "debug.h" // assert
  195.         #include "modalMenu.h"
  196.         #include "guiPauseMenu.h" // For IGameCallback
  197.         #include <list>
  198.  
  199.         extern gui::IGUIEnvironment* guienv;
  200.         extern gui::IGUIStaticText *guiroot;
  201.  
  202.         class MainMenuManager : public IMenuManager
  203.  
  204.             virtual void createdMenu(GUIModalMenu *menu)
  205.             virtual void deletingMenu(GUIModalMenu *menu)
  206.  
  207.         extern MainMenuManager g_menumgr;
  208.         extern bool noMenuActive();
  209.  
  210.         class MainGameCallback : public IGameCallback
  211.  
  212.             virtual void exitToOS
  213.             virtual void disconnect
  214.             virtual void changePassword
  215.             virtual void changeVolume
  216.  
  217.         extern MainGameCallback *g_gamecallback;
  218.  
  219.  
  220.  
  221.     #include <iostream>
  222.  
  223.         Narrow characters (char)
  224.             cin     // standard input stream
  225.             cout        // standard output stream
  226.             cerr        // standard output stream for erros
  227.             clog        // standard output stream for logging
  228.         Wide characters (wchar_t)
  229.             wcin
  230.             wcout
  231.             wcerr
  232.             wclog
  233.  
  234.  
  235.  
  236.     #include <fstream>
  237.  
  238.         Public members
  239.  
  240.             (constructor)   //    Construct object and optionally open file (public member function)
  241.             rdbuf       //    Get the associated filebuf object (public member function)
  242.             is_open     //    Check if a file is open (public member function)
  243.             open        //    Open file (public member function)
  244.             close       //    Close file (public member function)
  245.  
  246.  
  247.         Members inherited from istream
  248.  
  249.             operator>>  //    Extract formatted input (public member function )
  250.             gcount      //    Get character count (public member function )
  251.             get     //    Get characters (public member function )
  252.             getline     //    Get line (public member function )
  253.             ignore      //    Extract and discard characters (public member function )
  254.             peek        //    Peek next character (public member function )
  255.             read        //    Read block of data (public member function )
  256.             readsome    //    Read data available in buffer (public member function )
  257.             putback     //    Put character back (public member function )
  258.             unget       //    Unget character (public member function )
  259.             tellg       //    Get position in input sequence (public member function )
  260.             seekg       //    Set position in input sequence (public member function )
  261.             sync        //    Synchronize input buffer (public member function )
  262.             sentry      //    Prepare stream for input (public member class )
  263.  
  264.  
  265.         Members inherited from ostream
  266.  
  267.             operator<<  //    Insert formatted output (public member function )
  268.             put     //    Put character (public member function )
  269.             write       //    Write block of data (public member function )
  270.             tellp       //    Get position in output sequence (public member function )
  271.             seekp       //    Set position in output sequence (public member function )
  272.             flush       //    Flush output stream buffer (public member function )
  273.             sentry      //    Prepare stream for output (public member class )
  274.  
  275.  
  276.         Member functions inherited from ios
  277.  
  278.             good        //    Check whether state of stream is good (public member function )
  279.             eof     //    Check whether eofbit is set (public member function )
  280.             fail        //    Check whether either failbit or badbit is set (public member function )
  281.             bad     //    Check whether badbit is set (public member function )
  282.             operator!   //    Evaluate stream (not) (public member function )
  283.             operator void*  //    Evaluate stream (public member function )
  284.             rdstate     //    Get error state flags (public member function )
  285.             setstate    //    Set error state flag (public member function )
  286.             clear       //    Set error state flags (public member function )
  287.             copyfmt     //    Copy formatting information (public member function )
  288.             fill        //    Get/set fill character (public member function )
  289.             exceptions  //    Get/set exceptions mask (public member function )
  290.             imbue       //    Imbue locale (public member function )
  291.             tie     //    Get/set tied stream (public member function )
  292.             narrow      //    Narrow character (public member function )
  293.             widen       //    Widen character (public member function )
  294.  
  295.  
  296.         Member functions inherited from ios_base
  297.  
  298.             flags           //    Get/set format flags (public member function )
  299.             setf            //    Set specific format flags (public member function )
  300.             unsetf          //    Clear specific format flags (public member function )
  301.             precision       //    Get/Set floating-point decimal precision (public member function )
  302.             width           //    Get/set field width (public member function )
  303.             imbue           //    Imbue locale (public member function )
  304.             getloc          //    Get current locale (public member function )
  305.             xalloc          //    Get new index for extensible array [static] (public static member function )
  306.             iword           //    Get integer element of extensible array (public member function )
  307.             pword           //    Get pointer element of extensible array (public member function )
  308.             register_callback   //    Register event callback function (public member function )
  309.             sync_with_stdio     //    Toggle synchronization with cstdio streams [static] (public static member function )
  310.  
  311.  
  312.  
  313.     #include <locale.h>
  314.  
  315.         Facet management:
  316.  
  317.             use_facet       //    Access facet of locale (function template)
  318.             has_facet       //    Check if locale has facet (function template)
  319.  
  320.  
  321.         Convenience interfaces (template versions of the cctype functions):
  322.  
  323.             isspace         //    Check if character is a white-space (function )
  324.             isprint         //    Check if character is printable (function )
  325.             iscntrl         //    Check if character is a control character (function )
  326.             isupper         //    Check if character is uppercase letter (function )
  327.             islower         //    Check if character is lowercase letter (function )
  328.             isalpha         //    Check if character is alphabetic (function )
  329.             isdigit         //    Check if character is decimal digit (function )
  330.             ispunct         //    Check if character is a punctuation character (function )
  331.             isxdigit        //    Check if character is hexadecimal digit (function )
  332.             isalnum         //    Check if character is alphanumeric (function )
  333.             isgraph         //    Check if character has graphical representation (function )
  334.  
  335.  
  336.         Classes
  337.  
  338.             locale          //    Locale class (class )
  339.  
  340.  
  341.         Standard facets:
  342.  
  343.             ctype           //    Character type facet (class template)
  344.             ctype_byname        //    Character type facet (class template)
  345.             codecvt         //    Convert codeset facet (class template)
  346.             codecvt_byname      //    Convert codeset facet (class template)
  347.             num_get         //    Facet to parse numeric values (class template )
  348.             num_put         //    Facet to format numeric values (class template )
  349.             numpunct        //    Numeric punctuation facet (class template)
  350.             numpunct_byname     //    Numeric puntuation facet (class template)
  351.             collate         //    Facet to compare and hash strings (class template)
  352.             collate_byname      //    Facet to compare and hash strings (class template)
  353.             time_get        //    Facet to parse dates and times (class template)
  354.             time_get_byname     //    Facet to parse dates and times (class template)
  355.             time_put        //    Facet to format dates and times (class template)
  356.             time_put_byname     //    Facet to format dates and times (class template)
  357.             money_get       //    Facet to parse monetary expressions (class template)
  358.             money_put       //    Facet to format monetary expressions (class template)
  359.             moneypunct      //    Monetary punctuation facet (class template)
  360.             moneypunct_byname   //    Monetary punctuation facet (class template)
  361.             messages        //    Facet to access message catalogs (class template)
  362.             messages_byname     //    Facet to access message catalogs (class template)
  363.  
  364.  
  365.         Base classes for standard facets (defining member types):
  366.  
  367.             ctype_base      //    Base class for ctype (class)
  368.             codecvt_base        //    Base class for codecvt (class)
  369.             time_base       //    Base class for time_get (class)
  370.             money_base      //    Base class for moneypunct (class)
  371.  
  372.  
  373.  
  374.     #include "irrlichttypes_extrabloated.h"
  375.  
  376.         #include "irrlichttypes_bloated.h"
  377.  
  378.             #include "irrlichttypes.h"
  379.  
  380.                 #include <irrTypes.h>
  381.  
  382.                 using namespace irr;
  383.  
  384.                 // Irrlicht 1.8+ defines 64bit unsigned symbol in irrTypes.h
  385.                 #if (IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR < 8)
  386.                 #ifdef _MSC_VER
  387.                     // Windows
  388.                     typedef long long s64;
  389.                     typedef unsigned long long u64;
  390.                 #else
  391.                     // Posix
  392.                     #include <stdint.h>
  393.                     typedef int64_t s64;
  394.                     typedef uint64_t u64;
  395.  
  396.  
  397.             #include "irr_v2d.h"
  398.             #include "irr_v3d.h"
  399.             #include "irr_aabb3d.h"
  400.  
  401.             #include <irrMap.h>
  402.             #include <irrList.h>
  403.             #include <irrArray.h>
  404.             #include <SColor.h>
  405.  
  406.  
  407.         #ifndef SERVER
  408.         #include <IMesh.h>
  409.         #include <IImage.h>
  410.         #include <IrrlichtDevice.h>
  411.         #include <IMeshSceneNode.h>
  412.         #include <SMesh.h>
  413.         #include <ISceneManager.h>
  414.         #include <IMeshBuffer.h>
  415.         #include <SMeshBuffer.h>
  416.         #include <IGUIElement.h>
  417.         #include <IGUIEnvironment.h>
  418.         #endif
  419.  
  420.  
  421.  
  422.     #include "debug.h"
  423.  
  424.         #include <stdio.h>
  425.         #include <jmutex.h>
  426.         #include <jmutexautolock.h>
  427.         #include <iostream>
  428.         #include "irrlichttypes.h"
  429.         #include <irrMap.h>
  430.         #include "threads.h"
  431.         #include "gettime.h"
  432.         #include "exceptions.h"
  433.         #include <map>
  434.  
  435.         #ifdef _WIN32
  436.             #define WIN32_LEAN_AND_MEAN
  437.             #ifndef _WIN32_WINNT
  438.                 #define _WIN32_WINNT 0x0500
  439.             #endif
  440.             #include <windows.h>
  441.             #ifdef _MSC_VER
  442.                 #include <eh.h>
  443.             #endif
  444.  
  445.             #define DTIME (getTimestamp()+": ")
  446.             #define DEBUGSTREAM_COUNT
  447.             extern FILE *g_debugstreams[DEBUGSTREAM_COUNT];
  448.  
  449.             extern void debugstreams_init(bool disable_stderr, const char *filename);
  450.             extern void debugstreams_deinit();
  451.             #define DEBUGPRINT(...)\
  452.             {\
  453.                 for(int i=0; i<DEBUGSTREAM_COUNT; i++)\
  454.                 {\
  455.                     if(g_debugstreams[i] != NULL){\
  456.                         fprintf(g_debugstreams[i], __VA_ARGS__);\
  457.                         fflush(g_debugstreams[i]);\
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.     #include "test.h"
  465.     #include "clouds.h"
  466.     #include "server.h"
  467.     #include "constants.h"
  468.     #include "porting.h"
  469.     #include "gettime.h"
  470.     #include "guiMessageMenu.h"
  471.     #include "filesys.h"
  472.     #include "config.h"
  473.     #include "guiMainMenu.h"
  474.     #include "game.h"
  475.     #include "keycode.h"
  476.     #include "tile.h"
  477.     #include "chat.h"
  478.     #include "defaultsettings.h"
  479.     #include "gettext.h"
  480.     #include "settings.h"
  481.     #include "profiler.h"
  482.     #include "log.h"
  483.     #include "mods.h"
  484.     #if USE_FREETYPE
  485.     #include "xCGUITTFont.h"
  486.     #endif
  487.     #include "util/string.h"
  488.     #include "subgame.h"
  489.     #include "quicktune.h"
  490.     #include "serverlist.h"
  491.  
  492.  
  493. // Note: The C++ reference material included within < > was taken from cplusplus.com
  494. // © cplusplus.com, 2000-2013 - All rights reserved - v3.1
  495. // Fair Use notice - for educational purposes only.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement