├── .github └── workflows │ └── build.yml ├── .gitignore ├── COPYING ├── Makefile ├── README.md ├── Star Ruler 2.exe ├── StarRuler2.sh ├── bin └── win64 │ ├── OpenAL64.dll │ ├── libcurl.dll │ ├── libogg.dll │ ├── libpng64.dll │ ├── libvorbis.dll │ ├── libvorbisfile.dll │ └── zlibwapi.dll ├── credits.txt ├── source ├── angelscript │ ├── LICENSE-angelscript │ ├── addons │ │ └── debugger │ │ │ ├── debugger.cpp │ │ │ └── debugger.h │ ├── as_changes.patch │ ├── include │ │ └── angelscript.h │ ├── projects │ │ ├── gnuc │ │ │ └── makefile │ │ └── msvc10 │ │ │ ├── angelscript.vcxproj │ │ │ ├── angelscript.vcxproj.filters │ │ │ └── angelscript.vcxproj.user │ └── source │ │ ├── as_array.h │ │ ├── as_atomic.cpp │ │ ├── as_atomic.h │ │ ├── as_builder.cpp │ │ ├── as_builder.h │ │ ├── as_bytecode.cpp │ │ ├── as_bytecode.h │ │ ├── as_callfunc.cpp │ │ ├── as_callfunc.h │ │ ├── as_callfunc_arm.cpp │ │ ├── as_callfunc_arm_gcc.S │ │ ├── as_callfunc_arm_msvc.asm │ │ ├── as_callfunc_arm_xcode.s │ │ ├── as_callfunc_mips.cpp │ │ ├── as_callfunc_ppc.cpp │ │ ├── as_callfunc_ppc_64.cpp │ │ ├── as_callfunc_sh4.cpp │ │ ├── as_callfunc_x64_gcc.cpp │ │ ├── as_callfunc_x64_mingw.cpp │ │ ├── as_callfunc_x64_msvc.cpp │ │ ├── as_callfunc_x64_msvc_asm.asm │ │ ├── as_callfunc_x86.cpp │ │ ├── as_callfunc_xenon.cpp │ │ ├── as_compiler.cpp │ │ ├── as_compiler.h │ │ ├── as_config.h │ │ ├── as_configgroup.cpp │ │ ├── as_configgroup.h │ │ ├── as_context.cpp │ │ ├── as_context.h │ │ ├── as_criticalsection.h │ │ ├── as_datatype.cpp │ │ ├── as_datatype.h │ │ ├── as_debug.h │ │ ├── as_gc.cpp │ │ ├── as_gc.h │ │ ├── as_generic.cpp │ │ ├── as_generic.h │ │ ├── as_globalproperty.cpp │ │ ├── as_map.h │ │ ├── as_memory.cpp │ │ ├── as_memory.h │ │ ├── as_module.cpp │ │ ├── as_module.h │ │ ├── as_namespace.h │ │ ├── as_objecttype.cpp │ │ ├── as_objecttype.h │ │ ├── as_outputbuffer.cpp │ │ ├── as_outputbuffer.h │ │ ├── as_parser.cpp │ │ ├── as_parser.h │ │ ├── as_property.h │ │ ├── as_restore.cpp │ │ ├── as_restore.h │ │ ├── as_scriptcode.cpp │ │ ├── as_scriptcode.h │ │ ├── as_scriptengine.cpp │ │ ├── as_scriptengine.h │ │ ├── as_scriptfunction.cpp │ │ ├── as_scriptfunction.h │ │ ├── as_scriptnode.cpp │ │ ├── as_scriptnode.h │ │ ├── as_scriptobject.cpp │ │ ├── as_scriptobject.h │ │ ├── as_string.cpp │ │ ├── as_string.h │ │ ├── as_string_util.cpp │ │ ├── as_string_util.h │ │ ├── as_symboltable.h │ │ ├── as_texts.h │ │ ├── as_thread.cpp │ │ ├── as_thread.h │ │ ├── as_tokendef.h │ │ ├── as_tokenizer.cpp │ │ ├── as_tokenizer.h │ │ ├── as_typeinfo.cpp │ │ ├── as_typeinfo.h │ │ ├── as_variablescope.cpp │ │ └── as_variablescope.h ├── api │ └── sr2-api.py ├── as_addons │ ├── LICENSE-angelscript │ ├── as_addons │ │ ├── as_addons.vcxproj │ │ └── as_addons.vcxproj.filters │ ├── gcc │ │ └── Makefile │ ├── include │ │ ├── scriptany.h │ │ ├── scriptarray.h │ │ ├── scriptdictionary.h │ │ ├── scripthandle.h │ │ ├── scripthelper.h │ │ ├── scriptmap.h │ │ ├── scriptmath.h │ │ └── scriptstdstring.h │ └── source │ │ ├── scriptany.cpp │ │ ├── scriptarray.cpp │ │ ├── scriptdictionary.cpp │ │ ├── scripthandle.cpp │ │ ├── scripthelper.cpp │ │ ├── scriptmap.cpp │ │ ├── scriptmath.cpp │ │ ├── scriptstdstring.cpp │ │ └── scriptstdstring_utils.cpp ├── ci │ ├── compile_windows.sh │ └── sr2-ci.py ├── doc │ ├── document.py │ ├── dump_wiki.as │ ├── template.class.html │ ├── template.enum.html │ ├── template.functions.html │ ├── template.globals.html │ ├── template.index.html │ ├── template.styles.css │ ├── template.top.html │ └── template.util.html ├── freetype2 │ ├── LICENSE-freetype2 │ ├── builds │ │ ├── detect.mk │ │ ├── exports.mk │ │ ├── freetype.mk │ │ ├── link_dos.mk │ │ ├── link_std.mk │ │ ├── mac │ │ │ ├── FreeType.m68k_cfm.make.txt │ │ │ ├── FreeType.m68k_far.make.txt │ │ │ ├── FreeType.ppc_carbon.make.txt │ │ │ ├── FreeType.ppc_classic.make.txt │ │ │ ├── README │ │ │ ├── ascii2mpw.py │ │ │ ├── ftlib.prj.xml │ │ │ └── ftmac.c │ │ ├── modules.mk │ │ ├── newline │ │ ├── os2 │ │ │ ├── detect.mk │ │ │ ├── os2-def.mk │ │ │ ├── os2-dev.mk │ │ │ └── os2-gcc.mk │ │ ├── toplevel.mk │ │ ├── unix │ │ │ ├── aclocal.m4 │ │ │ ├── config.guess │ │ │ ├── config.sub │ │ │ ├── configure │ │ │ ├── configure.ac │ │ │ ├── configure.raw │ │ │ ├── detect.mk │ │ │ ├── freetype-config.in │ │ │ ├── freetype2.in │ │ │ ├── freetype2.m4 │ │ │ ├── ft-munmap.m4 │ │ │ ├── ft2unix.h │ │ │ ├── ftconfig.in │ │ │ ├── ftsystem.c │ │ │ ├── install-sh │ │ │ ├── install.mk │ │ │ ├── ltmain.sh │ │ │ ├── mkinstalldirs │ │ │ ├── unix-cc.in │ │ │ ├── unix-def.in │ │ │ ├── unix-dev.mk │ │ │ ├── unix-lcc.mk │ │ │ ├── unix.mk │ │ │ └── unixddef.mk │ │ └── win32 │ │ │ ├── detect.mk │ │ │ ├── ftdebug.c │ │ │ ├── vc2010 │ │ │ ├── freetype.sln │ │ │ ├── freetype.vcxproj │ │ │ ├── freetype.vcxproj.filters │ │ │ └── index.html │ │ │ ├── w32-bcc.mk │ │ │ ├── w32-bccd.mk │ │ │ ├── w32-dev.mk │ │ │ ├── w32-gcc.mk │ │ │ ├── w32-icc.mk │ │ │ ├── w32-intl.mk │ │ │ ├── w32-lcc.mk │ │ │ ├── w32-mingw32.mk │ │ │ ├── w32-vcc.mk │ │ │ ├── w32-wat.mk │ │ │ └── win32-def.mk │ ├── include │ │ ├── freetype │ │ │ ├── config │ │ │ │ ├── ftconfig.h │ │ │ │ ├── ftheader.h │ │ │ │ ├── ftmodule.h │ │ │ │ ├── ftoption.h │ │ │ │ └── ftstdlib.h │ │ │ ├── freetype.h │ │ │ ├── ftadvanc.h │ │ │ ├── ftbbox.h │ │ │ ├── ftbdf.h │ │ │ ├── ftbitmap.h │ │ │ ├── ftbzip2.h │ │ │ ├── ftcache.h │ │ │ ├── ftchapters.h │ │ │ ├── ftcid.h │ │ │ ├── fterrdef.h │ │ │ ├── fterrors.h │ │ │ ├── ftgasp.h │ │ │ ├── ftglyph.h │ │ │ ├── ftgxval.h │ │ │ ├── ftgzip.h │ │ │ ├── ftimage.h │ │ │ ├── ftincrem.h │ │ │ ├── ftlcdfil.h │ │ │ ├── ftlist.h │ │ │ ├── ftlzw.h │ │ │ ├── ftmac.h │ │ │ ├── ftmm.h │ │ │ ├── ftmodapi.h │ │ │ ├── ftmoderr.h │ │ │ ├── ftotval.h │ │ │ ├── ftoutln.h │ │ │ ├── ftpfr.h │ │ │ ├── ftrender.h │ │ │ ├── ftsizes.h │ │ │ ├── ftsnames.h │ │ │ ├── ftstroke.h │ │ │ ├── ftsynth.h │ │ │ ├── ftsystem.h │ │ │ ├── fttrigon.h │ │ │ ├── fttypes.h │ │ │ ├── ftwinfnt.h │ │ │ ├── ftxf86.h │ │ │ ├── internal │ │ │ │ ├── autohint.h │ │ │ │ ├── ftcalc.h │ │ │ │ ├── ftdebug.h │ │ │ │ ├── ftdriver.h │ │ │ │ ├── ftgloadr.h │ │ │ │ ├── ftmemory.h │ │ │ │ ├── ftobjs.h │ │ │ │ ├── ftpic.h │ │ │ │ ├── ftrfork.h │ │ │ │ ├── ftserv.h │ │ │ │ ├── ftstream.h │ │ │ │ ├── fttrace.h │ │ │ │ ├── ftvalid.h │ │ │ │ ├── internal.h │ │ │ │ ├── psaux.h │ │ │ │ ├── pshints.h │ │ │ │ ├── services │ │ │ │ │ ├── svbdf.h │ │ │ │ │ ├── svcid.h │ │ │ │ │ ├── svgldict.h │ │ │ │ │ ├── svgxval.h │ │ │ │ │ ├── svkern.h │ │ │ │ │ ├── svmm.h │ │ │ │ │ ├── svotval.h │ │ │ │ │ ├── svpfr.h │ │ │ │ │ ├── svpostnm.h │ │ │ │ │ ├── svpscmap.h │ │ │ │ │ ├── svpsinfo.h │ │ │ │ │ ├── svsfnt.h │ │ │ │ │ ├── svttcmap.h │ │ │ │ │ ├── svtteng.h │ │ │ │ │ ├── svttglyf.h │ │ │ │ │ ├── svwinfnt.h │ │ │ │ │ └── svxf86nm.h │ │ │ │ ├── sfnt.h │ │ │ │ ├── t1types.h │ │ │ │ └── tttypes.h │ │ │ ├── t1tables.h │ │ │ ├── ttnameid.h │ │ │ ├── tttables.h │ │ │ ├── tttags.h │ │ │ └── ttunpat.h │ │ └── ft2build.h │ └── src │ │ ├── Jamfile │ │ ├── autofit │ │ ├── Jamfile │ │ ├── afangles.c │ │ ├── afangles.h │ │ ├── afcjk.c │ │ ├── afcjk.h │ │ ├── afdummy.c │ │ ├── afdummy.h │ │ ├── aferrors.h │ │ ├── afglobal.c │ │ ├── afglobal.h │ │ ├── afhints.c │ │ ├── afhints.h │ │ ├── afindic.c │ │ ├── afindic.h │ │ ├── aflatin.c │ │ ├── aflatin.h │ │ ├── aflatin2.c │ │ ├── aflatin2.h │ │ ├── afloader.c │ │ ├── afloader.h │ │ ├── afmodule.c │ │ ├── afmodule.h │ │ ├── afpic.c │ │ ├── afpic.h │ │ ├── aftypes.h │ │ ├── afwarp.c │ │ ├── afwarp.h │ │ ├── autofit.c │ │ ├── module.mk │ │ └── rules.mk │ │ ├── base │ │ ├── Jamfile │ │ ├── basepic.c │ │ ├── basepic.h │ │ ├── ftadvanc.c │ │ ├── ftapi.c │ │ ├── ftbase.c │ │ ├── ftbase.h │ │ ├── ftbbox.c │ │ ├── ftbdf.c │ │ ├── ftbitmap.c │ │ ├── ftcalc.c │ │ ├── ftcid.c │ │ ├── ftdbgmem.c │ │ ├── ftdebug.c │ │ ├── ftfstype.c │ │ ├── ftgasp.c │ │ ├── ftgloadr.c │ │ ├── ftglyph.c │ │ ├── ftgxval.c │ │ ├── ftinit.c │ │ ├── ftlcdfil.c │ │ ├── ftmac.c │ │ ├── ftmm.c │ │ ├── ftobjs.c │ │ ├── ftotval.c │ │ ├── ftoutln.c │ │ ├── ftpatent.c │ │ ├── ftpfr.c │ │ ├── ftpic.c │ │ ├── ftrfork.c │ │ ├── ftsnames.c │ │ ├── ftstream.c │ │ ├── ftstroke.c │ │ ├── ftsynth.c │ │ ├── ftsystem.c │ │ ├── fttrigon.c │ │ ├── fttype1.c │ │ ├── ftutil.c │ │ ├── ftwinfnt.c │ │ ├── ftxf86.c │ │ └── rules.mk │ │ ├── bdf │ │ ├── Jamfile │ │ ├── README │ │ ├── bdf.c │ │ ├── bdf.h │ │ ├── bdfdrivr.c │ │ ├── bdfdrivr.h │ │ ├── bdferror.h │ │ ├── bdflib.c │ │ ├── module.mk │ │ └── rules.mk │ │ ├── bzip2 │ │ ├── Jamfile │ │ ├── ftbzip2.c │ │ └── rules.mk │ │ ├── cache │ │ ├── Jamfile │ │ ├── ftcache.c │ │ ├── ftcbasic.c │ │ ├── ftccache.c │ │ ├── ftccache.h │ │ ├── ftccback.h │ │ ├── ftccmap.c │ │ ├── ftcerror.h │ │ ├── ftcglyph.c │ │ ├── ftcglyph.h │ │ ├── ftcimage.c │ │ ├── ftcimage.h │ │ ├── ftcmanag.c │ │ ├── ftcmanag.h │ │ ├── ftcmru.c │ │ ├── ftcmru.h │ │ ├── ftcsbits.c │ │ ├── ftcsbits.h │ │ └── rules.mk │ │ ├── cff │ │ ├── Jamfile │ │ ├── cff.c │ │ ├── cffcmap.c │ │ ├── cffcmap.h │ │ ├── cffdrivr.c │ │ ├── cffdrivr.h │ │ ├── cfferrs.h │ │ ├── cffgload.c │ │ ├── cffgload.h │ │ ├── cffload.c │ │ ├── cffload.h │ │ ├── cffobjs.c │ │ ├── cffobjs.h │ │ ├── cffparse.c │ │ ├── cffparse.h │ │ ├── cffpic.c │ │ ├── cffpic.h │ │ ├── cfftoken.h │ │ ├── cfftypes.h │ │ ├── module.mk │ │ └── rules.mk │ │ ├── cid │ │ ├── Jamfile │ │ ├── ciderrs.h │ │ ├── cidgload.c │ │ ├── cidgload.h │ │ ├── cidload.c │ │ ├── cidload.h │ │ ├── cidobjs.c │ │ ├── cidobjs.h │ │ ├── cidparse.c │ │ ├── cidparse.h │ │ ├── cidriver.c │ │ ├── cidriver.h │ │ ├── cidtoken.h │ │ ├── module.mk │ │ ├── rules.mk │ │ └── type1cid.c │ │ ├── gxvalid │ │ ├── Jamfile │ │ ├── README │ │ ├── gxvalid.c │ │ ├── gxvalid.h │ │ ├── gxvbsln.c │ │ ├── gxvcommn.c │ │ ├── gxvcommn.h │ │ ├── gxverror.h │ │ ├── gxvfeat.c │ │ ├── gxvfeat.h │ │ ├── gxvfgen.c │ │ ├── gxvjust.c │ │ ├── gxvkern.c │ │ ├── gxvlcar.c │ │ ├── gxvmod.c │ │ ├── gxvmod.h │ │ ├── gxvmort.c │ │ ├── gxvmort.h │ │ ├── gxvmort0.c │ │ ├── gxvmort1.c │ │ ├── gxvmort2.c │ │ ├── gxvmort4.c │ │ ├── gxvmort5.c │ │ ├── gxvmorx.c │ │ ├── gxvmorx.h │ │ ├── gxvmorx0.c │ │ ├── gxvmorx1.c │ │ ├── gxvmorx2.c │ │ ├── gxvmorx4.c │ │ ├── gxvmorx5.c │ │ ├── gxvopbd.c │ │ ├── gxvprop.c │ │ ├── gxvtrak.c │ │ ├── module.mk │ │ └── rules.mk │ │ ├── gzip │ │ ├── Jamfile │ │ ├── adler32.c │ │ ├── ftgzip.c │ │ ├── infblock.c │ │ ├── infblock.h │ │ ├── infcodes.c │ │ ├── infcodes.h │ │ ├── inffixed.h │ │ ├── inflate.c │ │ ├── inftrees.c │ │ ├── inftrees.h │ │ ├── infutil.c │ │ ├── infutil.h │ │ ├── rules.mk │ │ ├── zconf.h │ │ ├── zlib.h │ │ ├── zutil.c │ │ └── zutil.h │ │ ├── lzw │ │ ├── Jamfile │ │ ├── ftlzw.c │ │ ├── ftzopen.c │ │ ├── ftzopen.h │ │ └── rules.mk │ │ ├── otvalid │ │ ├── Jamfile │ │ ├── module.mk │ │ ├── otvalid.c │ │ ├── otvalid.h │ │ ├── otvbase.c │ │ ├── otvcommn.c │ │ ├── otvcommn.h │ │ ├── otverror.h │ │ ├── otvgdef.c │ │ ├── otvgpos.c │ │ ├── otvgpos.h │ │ ├── otvgsub.c │ │ ├── otvjstf.c │ │ ├── otvmath.c │ │ ├── otvmod.c │ │ ├── otvmod.h │ │ └── rules.mk │ │ ├── pcf │ │ ├── Jamfile │ │ ├── README │ │ ├── module.mk │ │ ├── pcf.c │ │ ├── pcf.h │ │ ├── pcfdrivr.c │ │ ├── pcfdrivr.h │ │ ├── pcferror.h │ │ ├── pcfread.c │ │ ├── pcfread.h │ │ ├── pcfutil.c │ │ ├── pcfutil.h │ │ └── rules.mk │ │ ├── pfr │ │ ├── Jamfile │ │ ├── module.mk │ │ ├── pfr.c │ │ ├── pfrcmap.c │ │ ├── pfrcmap.h │ │ ├── pfrdrivr.c │ │ ├── pfrdrivr.h │ │ ├── pfrerror.h │ │ ├── pfrgload.c │ │ ├── pfrgload.h │ │ ├── pfrload.c │ │ ├── pfrload.h │ │ ├── pfrobjs.c │ │ ├── pfrobjs.h │ │ ├── pfrsbit.c │ │ ├── pfrsbit.h │ │ ├── pfrtypes.h │ │ └── rules.mk │ │ ├── psaux │ │ ├── Jamfile │ │ ├── afmparse.c │ │ ├── afmparse.h │ │ ├── module.mk │ │ ├── psaux.c │ │ ├── psauxerr.h │ │ ├── psauxmod.c │ │ ├── psauxmod.h │ │ ├── psconv.c │ │ ├── psconv.h │ │ ├── psobjs.c │ │ ├── psobjs.h │ │ ├── rules.mk │ │ ├── t1cmap.c │ │ ├── t1cmap.h │ │ ├── t1decode.c │ │ └── t1decode.h │ │ ├── pshinter │ │ ├── Jamfile │ │ ├── module.mk │ │ ├── pshalgo.c │ │ ├── pshalgo.h │ │ ├── pshglob.c │ │ ├── pshglob.h │ │ ├── pshinter.c │ │ ├── pshmod.c │ │ ├── pshmod.h │ │ ├── pshnterr.h │ │ ├── pshpic.c │ │ ├── pshpic.h │ │ ├── pshrec.c │ │ ├── pshrec.h │ │ └── rules.mk │ │ ├── psnames │ │ ├── Jamfile │ │ ├── module.mk │ │ ├── psmodule.c │ │ ├── psmodule.h │ │ ├── psnamerr.h │ │ ├── psnames.c │ │ ├── pspic.c │ │ ├── pspic.h │ │ ├── pstables.h │ │ └── rules.mk │ │ ├── raster │ │ ├── Jamfile │ │ ├── ftmisc.h │ │ ├── ftraster.c │ │ ├── ftraster.h │ │ ├── ftrend1.c │ │ ├── ftrend1.h │ │ ├── module.mk │ │ ├── raster.c │ │ ├── rasterrs.h │ │ ├── rastpic.c │ │ ├── rastpic.h │ │ └── rules.mk │ │ ├── sfnt │ │ ├── Jamfile │ │ ├── module.mk │ │ ├── rules.mk │ │ ├── sfdriver.c │ │ ├── sfdriver.h │ │ ├── sferrors.h │ │ ├── sfnt.c │ │ ├── sfntpic.c │ │ ├── sfntpic.h │ │ ├── sfobjs.c │ │ ├── sfobjs.h │ │ ├── ttbdf.c │ │ ├── ttbdf.h │ │ ├── ttcmap.c │ │ ├── ttcmap.h │ │ ├── ttcmapc.h │ │ ├── ttkern.c │ │ ├── ttkern.h │ │ ├── ttload.c │ │ ├── ttload.h │ │ ├── ttmtx.c │ │ ├── ttmtx.h │ │ ├── ttpost.c │ │ ├── ttpost.h │ │ ├── ttsbit.c │ │ ├── ttsbit.h │ │ └── ttsbit0.c │ │ ├── smooth │ │ ├── Jamfile │ │ ├── ftgrays.c │ │ ├── ftgrays.h │ │ ├── ftsmerrs.h │ │ ├── ftsmooth.c │ │ ├── ftsmooth.h │ │ ├── ftspic.c │ │ ├── ftspic.h │ │ ├── module.mk │ │ ├── rules.mk │ │ └── smooth.c │ │ ├── tools │ │ ├── Jamfile │ │ ├── apinames.c │ │ ├── chktrcmp.py │ │ ├── cordic.py │ │ ├── docmaker │ │ │ ├── content.py │ │ │ ├── docbeauty.py │ │ │ ├── docmaker.py │ │ │ ├── formatter.py │ │ │ ├── sources.py │ │ │ ├── tohtml.py │ │ │ └── utils.py │ │ ├── ftrandom │ │ │ ├── Makefile │ │ │ ├── README │ │ │ └── ftrandom.c │ │ ├── glnames.py │ │ ├── test_afm.c │ │ ├── test_bbox.c │ │ └── test_trig.c │ │ ├── truetype │ │ ├── Jamfile │ │ ├── module.mk │ │ ├── rules.mk │ │ ├── truetype.c │ │ ├── ttdriver.c │ │ ├── ttdriver.h │ │ ├── tterrors.h │ │ ├── ttgload.c │ │ ├── ttgload.h │ │ ├── ttgxvar.c │ │ ├── ttgxvar.h │ │ ├── ttinterp.c │ │ ├── ttinterp.h │ │ ├── ttobjs.c │ │ ├── ttobjs.h │ │ ├── ttpic.c │ │ ├── ttpic.h │ │ ├── ttpload.c │ │ └── ttpload.h │ │ ├── type1 │ │ ├── Jamfile │ │ ├── module.mk │ │ ├── rules.mk │ │ ├── t1afm.c │ │ ├── t1afm.h │ │ ├── t1driver.c │ │ ├── t1driver.h │ │ ├── t1errors.h │ │ ├── t1gload.c │ │ ├── t1gload.h │ │ ├── t1load.c │ │ ├── t1load.h │ │ ├── t1objs.c │ │ ├── t1objs.h │ │ ├── t1parse.c │ │ ├── t1parse.h │ │ ├── t1tokens.h │ │ └── type1.c │ │ ├── type42 │ │ ├── Jamfile │ │ ├── module.mk │ │ ├── rules.mk │ │ ├── t42drivr.c │ │ ├── t42drivr.h │ │ ├── t42error.h │ │ ├── t42objs.c │ │ ├── t42objs.h │ │ ├── t42parse.c │ │ ├── t42parse.h │ │ ├── t42types.h │ │ └── type42.c │ │ └── winfonts │ │ ├── Jamfile │ │ ├── fnterrs.h │ │ ├── module.mk │ │ ├── rules.mk │ │ ├── winfnt.c │ │ └── winfnt.h ├── game │ ├── as │ │ ├── as_binding_print.cpp │ │ ├── as_binding_print.h │ │ ├── as_jit.cpp │ │ └── as_jit.h │ ├── compat │ │ ├── gl.h │ │ ├── intrin.h │ │ ├── misc.h │ │ └── regex.h │ ├── design │ │ ├── design.cpp │ │ ├── design.h │ │ ├── effect.cpp │ │ ├── effect.h │ │ ├── effector.cpp │ │ ├── effector.h │ │ ├── effector_functions.cpp │ │ ├── effector_functions.h │ │ ├── hull.cpp │ │ ├── hull.h │ │ ├── projectiles.cpp │ │ ├── projectiles.h │ │ ├── subsystem.cpp │ │ └── subsystem.h │ ├── dump_lin.h │ ├── empire.cpp │ ├── empire.h │ ├── empire_stats.cpp │ ├── empire_stats.h │ ├── general_states.cpp │ ├── general_states.h │ ├── glad │ │ └── gl.h │ ├── gui │ │ ├── skin.cpp │ │ └── skin.h │ ├── main.cpp │ ├── main │ │ ├── console.cpp │ │ ├── console.h │ │ ├── game_platform.h │ │ ├── initialization.cpp │ │ ├── initialization.h │ │ ├── input_handling.cpp │ │ ├── input_handling.h │ │ ├── logging.cpp │ │ ├── logging.h │ │ ├── profiler.cpp │ │ ├── profiler.h │ │ ├── references.cpp │ │ ├── references.h │ │ ├── save_load.cpp │ │ ├── save_load.h │ │ ├── tick.cpp │ │ ├── tick.h │ │ └── version.h │ ├── master_server.cpp │ ├── memory │ │ ├── AllocOnlyPool.h │ │ └── MemoryPool.h │ ├── mods │ │ ├── mod_manager.cpp │ │ └── mod_manager.h │ ├── network │ │ ├── network_manager.cpp │ │ ├── network_manager.h │ │ └── player.h │ ├── obj │ │ ├── blueprint.cpp │ │ ├── blueprint.h │ │ ├── lock.cpp │ │ ├── lock.h │ │ ├── obj_group.cpp │ │ ├── obj_group.h │ │ ├── object.cpp │ │ ├── object.h │ │ ├── object_saving.cpp │ │ ├── universe.cpp │ │ └── universe.h │ ├── os │ │ ├── driver.h │ │ ├── glfw_driver.cpp │ │ ├── glfw_driver.h │ │ ├── key_consts.h │ │ └── resource.h │ ├── physics │ │ ├── physics_world.cpp │ │ └── physics_world.h │ ├── processing.cpp │ ├── processing.h │ ├── profile │ │ ├── keybinds.cpp │ │ ├── keybinds.h │ │ ├── settings.cpp │ │ └── settings.h │ ├── render │ │ ├── bmf_loader.cpp │ │ ├── bmf_loader.h │ │ ├── camera.cpp │ │ ├── camera.h │ │ ├── driver.h │ │ ├── font.h │ │ ├── font_fnt.cpp │ │ ├── font_ft2.cpp │ │ ├── gl_driver.cpp │ │ ├── gl_driver.h │ │ ├── gl_framebuffer.cpp │ │ ├── gl_framebuffer.h │ │ ├── gl_mesh.cpp │ │ ├── gl_mesh.h │ │ ├── gl_shader.cpp │ │ ├── gl_shader.h │ │ ├── gl_texture.cpp │ │ ├── gl_texture.h │ │ ├── gl_vertexBuffer.cpp │ │ ├── lighting.cpp │ │ ├── lighting.h │ │ ├── obj_loader.cpp │ │ ├── obj_loader.h │ │ ├── ogex_loader.cpp │ │ ├── ogex_loader.h │ │ ├── render_mesh.h │ │ ├── render_state.cpp │ │ ├── render_state.h │ │ ├── shader.h │ │ ├── shader_states.cpp │ │ ├── spritesheet.cpp │ │ ├── spritesheet.h │ │ ├── texture.h │ │ ├── vertexBuffer.h │ │ ├── x_loader.cpp │ │ └── x_loader.h │ ├── resource │ │ ├── hot_loading.cpp │ │ ├── library.cpp │ │ ├── library.h │ │ ├── load_font.cpp │ │ ├── load_material.cpp │ │ ├── load_model.cpp │ │ ├── load_shader.cpp │ │ ├── load_skin.cpp │ │ ├── load_sound.cpp │ │ ├── locale.cpp │ │ └── locale.h │ ├── scene │ │ ├── animation │ │ │ ├── anim_group.cpp │ │ │ ├── anim_group.h │ │ │ ├── anim_linear.cpp │ │ │ ├── anim_linear.h │ │ │ ├── anim_node_sync.cpp │ │ │ ├── anim_node_sync.h │ │ │ ├── anim_projectile.cpp │ │ │ ├── anim_projectile.h │ │ │ └── animator.h │ │ ├── beam_node.cpp │ │ ├── beam_node.h │ │ ├── billboard_node.cpp │ │ ├── billboard_node.h │ │ ├── culling_node.cpp │ │ ├── culling_node.h │ │ ├── frame_line.cpp │ │ ├── frame_line.h │ │ ├── icon_node.cpp │ │ ├── icon_node.h │ │ ├── line_trail_node.cpp │ │ ├── line_trail_node.h │ │ ├── mesh_icon_node.cpp │ │ ├── mesh_icon_node.h │ │ ├── mesh_node.cpp │ │ ├── mesh_node.h │ │ ├── node.cpp │ │ ├── node.h │ │ ├── particle_system.cpp │ │ ├── particle_system.h │ │ ├── plane_node.cpp │ │ ├── plane_node.h │ │ ├── scripted_node.cpp │ │ └── scripted_node.h │ ├── scripts │ │ ├── bind_creation.cpp │ │ ├── bind_data.cpp │ │ ├── bind_datafile.cpp │ │ ├── bind_design.cpp │ │ ├── bind_dynamic.cpp │ │ ├── bind_empire.cpp │ │ ├── bind_events.cpp │ │ ├── bind_formula.cpp │ │ ├── bind_general.cpp │ │ ├── bind_gui.cpp │ │ ├── bind_inspection.cpp │ │ ├── bind_irc.cpp │ │ ├── bind_joystick.cpp │ │ ├── bind_json.cpp │ │ ├── bind_menu.cpp │ │ ├── bind_network.cpp │ │ ├── bind_object.cpp │ │ ├── bind_profile.cpp │ │ ├── bind_render.cpp │ │ ├── bind_savefile.cpp │ │ ├── bind_sound.cpp │ │ ├── bind_threading.cpp │ │ ├── bind_web.cpp │ │ ├── binds.cpp │ │ ├── binds.h │ │ ├── context_cache.cpp │ │ ├── context_cache.h │ │ ├── generic_call.cpp │ │ ├── generic_call.h │ │ ├── manager.cpp │ │ ├── manager.h │ │ ├── script_bind.cpp │ │ ├── script_bind.h │ │ ├── script_components.cpp │ │ ├── script_components.h │ │ ├── script_hooks.cpp │ │ ├── script_type.cpp │ │ └── script_type.h │ └── util │ │ ├── basic_type.h │ │ ├── bbcode.cpp │ │ ├── bbcode.h │ │ ├── elevation_map.cpp │ │ ├── elevation_map.h │ │ ├── format.cpp │ │ ├── format.h │ │ ├── formula.cpp │ │ ├── formula.h │ │ ├── generic.cpp │ │ ├── generic.h │ │ ├── hex_grid.h │ │ ├── link_container.h │ │ ├── locked_type.h │ │ ├── lockless_type.h │ │ ├── mesh_generation.cpp │ │ ├── mesh_generation.h │ │ ├── name_generator.cpp │ │ ├── name_generator.h │ │ ├── random.cpp │ │ ├── random.h │ │ ├── refcount.h │ │ ├── save_file.cpp │ │ ├── save_file.h │ │ ├── stat_history.cpp │ │ ├── stat_history.h │ │ ├── threaded_loader.cpp │ │ └── threaded_loader.h ├── glfw │ ├── CMake │ │ ├── amd64-mingw32msvc.cmake │ │ ├── i586-mingw32msvc.cmake │ │ ├── i686-pc-mingw32.cmake │ │ ├── i686-w64-mingw32.cmake │ │ ├── modules │ │ │ ├── FindEGL.cmake │ │ │ ├── FindGLESv1.cmake │ │ │ └── FindGLESv2.cmake │ │ └── x86_64-w64-mingw32.cmake │ ├── CMakeLists.txt │ ├── COPYING.txt │ ├── GLFW.vcxproj │ ├── GLFW.vcxproj.filters │ ├── README.md │ ├── cmake_uninstall.cmake.in │ ├── config.h │ ├── deps │ │ ├── EGL │ │ │ └── eglext.h │ │ ├── GL │ │ │ ├── glext.h │ │ │ ├── glxext.h │ │ │ └── wglext.h │ │ ├── getopt.c │ │ ├── getopt.h │ │ ├── tinycthread.c │ │ └── tinycthread.h │ ├── docs │ │ ├── CMakeLists.txt │ │ ├── Doxyfile.in │ │ ├── build.dox │ │ ├── compat.dox │ │ ├── context.dox │ │ ├── html │ │ │ ├── annotated.html │ │ │ ├── bc_s.png │ │ │ ├── bdwn.png │ │ │ ├── bug.html │ │ │ ├── build.html │ │ │ ├── build_8dox.html │ │ │ ├── classes.html │ │ │ ├── closed.png │ │ │ ├── compat.html │ │ │ ├── compat_8dox.html │ │ │ ├── context.html │ │ │ ├── context_8dox.html │ │ │ ├── dir_2234b45d61dd6825fbae406b42298127.html │ │ │ ├── dir_3f3568fd511578374d584a66680052c4.html │ │ │ ├── dir_8513384d385aefa7e0df3f96e9cce3ce.html │ │ │ ├── doxygen.css │ │ │ ├── doxygen.png │ │ │ ├── dynsections.js │ │ │ ├── files.html │ │ │ ├── ftv2blank.png │ │ │ ├── ftv2cl.png │ │ │ ├── ftv2doc.png │ │ │ ├── ftv2folderclosed.png │ │ │ ├── ftv2folderopen.png │ │ │ ├── ftv2lastnode.png │ │ │ ├── ftv2link.png │ │ │ ├── ftv2mlastnode.png │ │ │ ├── ftv2mnode.png │ │ │ ├── ftv2mo.png │ │ │ ├── ftv2node.png │ │ │ ├── ftv2ns.png │ │ │ ├── ftv2plastnode.png │ │ │ ├── ftv2pnode.png │ │ │ ├── ftv2splitbar.png │ │ │ ├── ftv2vertline.png │ │ │ ├── functions.html │ │ │ ├── functions_vars.html │ │ │ ├── glfw3_8h.html │ │ │ ├── glfw3_8h_source.html │ │ │ ├── glfw3native_8h.html │ │ │ ├── glfw3native_8h_source.html │ │ │ ├── globals.html │ │ │ ├── globals_0x62.html │ │ │ ├── globals_0x63.html │ │ │ ├── globals_0x64.html │ │ │ ├── globals_0x65.html │ │ │ ├── globals_0x66.html │ │ │ ├── globals_0x67.html │ │ │ ├── globals_0x68.html │ │ │ ├── globals_0x69.html │ │ │ ├── globals_0x6a.html │ │ │ ├── globals_0x6b.html │ │ │ ├── globals_0x6c.html │ │ │ ├── globals_0x6d.html │ │ │ ├── globals_0x6e.html │ │ │ ├── globals_0x6f.html │ │ │ ├── globals_0x70.html │ │ │ ├── globals_0x72.html │ │ │ ├── globals_0x73.html │ │ │ ├── globals_0x74.html │ │ │ ├── globals_0x76.html │ │ │ ├── globals_0x77.html │ │ │ ├── globals_defs.html │ │ │ ├── globals_defs_0x62.html │ │ │ ├── globals_defs_0x63.html │ │ │ ├── globals_defs_0x64.html │ │ │ ├── globals_defs_0x66.html │ │ │ ├── globals_defs_0x67.html │ │ │ ├── globals_defs_0x69.html │ │ │ ├── globals_defs_0x6a.html │ │ │ ├── globals_defs_0x6b.html │ │ │ ├── globals_defs_0x6c.html │ │ │ ├── globals_defs_0x6d.html │ │ │ ├── globals_defs_0x6e.html │ │ │ ├── globals_defs_0x6f.html │ │ │ ├── globals_defs_0x70.html │ │ │ ├── globals_defs_0x72.html │ │ │ ├── globals_defs_0x73.html │ │ │ ├── globals_defs_0x76.html │ │ │ ├── globals_func.html │ │ │ ├── globals_type.html │ │ │ ├── group__buttons.html │ │ │ ├── group__clipboard.html │ │ │ ├── group__context.html │ │ │ ├── group__error.html │ │ │ ├── group__errors.html │ │ │ ├── group__init.html │ │ │ ├── group__input.html │ │ │ ├── group__joysticks.html │ │ │ ├── group__keys.html │ │ │ ├── group__mods.html │ │ │ ├── group__monitor.html │ │ │ ├── group__native.html │ │ │ ├── group__time.html │ │ │ ├── group__window.html │ │ │ ├── index.html │ │ │ ├── jquery.js │ │ │ ├── main_8dox.html │ │ │ ├── modules.html │ │ │ ├── monitor.html │ │ │ ├── monitor_8dox.html │ │ │ ├── moving.html │ │ │ ├── moving_8dox.html │ │ │ ├── nav_f.png │ │ │ ├── nav_g.png │ │ │ ├── nav_h.png │ │ │ ├── news.html │ │ │ ├── news_8dox.html │ │ │ ├── open.png │ │ │ ├── pages.html │ │ │ ├── quick.html │ │ │ ├── quick_8dox.html │ │ │ ├── search │ │ │ │ ├── all_62.html │ │ │ │ ├── all_62.js │ │ │ │ ├── all_63.html │ │ │ │ ├── all_63.js │ │ │ │ ├── all_65.html │ │ │ │ ├── all_65.js │ │ │ │ ├── all_67.html │ │ │ │ ├── all_67.js │ │ │ │ ├── all_68.html │ │ │ │ ├── all_68.js │ │ │ │ ├── all_69.html │ │ │ │ ├── all_69.js │ │ │ │ ├── all_6a.html │ │ │ │ ├── all_6a.js │ │ │ │ ├── all_6b.html │ │ │ │ ├── all_6b.js │ │ │ │ ├── all_6d.html │ │ │ │ ├── all_6d.js │ │ │ │ ├── all_6e.html │ │ │ │ ├── all_6e.js │ │ │ │ ├── all_71.html │ │ │ │ ├── all_71.js │ │ │ │ ├── all_72.html │ │ │ │ ├── all_72.js │ │ │ │ ├── all_73.html │ │ │ │ ├── all_73.js │ │ │ │ ├── all_74.html │ │ │ │ ├── all_74.js │ │ │ │ ├── all_77.html │ │ │ │ ├── all_77.js │ │ │ │ ├── classes_67.html │ │ │ │ ├── classes_67.js │ │ │ │ ├── close.png │ │ │ │ ├── defines_67.html │ │ │ │ ├── defines_67.js │ │ │ │ ├── files_62.html │ │ │ │ ├── files_62.js │ │ │ │ ├── files_63.html │ │ │ │ ├── files_63.js │ │ │ │ ├── files_67.html │ │ │ │ ├── files_67.js │ │ │ │ ├── files_6d.html │ │ │ │ ├── files_6d.js │ │ │ │ ├── files_6e.html │ │ │ │ ├── files_6e.js │ │ │ │ ├── files_71.html │ │ │ │ ├── files_71.js │ │ │ │ ├── files_77.html │ │ │ │ ├── files_77.js │ │ │ │ ├── functions_67.html │ │ │ │ ├── functions_67.js │ │ │ │ ├── groups_63.html │ │ │ │ ├── groups_63.js │ │ │ │ ├── groups_65.html │ │ │ │ ├── groups_65.js │ │ │ │ ├── groups_69.html │ │ │ │ ├── groups_69.js │ │ │ │ ├── groups_6a.html │ │ │ │ ├── groups_6a.js │ │ │ │ ├── groups_6b.html │ │ │ │ ├── groups_6b.js │ │ │ │ ├── groups_6d.html │ │ │ │ ├── groups_6d.js │ │ │ │ ├── groups_6e.html │ │ │ │ ├── groups_6e.js │ │ │ │ ├── groups_74.html │ │ │ │ ├── groups_74.js │ │ │ │ ├── groups_77.html │ │ │ │ ├── groups_77.js │ │ │ │ ├── mag_sel.png │ │ │ │ ├── nomatches.html │ │ │ │ ├── pages_62.html │ │ │ │ ├── pages_62.js │ │ │ │ ├── pages_63.html │ │ │ │ ├── pages_63.js │ │ │ │ ├── pages_67.html │ │ │ │ ├── pages_67.js │ │ │ │ ├── pages_6d.html │ │ │ │ ├── pages_6d.js │ │ │ │ ├── pages_6e.html │ │ │ │ ├── pages_6e.js │ │ │ │ ├── pages_73.html │ │ │ │ ├── pages_73.js │ │ │ │ ├── pages_77.html │ │ │ │ ├── pages_77.js │ │ │ │ ├── search.css │ │ │ │ ├── search.js │ │ │ │ ├── search_l.png │ │ │ │ ├── search_m.png │ │ │ │ ├── search_r.png │ │ │ │ ├── typedefs_67.html │ │ │ │ ├── typedefs_67.js │ │ │ │ ├── variables_62.html │ │ │ │ ├── variables_62.js │ │ │ │ ├── variables_67.html │ │ │ │ ├── variables_67.js │ │ │ │ ├── variables_68.html │ │ │ │ ├── variables_68.js │ │ │ │ ├── variables_72.html │ │ │ │ ├── variables_72.js │ │ │ │ ├── variables_73.html │ │ │ │ ├── variables_73.js │ │ │ │ ├── variables_77.html │ │ │ │ └── variables_77.js │ │ │ ├── structGLFWgammaramp.html │ │ │ ├── structGLFWvidmode.html │ │ │ ├── sync_off.png │ │ │ ├── sync_on.png │ │ │ ├── tab_a.png │ │ │ ├── tab_b.png │ │ │ ├── tab_h.png │ │ │ ├── tab_s.png │ │ │ ├── tabs.css │ │ │ ├── window.html │ │ │ └── window_8dox.html │ │ ├── internal.dox │ │ ├── main.dox │ │ ├── monitor.dox │ │ ├── moving.dox │ │ ├── news.dox │ │ ├── quick.dox │ │ └── window.dox │ ├── examples │ │ ├── CMakeLists.txt │ │ ├── boing.c │ │ ├── gears.c │ │ ├── heightmap.c │ │ ├── simple.c │ │ ├── splitview.c │ │ └── wave.c │ ├── include │ │ └── GLFW │ │ │ ├── glfw3.h │ │ │ └── glfw3native.h │ ├── src │ │ ├── CMakeLists.txt │ │ ├── clipboard.c │ │ ├── cocoa_clipboard.m │ │ ├── cocoa_gamma.c │ │ ├── cocoa_init.m │ │ ├── cocoa_joystick.m │ │ ├── cocoa_monitor.m │ │ ├── cocoa_platform.h │ │ ├── cocoa_time.c │ │ ├── cocoa_window.m │ │ ├── config.h.in │ │ ├── context.c │ │ ├── egl_context.c │ │ ├── egl_platform.h │ │ ├── gamma.c │ │ ├── glfw3.pc.in │ │ ├── glfwConfig.cmake.in │ │ ├── glfwConfigVersion.cmake.in │ │ ├── glx_context.c │ │ ├── glx_platform.h │ │ ├── init.c │ │ ├── input.c │ │ ├── internal.h │ │ ├── joystick.c │ │ ├── monitor.c │ │ ├── nsgl_context.m │ │ ├── nsgl_platform.h │ │ ├── time.c │ │ ├── wgl_context.c │ │ ├── wgl_platform.h │ │ ├── win32_clipboard.c │ │ ├── win32_gamma.c │ │ ├── win32_init.c │ │ ├── win32_joystick.c │ │ ├── win32_monitor.c │ │ ├── win32_platform.h │ │ ├── win32_time.c │ │ ├── win32_window.c │ │ ├── window.c │ │ ├── x11_clipboard.c │ │ ├── x11_gamma.c │ │ ├── x11_init.c │ │ ├── x11_joystick.c │ │ ├── x11_monitor.c │ │ ├── x11_platform.h │ │ ├── x11_time.c │ │ ├── x11_unicode.c │ │ └── x11_window.c │ └── tests │ │ ├── CMakeLists.txt │ │ ├── accuracy.c │ │ ├── clipboard.c │ │ ├── defaults.c │ │ ├── events.c │ │ ├── fsaa.c │ │ ├── gamma.c │ │ ├── glfwinfo.c │ │ ├── iconify.c │ │ ├── joysticks.c │ │ ├── modes.c │ │ ├── peter.c │ │ ├── reopen.c │ │ ├── sharing.c │ │ ├── tearing.c │ │ ├── threads.c │ │ ├── title.c │ │ └── windows.c ├── include │ ├── curl │ │ ├── LICENSE-curl │ │ ├── curl.h │ │ ├── curlbuild.h │ │ ├── curlbuild.h.cmake │ │ ├── curlbuild.h.in │ │ ├── curlrules.h │ │ ├── curlver.h │ │ ├── easy.h │ │ ├── mprintf.h │ │ ├── multi.h │ │ ├── stdcheaders.h │ │ ├── system.h │ │ └── typecheck-gcc.h │ └── zlib │ │ ├── LICENSE-zlib │ │ ├── zconf.h │ │ └── zlib.h ├── lib │ └── win64 │ │ ├── OpenAL64.lib │ │ ├── freetype247_64.lib │ │ ├── libcurl.lib │ │ ├── libpng64.lib │ │ └── zlibwapi.lib ├── libircclient │ ├── LICENSE-libircclient │ ├── gcc │ │ └── Makefile │ ├── include │ │ ├── libirc_errors.h │ │ ├── libirc_events.h │ │ ├── libirc_options.h │ │ ├── libirc_rfcnumeric.h │ │ └── libircclient.h │ ├── libircclient.vcxproj │ ├── libircclient.vcxproj.filters │ └── src │ │ ├── colors.c │ │ ├── dcc.c │ │ ├── dcc.h │ │ ├── errors.c │ │ ├── libircclient.c │ │ ├── params.h │ │ ├── portable.c │ │ ├── session.h │ │ ├── sockets.c │ │ ├── ssl.c │ │ └── utils.c ├── libpng │ ├── LICENSE-libpng │ ├── cexcept.h │ ├── libpng │ │ ├── libpng.vcxproj │ │ └── libpng.vcxproj.filters │ ├── png.c │ ├── png.h │ ├── pngconf.h │ ├── pngdebug.h │ ├── pngerror.c │ ├── pngget.c │ ├── pnginfo.h │ ├── pnglibconf.h │ ├── pngmem.c │ ├── pngpread.c │ ├── pngpriv.h │ ├── pngread.c │ ├── pngrio.c │ ├── pngrtran.c │ ├── pngrutil.c │ ├── pngset.c │ ├── pngstruct.h │ ├── pngtrans.c │ ├── pngvalid.c │ ├── pngwio.c │ ├── pngwrite.c │ ├── pngwtran.c │ └── pngwutil.c ├── linux │ ├── Makefile │ └── build.sh ├── loader │ ├── SR2Loader │ │ ├── HybridCRT.props │ │ ├── SR2Loader.rc │ │ ├── SR2Loader.vcxproj │ │ ├── SR2Loader.vcxproj.filters │ │ └── resource.h │ └── main.c ├── msvc │ └── Star Ruler 2 │ │ ├── Star Ruler 2.rc │ │ ├── Star Ruler 2.sln │ │ ├── Star Ruler 2.vcxproj │ │ ├── Star Ruler 2.vcxproj.filters │ │ └── resource.h ├── network │ ├── gcc │ │ └── Makefile │ ├── include │ │ ├── network.h │ │ └── network │ │ │ ├── address.h │ │ │ ├── client.h │ │ │ ├── connection.h │ │ │ ├── init.h │ │ │ ├── lobby.h │ │ │ ├── message.h │ │ │ ├── message_handler.h │ │ │ ├── message_types.h │ │ │ ├── sequence.h │ │ │ ├── server.h │ │ │ ├── time.h │ │ │ └── transport.h │ ├── network │ │ ├── network.vcxproj │ │ └── network.vcxproj.filters │ ├── source │ │ ├── address.cpp │ │ ├── client.cpp │ │ ├── connection.cpp │ │ ├── init.cpp │ │ ├── lobby.cpp │ │ ├── message.cpp │ │ ├── message_handler.cpp │ │ ├── sequence.cpp │ │ ├── server.cpp │ │ ├── time.cpp │ │ └── transport.cpp │ └── test │ │ ├── test_client.cpp │ │ └── test_server.cpp ├── os │ ├── gcc │ │ └── Makefile │ ├── include │ │ ├── files.h │ │ ├── threads.h │ │ └── virtual_asm.h │ ├── os │ │ ├── os.vcxproj │ │ └── os.vcxproj.filters │ └── source │ │ ├── files.cpp │ │ ├── files_linux.cpp │ │ ├── files_win.cpp │ │ ├── threads.cpp │ │ ├── threads_gcc.cpp │ │ ├── threads_windows.cpp │ │ ├── virtual_asm_linux.cpp │ │ ├── virtual_asm_windows.cpp │ │ ├── virtual_asm_x64.cpp │ │ └── virtual_asm_x86.cpp ├── patcher │ └── patcher │ │ ├── patcher.cpp │ │ ├── patcher.vcxproj │ │ └── patcher.vcxproj.filters ├── rapidjson │ ├── include │ │ └── rapidjson │ │ │ ├── allocators.h │ │ │ ├── cursorstreamwrapper.h │ │ │ ├── document.h │ │ │ ├── encodedstream.h │ │ │ ├── encodings.h │ │ │ ├── error │ │ │ ├── en.h │ │ │ └── error.h │ │ │ ├── filereadstream.h │ │ │ ├── filewritestream.h │ │ │ ├── fwd.h │ │ │ ├── internal │ │ │ ├── biginteger.h │ │ │ ├── clzll.h │ │ │ ├── diyfp.h │ │ │ ├── dtoa.h │ │ │ ├── ieee754.h │ │ │ ├── itoa.h │ │ │ ├── meta.h │ │ │ ├── pow10.h │ │ │ ├── regex.h │ │ │ ├── stack.h │ │ │ ├── strfunc.h │ │ │ ├── strtod.h │ │ │ └── swap.h │ │ │ ├── istreamwrapper.h │ │ │ ├── memorybuffer.h │ │ │ ├── memorystream.h │ │ │ ├── msinttypes │ │ │ ├── inttypes.h │ │ │ └── stdint.h │ │ │ ├── ostreamwrapper.h │ │ │ ├── pointer.h │ │ │ ├── prettywriter.h │ │ │ ├── rapidjson.h │ │ │ ├── reader.h │ │ │ ├── schema.h │ │ │ ├── stream.h │ │ │ ├── stringbuffer.h │ │ │ ├── uri.h │ │ │ └── writer.h │ └── license.txt ├── sound │ ├── LICENSE-OpenALSoft │ ├── LICENSE-ogg │ ├── LICENSE-vorbis │ ├── OpenALSoft │ │ ├── al.h │ │ ├── alc.h │ │ ├── alext.h │ │ ├── efx-creative.h │ │ ├── efx-presets.h │ │ └── efx.h │ ├── gcc │ │ └── Makefile │ ├── include │ │ ├── IAudioReference.h │ │ ├── ISound.h │ │ ├── ISoundDevice.h │ │ ├── ISoundSource.h │ │ ├── SAutoDrop.h │ │ ├── SAutoLocker.h │ │ ├── SLoadError.h │ │ ├── SoundTypes.h │ │ └── sound_vector.h │ ├── ogg │ │ ├── ogg.h │ │ └── os_types.h │ ├── sound │ │ ├── sound.vcxproj │ │ └── sound.vcxproj.filters │ ├── source │ │ ├── CSSOgg.cpp │ │ ├── CSSWave.cpp │ │ ├── CSSWave.h │ │ ├── CSound.cpp │ │ ├── CSound.h │ │ ├── CSoundDevice.cpp │ │ ├── CSoundSource.cpp │ │ ├── CSoundSource.h │ │ ├── CStreamSound.cpp │ │ ├── CStreamSound.h │ │ ├── IAudioReference.cpp │ │ ├── ISound.cpp │ │ ├── ISoundDevice.cpp │ │ └── ISoundSource.cpp │ └── vorbis │ │ ├── codec.h │ │ ├── vorbisenc.h │ │ └── vorbisfile.h └── util │ ├── gcc │ └── Makefile │ ├── include │ ├── BiPatch │ │ ├── Vector.h │ │ └── bilinear.h │ ├── aabbox.h │ ├── color.h │ ├── constants.h │ ├── frustum.h │ ├── image.h │ ├── line3d.h │ ├── matrix.h │ ├── mesh.h │ ├── num_util.h │ ├── plane.h │ ├── quaternion.h │ ├── rect.h │ ├── str_util.h │ ├── vec2.h │ ├── vec3.h │ ├── vec4.h │ └── vertex.h │ ├── source │ ├── Vector.cpp │ ├── bilinear.cpp │ ├── image.cpp │ └── str_util.cpp │ └── util │ ├── util.vcxproj │ └── util.vcxproj.filters ├── sr2.icns ├── sr2.ico └── sr2.png /.gitignore: -------------------------------------------------------------------------------- 1 | *.obj 2 | *.log 3 | *.pdb 4 | *.tlog 5 | *.idb 6 | *.user 7 | *.db 8 | *.opendb 9 | *.suo 10 | *.ipch 11 | *.res 12 | *.sdf 13 | *.db-shm 14 | *.db-wal 15 | *.iobj 16 | *.ipdb 17 | *.ilk 18 | *.o 19 | *.d 20 | *.exp 21 | *.recipe 22 | *.FileListAbsolute.txt 23 | .vs 24 | /mods 25 | /scripts 26 | /locales 27 | /data 28 | /maps 29 | /obj 30 | /bin/lin64 31 | /source/angelscript/lib 32 | CMakeFiles 33 | shipsets.txt 34 | patcher.exe 35 | sound*.dll 36 | 37 | # clangd config 38 | compile_commands.json 39 | 40 | # clangd cache 41 | .cache 42 | 43 | # CLion 44 | .idea 45 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | include source/linux/Makefile 2 | -------------------------------------------------------------------------------- /Star Ruler 2.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/Star Ruler 2.exe -------------------------------------------------------------------------------- /StarRuler2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -eo pipefail 3 | 4 | #Figure out where the script is located 5 | if [[ -L "$0" ]]; then 6 | script_loc="$(readlink "$0")" 7 | else 8 | script_loc="$0" 9 | fi 10 | cd "$(dirname "$script_loc")" 11 | 12 | bin_folder="bin" 13 | args=() 14 | for arg in "$@"; do 15 | if [ "$arg" = "--legacy" ]; then 16 | bin_folder="bin_legacy" 17 | else 18 | args+=("$arg") 19 | fi 20 | done 21 | 22 | #Execute the right binary for this architecture 23 | if [ "$(uname)" = "Darwin" ]; then 24 | chmod +x ./$bin_folder/osx64/StarRuler2.bin 25 | DYLD_LIBRARY_PATH="./$bin_folder/osx64/:$DYLD_LIBRARY_PATH" exec ./$bin_folder/osx64/StarRuler2.bin "${args[@]}" 26 | elif [ "$(uname -m)" = "x86_64" ]; then 27 | chmod +x ./$bin_folder/lin64/StarRuler2.bin 28 | LD_LIBRARY_PATH="./$bin_folder/lin64/:$LD_LIBRARY_PATH" exec ./$bin_folder/lin64/StarRuler2.bin "${args[@]}" 29 | else 30 | chmod +x ./$bin_folder/lin32/StarRuler2.bin 31 | LD_LIBRARY_PATH="./$bin_folder/lin32/:$LD_LIBRARY_PATH" exec ./$bin_folder/lin32/StarRuler2.bin "${args[@]}" 32 | fi; 33 | # vim: set ff=unix: 34 | -------------------------------------------------------------------------------- /bin/win64/OpenAL64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/bin/win64/OpenAL64.dll -------------------------------------------------------------------------------- /bin/win64/libcurl.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/bin/win64/libcurl.dll -------------------------------------------------------------------------------- /bin/win64/libogg.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/bin/win64/libogg.dll -------------------------------------------------------------------------------- /bin/win64/libpng64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/bin/win64/libpng64.dll -------------------------------------------------------------------------------- /bin/win64/libvorbis.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/bin/win64/libvorbis.dll -------------------------------------------------------------------------------- /bin/win64/libvorbisfile.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/bin/win64/libvorbisfile.dll -------------------------------------------------------------------------------- /bin/win64/zlibwapi.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/bin/win64/zlibwapi.dll -------------------------------------------------------------------------------- /credits.txt: -------------------------------------------------------------------------------- 1 | === BLIND MIND STUDIOS === 2 | Amy Ackermann 3 | James Woodall 4 | 5 | === GLACICLE === 6 | Lucas de Vries 7 | 8 | === WITH HELP FROM === 9 | Jon Micheelsen - 2D/3D Art 10 | Nicolai Kilstrup - 3D Art 11 | Jason Covenant - Musician, Sound Effects 12 | Daniel Swearingen - Musician, Sound Effects 13 | 14 | === SPECIAL THANKS TO === 15 | Alarcarr - For tireless gameplay and balance testing! 16 | 17 | And a big thank you to all who helped us test and improve the game throughout 18 | the early alpha, beta, and early access periods. 19 | -------------------------------------------------------------------------------- /source/angelscript/LICENSE-angelscript: -------------------------------------------------------------------------------- 1 | AngelCode Scripting Library 2 | 3 | Copyright c 2003-2017 Andreas Jonsson 4 | 5 | This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. 6 | 7 | Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 8 | 9 | The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 10 | 11 | Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 12 | 13 | This notice may not be removed or altered from any source distribution. -------------------------------------------------------------------------------- /source/angelscript/projects/msvc10/angelscript.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /source/angelscript/source/as_callfunc_arm.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/angelscript/source/as_callfunc_arm.cpp -------------------------------------------------------------------------------- /source/angelscript/source/as_callfunc_arm_gcc.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/angelscript/source/as_callfunc_arm_gcc.S -------------------------------------------------------------------------------- /source/as_addons/LICENSE-angelscript: -------------------------------------------------------------------------------- 1 | AngelCode Scripting Library 2 | 3 | Copyright c 2003-2017 Andreas Jonsson 4 | 5 | This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. 6 | 7 | Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 8 | 9 | The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 10 | 11 | Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 12 | 13 | This notice may not be removed or altered from any source distribution. -------------------------------------------------------------------------------- /source/as_addons/include/scriptmath.h: -------------------------------------------------------------------------------- 1 | #ifndef SCRIPTMATH_H 2 | #define SCRIPTMATH_H 3 | 4 | #ifndef ANGELSCRIPT_H 5 | // Avoid having to inform include path if header is already include before 6 | #include 7 | #endif 8 | 9 | 10 | BEGIN_AS_NAMESPACE 11 | 12 | // This function will determine the configuration of the engine 13 | // and use one of the two functions below to register the math functions 14 | void RegisterScriptMath(asIScriptEngine *engine); 15 | 16 | // Call this function to register the math functions 17 | // using native calling conventions 18 | void RegisterScriptMath_Native(asIScriptEngine *engine); 19 | 20 | // Use this one instead if native calling conventions 21 | // are not supported on the target platform 22 | void RegisterScriptMath_Generic(asIScriptEngine *engine); 23 | 24 | END_AS_NAMESPACE 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /source/as_addons/include/scriptstdstring.h: -------------------------------------------------------------------------------- 1 | // 2 | // Script std::string 3 | // 4 | // This function registers the std::string type with AngelScript to be used as the default string type. 5 | // 6 | // The string type is registered as a value type, thus may have performance issues if a lot of 7 | // string operations are performed in the script. However, for relatively few operations, this should 8 | // not cause any problem for most applications. 9 | // 10 | 11 | #ifndef SCRIPTSTDSTRING_H 12 | #define SCRIPTSTDSTRING_H 13 | 14 | #include 15 | #include 16 | 17 | BEGIN_AS_NAMESPACE 18 | 19 | void RegisterStdString(asIScriptEngine *engine); 20 | void RegisterStdStringUtils(asIScriptEngine *engine); 21 | 22 | END_AS_NAMESPACE 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /source/doc/template.enum.html: -------------------------------------------------------------------------------- 1 | <%namespace file="template.util.html" name="util" /> 2 | 3 | ${name} 4 | 5 | 6 |
7 |

${name}

8 | % if doc: 9 | ${doc} 10 | % endif 11 |
12 | 13 |
14 |
    15 | % for v in values: 16 |
  • ${v}
  • 17 | % endfor 18 |
19 |
20 | -------------------------------------------------------------------------------- /source/doc/template.functions.html: -------------------------------------------------------------------------------- 1 | <%namespace file="template.util.html" name="util" /> 2 | 3 | ${engine} - Functions 4 | 5 | 6 |
7 |

Functions

8 |
    9 | % for i, m in enumerate(functions): 10 |
  • ${util.func(m, "#"+str(i) if "doc" in m else None)}
  • 11 | % endfor 12 |
13 |
14 | 15 | % for i, m in enumerate(functions): 16 | % if "doc" in m: 17 |
18 |

${util.func(m)}

19 | ${m["doc"]} 20 | 21 | % if len(m["arguments"]): 22 |
    23 | % for a in m["arguments"]: 24 | % if "doc" in a and a["doc"]: 25 |
  • 26 | ${util.type(a["type"])} ${a["name"]} — ${a["doc"]} 27 |
  • 28 | % endif 29 | % endfor 30 |
31 | % endif 32 | 33 | % if "doc" in m["return"]: 34 | Returns ${util.type(m["return"]["type"])}: ${m["return"]["doc"]} 35 | % endif 36 |
37 | % endif 38 | % endfor 39 | -------------------------------------------------------------------------------- /source/doc/template.globals.html: -------------------------------------------------------------------------------- 1 | <%namespace file="template.util.html" name="util" /> 2 | 3 | ${engine} - Globals 4 | 5 | 6 | <% 7 | ns = {} 8 | for g in globals: 9 | if g["ns"] not in ns: 10 | ns[g["ns"]] = [] 11 | ns[g["ns"]].append(g) 12 | %> 13 | % for name, n in ns.items(): 14 |
15 |

${name if name else "Globals"}

16 |
    17 | % for g in n: 18 |
  • 19 | ${util.type(g["type"])} ${g["ns"]+"::" if g["ns"] else ""}${g["name"]} 20 | % if "doc" in g: 21 | — ${g["doc"]} 22 | % endif 23 |
  • 24 | % endfor 25 |
26 |
27 | % endfor 28 | -------------------------------------------------------------------------------- /source/doc/template.top.html: -------------------------------------------------------------------------------- 1 | 2 | Star Ruler 2 API Documentation 3 | 4 | 5 |
6 |

Client Engine

7 | The client script engine handles the game user interface. 8 | View Client API 9 |
10 | 11 |
12 |

Server Engine

13 | The server script engine handles the game logic backend and manages the game state. 14 | View Server API 15 |
16 | -------------------------------------------------------------------------------- /source/doc/template.util.html: -------------------------------------------------------------------------------- 1 | <%def name="type(name)"> 2 | <% 3 | cname = name 4 | if cname.startswith("const "): 5 | cname = cname[6:] 6 | if cname.endswith("@"): 7 | cname = cname[:-1] 8 | if cname.endswith("&"): 9 | cname = cname[:-1] 10 | cname = cname.strip() 11 | %> 12 | % if cname in data["classmap"]: 13 | ${name} 14 | % elif cname in data["enummap"]: 15 | ${name} 16 | % else: 17 | ${name} 18 | % endif 19 | 20 | 21 | <%def name="func(f, link=None)"> 22 | ${type(f["return"]["type"])} 23 | % if link is not None: 24 | ${f["name"]}( 25 | % else: 26 | ${f["name"]}( 27 | % endif 28 | % for i, arg in enumerate(f["arguments"]): 29 | ${type(arg["type"])} ${arg["name"]}<% 30 | d = "" 31 | if "default" in arg: 32 | d = " = "+arg["default"] 33 | %>${d}${"," if i != len(f["arguments"]) - 1 else ""} 34 | % endfor 35 | ) ${"const" if f["const"] else ""} 36 | 37 | -------------------------------------------------------------------------------- /source/freetype2/builds/detect.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/freetype2/builds/detect.mk -------------------------------------------------------------------------------- /source/freetype2/builds/mac/ascii2mpw.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import sys 3 | import string 4 | 5 | if len( sys.argv ) == 1 : 6 | for asc_line in sys.stdin.readlines(): 7 | mpw_line = string.replace(asc_line, "\\xA5", "\245") 8 | mpw_line = string.replace(mpw_line, "\\xB6", "\266") 9 | mpw_line = string.replace(mpw_line, "\\xC4", "\304") 10 | mpw_line = string.replace(mpw_line, "\\xC5", "\305") 11 | mpw_line = string.replace(mpw_line, "\\xFF", "\377") 12 | mpw_line = string.replace(mpw_line, "\n", "\r") 13 | mpw_line = string.replace(mpw_line, "\\n", "\n") 14 | sys.stdout.write(mpw_line) 15 | elif sys.argv[1] == "-r" : 16 | for mpw_line in sys.stdin.readlines(): 17 | asc_line = string.replace(mpw_line, "\n", "\\n") 18 | asc_line = string.replace(asc_line, "\r", "\n") 19 | asc_line = string.replace(asc_line, "\245", "\\xA5") 20 | asc_line = string.replace(asc_line, "\266", "\\xB6") 21 | asc_line = string.replace(asc_line, "\304", "\\xC4") 22 | asc_line = string.replace(asc_line, "\305", "\\xC5") 23 | asc_line = string.replace(asc_line, "\377", "\\xFF") 24 | sys.stdout.write(asc_line) 25 | -------------------------------------------------------------------------------- /source/freetype2/builds/newline: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /source/freetype2/builds/os2/os2-dev.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 configuration rules for OS/2 + GCC 3 | # 4 | # Development version without optimizations. 5 | # 6 | 7 | 8 | # Copyright 1996-2000, 2003, 2006 by 9 | # David Turner, Robert Wilhelm, and Werner Lemberg. 10 | # 11 | # This file is part of the FreeType project, and may only be used, modified, 12 | # and distributed under the terms of the FreeType project license, 13 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 14 | # indicate that you have read the license and understand and accept it 15 | # fully. 16 | 17 | 18 | DEVEL_DIR := $(TOP_DIR)/devel 19 | 20 | # include OS/2-specific definitions 21 | include $(TOP_DIR)/builds/os2/os2-def.mk 22 | 23 | # include gcc-specific definitions 24 | include $(TOP_DIR)/builds/compiler/gcc-dev.mk 25 | 26 | # include linking instructions 27 | include $(TOP_DIR)/builds/link_dos.mk 28 | 29 | 30 | # EOF 31 | -------------------------------------------------------------------------------- /source/freetype2/builds/os2/os2-gcc.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 configuration rules for the OS/2 + gcc 3 | # 4 | 5 | 6 | # Copyright 1996-2000 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | # include OS/2-specific definitions 17 | include $(TOP_DIR)/builds/os2/os2-def.mk 18 | 19 | # include gcc-specific definitions 20 | include $(TOP_DIR)/builds/compiler/gcc.mk 21 | 22 | # include linking instructions 23 | include $(TOP_DIR)/builds/link_dos.mk 24 | 25 | 26 | # EOF 27 | -------------------------------------------------------------------------------- /source/freetype2/builds/unix/freetype2.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: FreeType 2 7 | Description: A free, high-quality, and portable font engine. 8 | Version: @ft_version@ 9 | Requires: 10 | Libs: -L${libdir} -lfreetype 11 | Libs.private: @LIBZ@ @LIBBZ2@ @FT2_EXTRA_LIBS@ 12 | Cflags: -I${includedir}/freetype2 -I${includedir} 13 | -------------------------------------------------------------------------------- /source/freetype2/builds/unix/ft-munmap.m4: -------------------------------------------------------------------------------- 1 | ## FreeType specific autoconf tests 2 | # 3 | # Copyright 2002, 2003, 2004 by 4 | # David Turner, Robert Wilhelm, and Werner Lemberg. 5 | # 6 | # This file is part of the FreeType project, and may only be used, modified, 7 | # and distributed under the terms of the FreeType project license, 8 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 9 | # indicate that you have read the license and understand and accept it 10 | # fully. 11 | 12 | # serial 2 13 | 14 | AC_DEFUN([FT_MUNMAP_PARAM], 15 | [AC_MSG_CHECKING([for munmap's first parameter type]) 16 | AC_COMPILE_IFELSE([ 17 | AC_LANG_SOURCE([[ 18 | 19 | #include 20 | #include 21 | int munmap(void *, size_t); 22 | 23 | ]]) 24 | ], 25 | [AC_MSG_RESULT([void *]) 26 | AC_DEFINE([MUNMAP_USES_VOIDP], 27 | [], 28 | [Define to 1 if the first argument of munmap is of type void *])], 29 | [AC_MSG_RESULT([char *])]) 30 | ]) 31 | 32 | # end of ft-munmap.m4 33 | -------------------------------------------------------------------------------- /source/freetype2/builds/unix/unix-dev.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 Configuration rules for Unix + GCC 3 | # 4 | # Development version without optimizations & libtool 5 | # and no installation. 6 | # 7 | 8 | 9 | # Copyright 1996-2000, 2003, 2006 by 10 | # David Turner, Robert Wilhelm, and Werner Lemberg. 11 | # 12 | # This file is part of the FreeType project, and may only be used, modified, 13 | # and distributed under the terms of the FreeType project license, 14 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 15 | # indicate that you have read the license and understand and accept it 16 | # fully. 17 | 18 | 19 | DEVEL_DIR := $(TOP_DIR)/devel 20 | 21 | include $(TOP_DIR)/builds/unix/unixddef.mk 22 | include $(TOP_DIR)/builds/compiler/gcc-dev.mk 23 | include $(TOP_DIR)/builds/link_std.mk 24 | 25 | 26 | # EOF 27 | -------------------------------------------------------------------------------- /source/freetype2/builds/unix/unix-lcc.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 Configuration rules for Unix + LCC 3 | # 4 | # Development version without optimizations & libtool 5 | # and no installation. 6 | # 7 | 8 | 9 | # Copyright 1996-2000 by 10 | # David Turner, Robert Wilhelm, and Werner Lemberg. 11 | # 12 | # This file is part of the FreeType project, and may only be used, modified, 13 | # and distributed under the terms of the FreeType project license, 14 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 15 | # indicate that you have read the license and understand and accept it 16 | # fully. 17 | 18 | 19 | include $(TOP_DIR)/builds/unix/unixddef.mk 20 | include $(TOP_DIR)/builds/compiler/unix-lcc.mk 21 | include $(TOP_DIR)/builds/link_std.mk 22 | 23 | 24 | # EOF 25 | -------------------------------------------------------------------------------- /source/freetype2/builds/win32/detect.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/freetype2/builds/win32/detect.mk -------------------------------------------------------------------------------- /source/freetype2/builds/win32/w32-bcc.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 Borland C++ on Win32 3 | # 4 | 5 | 6 | # Copyright 1996-2000, 2003, 2005 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | # default definitions of the export list 16 | # 17 | EXPORTS_LIST = $(OBJ_DIR)/freetype.def 18 | EXPORTS_OPTIONS = /DEF:$(EXPORTS_LIST) 19 | APINAMES_OPTIONS := -dfreetype.dll -wB 20 | 21 | include $(TOP_DIR)/builds/win32/win32-def.mk 22 | include $(TOP_DIR)/builds/compiler/bcc.mk 23 | 24 | # include linking instructions 25 | include $(TOP_DIR)/builds/link_dos.mk 26 | 27 | 28 | # EOF 29 | -------------------------------------------------------------------------------- /source/freetype2/builds/win32/w32-bccd.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 Borland C++ on Win32 + debugging 3 | # 4 | 5 | 6 | # Copyright 1996-2000, 2003, 2006 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | DEVEL_DIR := $(TOP_DIR)/devel 17 | 18 | include $(TOP_DIR)/builds/win32/win32-def.mk 19 | 20 | include $(TOP_DIR)/builds/compiler/bcc-dev.mk 21 | 22 | # include linking instructions 23 | include $(TOP_DIR)/builds/link_dos.mk 24 | 25 | 26 | # EOF 27 | -------------------------------------------------------------------------------- /source/freetype2/builds/win32/w32-dev.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 configuration rules for Win32 + GCC 3 | # 4 | # Development version without optimizations. 5 | # 6 | 7 | 8 | # Copyright 1996-2000, 2003, 2006 by 9 | # David Turner, Robert Wilhelm, and Werner Lemberg. 10 | # 11 | # This file is part of the FreeType project, and may only be used, modified, 12 | # and distributed under the terms of the FreeType project license, 13 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 14 | # indicate that you have read the license and understand and accept it 15 | # fully. 16 | 17 | 18 | # NOTE: This version requires that GNU Make is invoked from the Windows 19 | # Shell (_not_ Cygwin BASH)! 20 | # 21 | 22 | DEVEL_DIR := $(TOP_DIR)/devel 23 | 24 | include $(TOP_DIR)/builds/win32/win32-def.mk 25 | 26 | include $(TOP_DIR)/builds/compiler/gcc-dev.mk 27 | 28 | # include linking instructions 29 | include $(TOP_DIR)/builds/link_dos.mk 30 | 31 | 32 | # EOF 33 | -------------------------------------------------------------------------------- /source/freetype2/builds/win32/w32-gcc.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 configuration rules for Win32 + GCC 3 | # 4 | 5 | 6 | # Copyright 1996-2000, 2003, 2005 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | # default definitions of the export list 16 | # 17 | EXPORTS_LIST = $(OBJ_DIR)/freetype.def 18 | EXPORTS_OPTIONS = $(EXPORTS_LIST) 19 | APINAMES_OPTIONS := -dfreetype.dll -w 20 | 21 | # include Win32-specific definitions 22 | include $(TOP_DIR)/builds/win32/win32-def.mk 23 | 24 | # include gcc-specific definitions 25 | include $(TOP_DIR)/builds/compiler/gcc.mk 26 | 27 | # include linking instructions 28 | include $(TOP_DIR)/builds/link_dos.mk 29 | 30 | 31 | # EOF 32 | -------------------------------------------------------------------------------- /source/freetype2/builds/win32/w32-icc.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 configuration rules for Win32 + IBM Visual Age C++ 3 | # 4 | 5 | 6 | # Copyright 1996-2000, 2005 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | # default definitions of the export list 16 | # 17 | EXPORTS_LIST = $(OBJ_DIR)/freetype.def 18 | EXPORTS_OPTIONS = /DEF:$(EXPORTS_LIST) 19 | APINAMES_OPTIONS := -dfreetype.dll -w 20 | 21 | include $(TOP_DIR)/builds/win32/win32-def.mk 22 | include $(TOP_DIR)/builds/compiler/visualage.mk 23 | 24 | # include linking instructions 25 | include $(TOP_DIR)/builds/link_dos.mk 26 | 27 | 28 | # EOF 29 | -------------------------------------------------------------------------------- /source/freetype2/builds/win32/w32-intl.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 configuration rules for Intel C/C++ on Win32 3 | # 4 | 5 | 6 | # Copyright 1996-2000, 2003, 2005 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | # default definitions of the export list 16 | # 17 | EXPORTS_LIST = $(OBJ_DIR)/freetype.def 18 | EXPORTS_OPTIONS = /DEF:$(EXPORTS_LIST) 19 | APINAMES_OPTIONS := -dfreetype.dll -w 20 | 21 | include $(TOP_DIR)/builds/win32/win32-def.mk 22 | include $(TOP_DIR)/builds/compiler/intelc.mk 23 | 24 | # include linking instructions 25 | include $(TOP_DIR)/builds/link_dos.mk 26 | 27 | 28 | # EOF 29 | -------------------------------------------------------------------------------- /source/freetype2/builds/win32/w32-lcc.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 configuration rules for Win32 + LCC 3 | # 4 | 5 | 6 | # Copyright 1996-2000 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | SEP := / 17 | include $(TOP_DIR)/builds/win32/win32-def.mk 18 | include $(TOP_DIR)/builds/compiler/win-lcc.mk 19 | 20 | # include linking instructions 21 | include $(TOP_DIR)/builds/link_dos.mk 22 | 23 | # EOF 24 | 25 | -------------------------------------------------------------------------------- /source/freetype2/builds/win32/w32-mingw32.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 configuration rules for mingw32 3 | # 4 | 5 | 6 | # Copyright 1996-2000, 2003, 2005 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | # default definitions of the export list 16 | # 17 | EXPORTS_LIST = $(OBJ_DIR)/freetype.def 18 | EXPORTS_OPTIONS = $(EXPORTS_LIST) 19 | APINAMES_OPTIONS := -dfreetype.dll -w 20 | 21 | # include Win32-specific definitions 22 | include $(TOP_DIR)/builds/win32/win32-def.mk 23 | 24 | LIBRARY := lib$(PROJECT) 25 | 26 | # include gcc-specific definitions 27 | include $(TOP_DIR)/builds/compiler/gcc.mk 28 | 29 | # include linking instructions 30 | include $(TOP_DIR)/builds/link_dos.mk 31 | 32 | 33 | # EOF 34 | -------------------------------------------------------------------------------- /source/freetype2/builds/win32/w32-vcc.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 Visual C++ on Win32 3 | # 4 | 5 | 6 | # Copyright 1996-2000, 2003, 2005 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | # definitions of the export list 16 | # 17 | EXPORTS_LIST = $(OBJ_DIR)/freetype.def 18 | EXPORTS_OPTIONS = /DEF:$(EXPORTS_LIST) 19 | APINAMES_OPTIONS := -dfreetype.dll -w 20 | 21 | include $(TOP_DIR)/builds/win32/win32-def.mk 22 | include $(TOP_DIR)/builds/compiler/visualc.mk 23 | 24 | # include linking instructions 25 | include $(TOP_DIR)/builds/link_dos.mk 26 | 27 | 28 | # EOF 29 | -------------------------------------------------------------------------------- /source/freetype2/builds/win32/w32-wat.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 configuration rules for Watcom C/C++ 3 | # 4 | 5 | 6 | # Copyright 1996-2000, 2003, 2005 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | # redefine export symbol definitions 16 | # 17 | EXPORTS_LIST = $(OBJ_DIR)/watcom-ftexports.lbc 18 | EXPORTS_OPTIONS = -\"export @$(EXPORTS_LIST)\"- 19 | APINAMES_OPTIONS := -wW 20 | 21 | include $(TOP_DIR)/builds/win32/win32-def.mk 22 | include $(TOP_DIR)/builds/compiler/watcom.mk 23 | 24 | # include linking instructions 25 | include $(TOP_DIR)/builds/link_dos.mk 26 | 27 | 28 | # EOF 29 | -------------------------------------------------------------------------------- /source/freetype2/src/Jamfile: -------------------------------------------------------------------------------- 1 | # FreeType 2 src Jamfile 2 | # 3 | # Copyright 2001, 2002 by 4 | # David Turner, Robert Wilhelm, and Werner Lemberg. 5 | # 6 | # This file is part of the FreeType project, and may only be used, modified, 7 | # and distributed under the terms of the FreeType project license, 8 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 9 | # indicate that you have read the license and understand and accept it 10 | # fully. 11 | 12 | SubDir FT2_TOP $(FT2_SRC_DIR) ; 13 | 14 | # The file is used to define macros that are 15 | # later used in #include statements. It needs to be parsed in order to 16 | # record these definitions. 17 | # 18 | HDRMACRO [ FT2_SubDir $(FT2_INCLUDE_DIR) internal internal.h ] ; 19 | 20 | for xx in $(FT2_COMPONENTS) 21 | { 22 | SubInclude FT2_TOP $(FT2_SRC_DIR) $(xx) ; 23 | } 24 | 25 | # end of src Jamfile 26 | -------------------------------------------------------------------------------- /source/freetype2/src/autofit/Jamfile: -------------------------------------------------------------------------------- 1 | # FreeType 2 src/autofit Jamfile 2 | # 3 | # Copyright 2003, 2004, 2005, 2006, 2007, 2009 by 4 | # David Turner, Robert Wilhelm, and Werner Lemberg. 5 | # 6 | # This file is part of the FreeType project, and may only be used, modified, 7 | # and distributed under the terms of the FreeType project license, 8 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 9 | # indicate that you have read the license and understand and accept it 10 | # fully. 11 | 12 | SubDir FT2_TOP src autofit ; 13 | 14 | { 15 | local _sources ; 16 | 17 | # define FT2_AUTOFIT2 to enable experimental latin hinter replacement 18 | if $(FT2_AUTOFIT2) 19 | { 20 | DEFINES += FT_OPTION_AUTOFIT2 ; 21 | } 22 | if $(FT2_MULTI) 23 | { 24 | _sources = afangles afglobal afhints aflatin afcjk afindic afloader afmodule afdummy afwarp afpic ; 25 | 26 | if $(FT2_AUTOFIT2) 27 | { 28 | _sources += aflatin2 ; 29 | } 30 | } 31 | else 32 | { 33 | _sources = autofit ; 34 | } 35 | 36 | Library $(FT2_LIB) : $(_sources).c ; 37 | } 38 | 39 | # end of src/autofit Jamfile 40 | -------------------------------------------------------------------------------- /source/freetype2/src/autofit/afangles.h: -------------------------------------------------------------------------------- 1 | /* 2 | * afangles.h 3 | * 4 | * This is a dummy file, used to please the build system. It is never 5 | * included by the auto-fitter sources. 6 | * 7 | */ 8 | -------------------------------------------------------------------------------- /source/freetype2/src/autofit/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 auto-fitter module definition 3 | # 4 | 5 | 6 | # Copyright 2003, 2004, 2005, 2006 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += AUTOFIT_MODULE 17 | 18 | define AUTOFIT_MODULE 19 | $(OPEN_DRIVER) FT_Module_Class, autofit_module_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)autofit $(ECHO_DRIVER_DESC)automatic hinting module$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/freetype2/src/bdf/Jamfile: -------------------------------------------------------------------------------- 1 | # FreeType 2 src/bdf Jamfile 2 | # 3 | # Copyright 2002 by 4 | # David Turner, Robert Wilhelm, and Werner Lemberg. 5 | # 6 | # This file is part of the FreeType project, and may only be used, modified, 7 | # and distributed under the terms of the FreeType project license, 8 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 9 | # indicate that you have read the license and understand and accept it 10 | # fully. 11 | 12 | SubDir FT2_TOP $(FT2_SRC_DIR) bdf ; 13 | 14 | { 15 | local _sources ; 16 | 17 | if $(FT2_MULTI) 18 | { 19 | _sources = bdfdrivr bdflib ; 20 | } 21 | else 22 | { 23 | _sources = bdf ; 24 | } 25 | 26 | Library $(FT2_LIB) : $(_sources).c ; 27 | } 28 | 29 | # end of src/bdf Jamfile 30 | -------------------------------------------------------------------------------- /source/freetype2/src/bzip2/Jamfile: -------------------------------------------------------------------------------- 1 | # FreeType 2 src/bzip2 Jamfile 2 | # 3 | # Copyright 2010 by 4 | # Joel Klinghed 5 | # 6 | # Based on src/lzw/Jamfile, Copyright 2004, 2006 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | SubDir FT2_TOP $(FT2_SRC_DIR) bzip2 ; 16 | 17 | Library $(FT2_LIB) : ftbzip2.c ; 18 | 19 | # end of src/bzip2 Jamfile 20 | -------------------------------------------------------------------------------- /source/freetype2/src/cff/Jamfile: -------------------------------------------------------------------------------- 1 | # FreeType 2 src/cff Jamfile 2 | # 3 | # Copyright 2001, 2002 by 4 | # David Turner, Robert Wilhelm, and Werner Lemberg. 5 | # 6 | # This file is part of the FreeType project, and may only be used, modified, 7 | # and distributed under the terms of the FreeType project license, 8 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 9 | # indicate that you have read the license and understand and accept it 10 | # fully. 11 | 12 | SubDir FT2_TOP $(FT2_SRC_DIR) cff ; 13 | 14 | { 15 | local _sources ; 16 | 17 | if $(FT2_MULTI) 18 | { 19 | _sources = cffdrivr cffgload cffload cffobjs cffparse cffcmap cffpic ; 20 | } 21 | else 22 | { 23 | _sources = cff ; 24 | } 25 | 26 | Library $(FT2_LIB) : $(_sources).c ; 27 | } 28 | 29 | # end of src/cff Jamfile 30 | -------------------------------------------------------------------------------- /source/freetype2/src/cff/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 CFF module definition 3 | # 4 | 5 | 6 | # Copyright 1996-2000, 2006 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += CFF_DRIVER 17 | 18 | define CFF_DRIVER 19 | $(OPEN_DRIVER) FT_Driver_ClassRec, cff_driver_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)cff $(ECHO_DRIVER_DESC)OpenType fonts with extension *.otf$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/freetype2/src/cid/Jamfile: -------------------------------------------------------------------------------- 1 | # FreeType 2 src/cid Jamfile 2 | # 3 | # Copyright 2001 by 4 | # David Turner, Robert Wilhelm, and Werner Lemberg. 5 | # 6 | # This file is part of the FreeType project, and may only be used, modified, 7 | # and distributed under the terms of the FreeType project license, 8 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 9 | # indicate that you have read the license and understand and accept it 10 | # fully. 11 | 12 | SubDir FT2_TOP $(FT2_SRC_DIR) cid ; 13 | 14 | { 15 | local _sources ; 16 | 17 | if $(FT2_MULTI) 18 | { 19 | _sources = cidobjs cidload cidgload cidriver cidparse ; 20 | } 21 | else 22 | { 23 | _sources = type1cid ; 24 | } 25 | 26 | Library $(FT2_LIB) : $(_sources).c ; 27 | } 28 | 29 | # end of src/cid Jamfile 30 | -------------------------------------------------------------------------------- /source/freetype2/src/cid/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 CID module definition 3 | # 4 | 5 | 6 | # Copyright 1996-2000, 2006 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += TYPE1CID_DRIVER 17 | 18 | define TYPE1CID_DRIVER 19 | $(OPEN_DRIVER) FT_Driver_ClassRec, t1cid_driver_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)cid $(ECHO_DRIVER_DESC)Postscript CID-keyed fonts, no known extension$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/freetype2/src/gxvalid/Jamfile: -------------------------------------------------------------------------------- 1 | # FreeType 2 src/gxvalid Jamfile 2 | # 3 | # Copyright 2005 by 4 | # suzuki toshiya, Masatake YAMATO and Red Hat K.K. 5 | # 6 | # This file is part of the FreeType project, and may only be used, modified, 7 | # and distributed under the terms of the FreeType project license, 8 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 9 | # indicate that you have read the license and understand and accept it 10 | # fully. 11 | 12 | SubDir FT2_TOP $(FT2_SRC_DIR) gxvalid ; 13 | 14 | 15 | { 16 | local _sources ; 17 | 18 | if $(FT2_MULTI) 19 | { 20 | _sources = gxvcommn gxvfeat gxvbsln gxvtrak gxvopbd gxvprop 21 | gxvmort gxvmort0 gxvmort1 gxvmort2 gxvmort4 gxvmort5 22 | gxvmorx gxvmorx0 gxvmorx1 gxvmorx2 gxvmorx4 gxvmorx5 23 | gxvlcar gxvkern gxvmod gxvjust ; 24 | } 25 | else 26 | { 27 | _sources = gxvalid ; 28 | } 29 | 30 | Library $(FT2_LIB) : $(_sources).c ; 31 | } 32 | 33 | # end of src/gxvalid Jamfile 34 | -------------------------------------------------------------------------------- /source/freetype2/src/gxvalid/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 gxvalid module definition 3 | # 4 | 5 | # Copyright 2004, 2005, 2006 6 | # by suzuki toshiya, Masatake YAMATO, Red Hat K.K., 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += GXVALID_MODULE 17 | 18 | define GXVALID_MODULE 19 | $(OPEN_DRIVER) FT_Module_Class, gxv_module_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)gxvalid $(ECHO_DRIVER_DESC)TrueTypeGX/AAT validation module$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/freetype2/src/gzip/Jamfile: -------------------------------------------------------------------------------- 1 | # FreeType 2 src/gzip Jamfile 2 | # 3 | # Copyright 2001 by 4 | # David Turner, Robert Wilhelm, and Werner Lemberg. 5 | # 6 | # This file is part of the FreeType project, and may only be used, modified, 7 | # and distributed under the terms of the FreeType project license, 8 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 9 | # indicate that you have read the license and understand and accept it 10 | # fully. 11 | 12 | SubDir FT2_TOP $(FT2_SRC_DIR) gzip ; 13 | 14 | Library $(FT2_LIB) : ftgzip.c ; 15 | 16 | # end of src/pcf Jamfile 17 | -------------------------------------------------------------------------------- /source/freetype2/src/gzip/infcodes.h: -------------------------------------------------------------------------------- 1 | /* infcodes.h -- header to use infcodes.c 2 | * Copyright (C) 1995-2002 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | #ifndef _INFCODES_H 12 | #define _INFCODES_H 13 | 14 | struct inflate_codes_state; 15 | typedef struct inflate_codes_state FAR inflate_codes_statef; 16 | 17 | local inflate_codes_statef *inflate_codes_new OF(( 18 | uInt, uInt, 19 | inflate_huft *, inflate_huft *, 20 | z_streamp )); 21 | 22 | local int inflate_codes OF(( 23 | inflate_blocks_statef *, 24 | z_streamp , 25 | int)); 26 | 27 | local void inflate_codes_free OF(( 28 | inflate_codes_statef *, 29 | z_streamp )); 30 | 31 | #endif /* _INFCODES_H */ 32 | -------------------------------------------------------------------------------- /source/freetype2/src/lzw/Jamfile: -------------------------------------------------------------------------------- 1 | # FreeType 2 src/lzw Jamfile 2 | # 3 | # Copyright 2004, 2006 by 4 | # David Turner, Robert Wilhelm, and Werner Lemberg. 5 | # 6 | # This file is part of the FreeType project, and may only be used, modified, 7 | # and distributed under the terms of the FreeType project license, 8 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 9 | # indicate that you have read the license and understand and accept it 10 | # fully. 11 | 12 | SubDir FT2_TOP $(FT2_SRC_DIR) lzw ; 13 | 14 | Library $(FT2_LIB) : ftlzw.c ; 15 | 16 | # end of src/lzw Jamfile 17 | -------------------------------------------------------------------------------- /source/freetype2/src/otvalid/Jamfile: -------------------------------------------------------------------------------- 1 | # FreeType 2 src/otvalid Jamfile 2 | # 3 | # Copyright 2004 by 4 | # David Turner, Robert Wilhelm, and Werner Lemberg. 5 | # 6 | # This file is part of the FreeType project, and may only be used, modified, 7 | # and distributed under the terms of the FreeType project license, 8 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 9 | # indicate that you have read the license and understand and accept it 10 | # fully. 11 | 12 | SubDir FT2_TOP $(FT2_SRC_DIR) otvalid ; 13 | 14 | { 15 | local _sources ; 16 | 17 | if $(FT2_MULTI) 18 | { 19 | _sources = otvbase otvcommn otvgdef otvgpos otvgsub otvjstf otvmod otvmath ; 20 | } 21 | else 22 | { 23 | _sources = otvalid ; 24 | } 25 | 26 | Library $(FT2_LIB) : $(_sources).c ; 27 | } 28 | 29 | # end of src/otvalid Jamfile 30 | -------------------------------------------------------------------------------- /source/freetype2/src/otvalid/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 otvalid module definition 3 | # 4 | 5 | 6 | # Copyright 2004, 2006 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += OTVALID_MODULE 17 | 18 | define OTVALID_MODULE 19 | $(OPEN_DRIVER) FT_Module_Class, otv_module_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)otvalid $(ECHO_DRIVER_DESC)OpenType validation module$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/freetype2/src/pcf/Jamfile: -------------------------------------------------------------------------------- 1 | # FreeType 2 src/pcf Jamfile 2 | # 3 | # Copyright 2001, 2003 by 4 | # David Turner, Robert Wilhelm, and Werner Lemberg. 5 | # 6 | # This file is part of the FreeType project, and may only be used, modified, 7 | # and distributed under the terms of the FreeType project license, 8 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 9 | # indicate that you have read the license and understand and accept it 10 | # fully. 11 | 12 | SubDir FT2_TOP $(FT2_SRC_DIR) pcf ; 13 | 14 | { 15 | local _sources ; 16 | 17 | if $(FT2_MULTI) 18 | { 19 | _sources = pcfdrivr pcfread pcfutil ; 20 | } 21 | else 22 | { 23 | _sources = pcf ; 24 | } 25 | 26 | Library $(FT2_LIB) : $(_sources).c ; 27 | } 28 | 29 | # end of src/pcf Jamfile 30 | -------------------------------------------------------------------------------- /source/freetype2/src/pfr/Jamfile: -------------------------------------------------------------------------------- 1 | # FreeType 2 src/pfr Jamfile 2 | # 3 | # Copyright 2002 by 4 | # David Turner, Robert Wilhelm, and Werner Lemberg. 5 | # 6 | # This file is part of the FreeType project, and may only be used, modified, 7 | # and distributed under the terms of the FreeType project license, 8 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 9 | # indicate that you have read the license and understand and accept it 10 | # fully. 11 | 12 | SubDir FT2_TOP $(FT2_SRC_DIR) pfr ; 13 | 14 | { 15 | local _sources ; 16 | 17 | if $(FT2_MULTI) 18 | { 19 | _sources = pfrdrivr pfrgload pfrload pfrobjs pfrcmap pfrsbit ; 20 | } 21 | else 22 | { 23 | _sources = pfr ; 24 | } 25 | 26 | Library $(FT2_LIB) : $(_sources).c ; 27 | } 28 | 29 | # end of src/pfr Jamfile 30 | -------------------------------------------------------------------------------- /source/freetype2/src/pfr/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 PFR module definition 3 | # 4 | 5 | 6 | # Copyright 2002, 2006 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += PFR_DRIVER 17 | 18 | define PFR_DRIVER 19 | $(OPEN_DRIVER) FT_Driver_ClassRec, pfr_driver_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)pfr $(ECHO_DRIVER_DESC)PFR/TrueDoc font files with extension *.pfr$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/freetype2/src/psaux/Jamfile: -------------------------------------------------------------------------------- 1 | # FreeType 2 src/psaux Jamfile 2 | # 3 | # Copyright 2001, 2002 by 4 | # David Turner, Robert Wilhelm, and Werner Lemberg. 5 | # 6 | # This file is part of the FreeType project, and may only be used, modified, 7 | # and distributed under the terms of the FreeType project license, 8 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 9 | # indicate that you have read the license and understand and accept it 10 | # fully. 11 | 12 | SubDir FT2_TOP $(FT2_SRC_DIR) psaux ; 13 | 14 | { 15 | local _sources ; 16 | 17 | if $(FT2_MULTI) 18 | { 19 | _sources = psauxmod psobjs t1decode t1cmap 20 | psconv afmparse 21 | ; 22 | } 23 | else 24 | { 25 | _sources = psaux ; 26 | } 27 | 28 | Library $(FT2_LIB) : $(_sources).c ; 29 | } 30 | 31 | # end of src/psaux Jamfile 32 | -------------------------------------------------------------------------------- /source/freetype2/src/psaux/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 PSaux module definition 3 | # 4 | 5 | 6 | # Copyright 1996-2000, 2006 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += PSAUX_MODULE 17 | 18 | define PSAUX_MODULE 19 | $(OPEN_DRIVER) FT_Module_Class, psaux_module_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)psaux $(ECHO_DRIVER_DESC)Postscript Type 1 & Type 2 helper module$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/freetype2/src/pshinter/Jamfile: -------------------------------------------------------------------------------- 1 | # FreeType 2 src/pshinter Jamfile 2 | # 3 | # Copyright 2001, 2003 by 4 | # David Turner, Robert Wilhelm, and Werner Lemberg. 5 | # 6 | # This file is part of the FreeType project, and may only be used, modified, 7 | # and distributed under the terms of the FreeType project license, 8 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 9 | # indicate that you have read the license and understand and accept it 10 | # fully. 11 | 12 | SubDir FT2_TOP $(FT2_SRC_DIR) pshinter ; 13 | 14 | { 15 | local _sources ; 16 | 17 | if $(FT2_MULTI) 18 | { 19 | _sources = pshrec pshglob pshalgo pshmod pshpic ; 20 | } 21 | else 22 | { 23 | _sources = pshinter ; 24 | } 25 | 26 | Library $(FT2_LIB) : $(_sources).c ; 27 | } 28 | 29 | # end of src/pshinter Jamfile 30 | -------------------------------------------------------------------------------- /source/freetype2/src/pshinter/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 PSHinter module definition 3 | # 4 | 5 | 6 | # Copyright 1996-2001, 2006 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += PSHINTER_MODULE 17 | 18 | define PSHINTER_MODULE 19 | $(OPEN_DRIVER) FT_Module_Class, pshinter_module_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)pshinter $(ECHO_DRIVER_DESC)Postscript hinter module$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/freetype2/src/psnames/Jamfile: -------------------------------------------------------------------------------- 1 | # FreeType 2 src/psnames Jamfile 2 | # 3 | # Copyright 2001 by 4 | # David Turner, Robert Wilhelm, and Werner Lemberg. 5 | # 6 | # This file is part of the FreeType project, and may only be used, modified, 7 | # and distributed under the terms of the FreeType project license, 8 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 9 | # indicate that you have read the license and understand and accept it 10 | # fully. 11 | 12 | SubDir FT2_TOP $(FT2_SRC_DIR) psnames ; 13 | 14 | { 15 | local _sources ; 16 | 17 | if $(FT2_MULTI) 18 | { 19 | _sources = psmodule pspic ; 20 | } 21 | else 22 | { 23 | _sources = psnames ; 24 | } 25 | 26 | Library $(FT2_LIB) : $(_sources).c ; 27 | } 28 | 29 | # end of src/psnames Jamfile 30 | -------------------------------------------------------------------------------- /source/freetype2/src/psnames/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 PSnames module definition 3 | # 4 | 5 | 6 | # Copyright 1996-2000, 2006 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += PSNAMES_MODULE 17 | 18 | define PSNAMES_MODULE 19 | $(OPEN_DRIVER) FT_Module_Class, psnames_module_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)psnames $(ECHO_DRIVER_DESC)Postscript & Unicode Glyph name handling$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/freetype2/src/raster/Jamfile: -------------------------------------------------------------------------------- 1 | # FreeType 2 src/raster Jamfile 2 | # 3 | # Copyright 2001 by 4 | # David Turner, Robert Wilhelm, and Werner Lemberg. 5 | # 6 | # This file is part of the FreeType project, and may only be used, modified, 7 | # and distributed under the terms of the FreeType project license, 8 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 9 | # indicate that you have read the license and understand and accept it 10 | # fully. 11 | 12 | SubDir FT2_TOP $(FT2_SRC_DIR) raster ; 13 | 14 | { 15 | local _sources ; 16 | 17 | if $(FT2_MULTI) 18 | { 19 | _sources = ftraster ftrend1 rastpic ; 20 | } 21 | else 22 | { 23 | _sources = raster ; 24 | } 25 | 26 | Library $(FT2_LIB) : $(_sources).c ; 27 | } 28 | 29 | # end of src/raster Jamfile 30 | -------------------------------------------------------------------------------- /source/freetype2/src/raster/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 renderer module definition 3 | # 4 | 5 | 6 | # Copyright 1996-2000, 2006 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += RASTER_MODULE 17 | 18 | define RASTER_MODULE 19 | $(OPEN_DRIVER) FT_Renderer_Class, ft_raster1_renderer_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)raster $(ECHO_DRIVER_DESC)monochrome bitmap renderer$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/freetype2/src/sfnt/Jamfile: -------------------------------------------------------------------------------- 1 | # FreeType 2 src/sfnt Jamfile 2 | # 3 | # Copyright 2001, 2002, 2004, 2005 by 4 | # David Turner, Robert Wilhelm, and Werner Lemberg. 5 | # 6 | # This file is part of the FreeType project, and may only be used, modified, 7 | # and distributed under the terms of the FreeType project license, 8 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 9 | # indicate that you have read the license and understand and accept it 10 | # fully. 11 | 12 | SubDir FT2_TOP $(FT2_SRC_DIR) sfnt ; 13 | 14 | { 15 | local _sources ; 16 | 17 | if $(FT2_MULTI) 18 | { 19 | _sources = sfobjs sfdriver ttcmap ttmtx ttpost ttload ttsbit ttkern ttbdf sfntpic ; 20 | } 21 | else 22 | { 23 | _sources = sfnt ; 24 | } 25 | 26 | Library $(FT2_LIB) : $(_sources).c ; 27 | } 28 | 29 | # end of src/sfnt Jamfile 30 | -------------------------------------------------------------------------------- /source/freetype2/src/sfnt/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 SFNT module definition 3 | # 4 | 5 | 6 | # Copyright 1996-2000, 2006 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += SFNT_MODULE 17 | 18 | define SFNT_MODULE 19 | $(OPEN_DRIVER) FT_Module_Class, sfnt_module_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)sfnt $(ECHO_DRIVER_DESC)helper module for TrueType & OpenType formats$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/freetype2/src/smooth/Jamfile: -------------------------------------------------------------------------------- 1 | # FreeType 2 src/smooth Jamfile 2 | # 3 | # Copyright 2001 by 4 | # David Turner, Robert Wilhelm, and Werner Lemberg. 5 | # 6 | # This file is part of the FreeType project, and may only be used, modified, 7 | # and distributed under the terms of the FreeType project license, 8 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 9 | # indicate that you have read the license and understand and accept it 10 | # fully. 11 | 12 | SubDir FT2_TOP $(FT2_SRC_DIR) smooth ; 13 | 14 | { 15 | local _sources ; 16 | 17 | if $(FT2_MULTI) 18 | { 19 | _sources = ftgrays ftsmooth ftspic ; 20 | } 21 | else 22 | { 23 | _sources = smooth ; 24 | } 25 | 26 | Library $(FT2_LIB) : $(_sources).c ; 27 | } 28 | 29 | # end of src/smooth Jamfile 30 | -------------------------------------------------------------------------------- /source/freetype2/src/tools/Jamfile: -------------------------------------------------------------------------------- 1 | # Jamfile for src/tools 2 | # 3 | SubDir FT2_TOP src tools ; 4 | 5 | Main apinames : apinames.c ; 6 | -------------------------------------------------------------------------------- /source/freetype2/src/tools/ftrandom/Makefile: -------------------------------------------------------------------------------- 1 | # TOP_DIR and OBJ_DIR should be set by the user to the right directories, 2 | # if necessary. 3 | 4 | TOP_DIR ?= ../../.. 5 | OBJ_DIR ?= $(TOP_DIR)/objs 6 | 7 | 8 | # The setup below is for gcc on a Unix-like platform. 9 | 10 | SRC_DIR = $(TOP_DIR)/src/tools/ftrandom 11 | 12 | CC = gcc 13 | WFLAGS = -Wmissing-prototypes \ 14 | -Wunused \ 15 | -Wimplicit \ 16 | -Wreturn-type \ 17 | -Wparentheses \ 18 | -pedantic \ 19 | -Wformat \ 20 | -Wchar-subscripts \ 21 | -Wsequence-point 22 | CFLAGS = $(WFLAGS) \ 23 | -g \ 24 | -I $(TOP_DIR)/include 25 | LIBS = -lm \ 26 | -L $(OBJ_DIR) \ 27 | -lfreetype \ 28 | -lz 29 | 30 | all: $(OBJ_DIR)/ftrandom 31 | 32 | $(OBJ_DIR)/ftrandom: $(SRC_DIR)/ftrandom.c $(OBJ_DIR)/libfreetype.a 33 | $(CC) -o $(OBJ_DIR)/ftrandom $(CFLAGS) $(SRC_DIR)/ftrandom.c $(LIBS) 34 | 35 | # EOF 36 | -------------------------------------------------------------------------------- /source/freetype2/src/truetype/Jamfile: -------------------------------------------------------------------------------- 1 | # FreeType 2 src/truetype Jamfile 2 | # 3 | # Copyright 2001, 2004 by 4 | # David Turner, Robert Wilhelm, and Werner Lemberg. 5 | # 6 | # This file is part of the FreeType project, and may only be used, modified, 7 | # and distributed under the terms of the FreeType project license, 8 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 9 | # indicate that you have read the license and understand and accept it 10 | # fully. 11 | 12 | SubDir FT2_TOP $(FT2_SRC_DIR) truetype ; 13 | 14 | { 15 | local _sources ; 16 | 17 | if $(FT2_MULTI) 18 | { 19 | _sources = ttdriver ttobjs ttpload ttgload ttinterp ttgxvar ttpic ; 20 | } 21 | else 22 | { 23 | _sources = truetype ; 24 | } 25 | 26 | Library $(FT2_LIB) : $(_sources).c ; 27 | } 28 | 29 | # end of src/truetype Jamfile 30 | -------------------------------------------------------------------------------- /source/freetype2/src/truetype/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 TrueType module definition 3 | # 4 | 5 | 6 | # Copyright 1996-2000, 2006 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += TRUETYPE_DRIVER 17 | 18 | define TRUETYPE_DRIVER 19 | $(OPEN_DRIVER) FT_Driver_ClassRec, tt_driver_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)truetype $(ECHO_DRIVER_DESC)Windows/Mac font files with extension *.ttf or *.ttc$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/freetype2/src/type1/Jamfile: -------------------------------------------------------------------------------- 1 | # FreeType 2 src/type1 Jamfile 2 | # 3 | # Copyright 2001 by 4 | # David Turner, Robert Wilhelm, and Werner Lemberg. 5 | # 6 | # This file is part of the FreeType project, and may only be used, modified, 7 | # and distributed under the terms of the FreeType project license, 8 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 9 | # indicate that you have read the license and understand and accept it 10 | # fully. 11 | 12 | SubDir FT2_TOP $(FT2_SRC_DIR) type1 ; 13 | 14 | { 15 | local _sources ; 16 | 17 | if $(FT2_MULTI) 18 | { 19 | _sources = t1afm t1driver t1objs t1load t1gload t1parse ; 20 | } 21 | else 22 | { 23 | _sources = type1 ; 24 | } 25 | 26 | Library $(FT2_LIB) : $(_sources).c ; 27 | } 28 | 29 | # end of src/type1 Jamfile 30 | -------------------------------------------------------------------------------- /source/freetype2/src/type1/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 Type1 module definition 3 | # 4 | 5 | 6 | # Copyright 1996-2000, 2006 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += TYPE1_DRIVER 17 | 18 | define TYPE1_DRIVER 19 | $(OPEN_DRIVER) FT_Driver_ClassRec, t1_driver_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)type1 $(ECHO_DRIVER_DESC)Postscript font files with extension *.pfa or *.pfb$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/freetype2/src/type42/Jamfile: -------------------------------------------------------------------------------- 1 | # FreeType 2 src/type42 Jamfile 2 | # 3 | # Copyright 2002 by 4 | # David Turner, Robert Wilhelm, and Werner Lemberg. 5 | # 6 | # This file is part of the FreeType project, and may only be used, modified, 7 | # and distributed under the terms of the FreeType project license, 8 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 9 | # indicate that you have read the license and understand and accept it 10 | # fully. 11 | 12 | SubDir FT2_TOP $(FT2_SRC_DIR) type42 ; 13 | 14 | { 15 | local _sources ; 16 | 17 | if $(FT2_MULTI) 18 | { 19 | _sources = t42objs t42parse t42drivr ; 20 | } 21 | else 22 | { 23 | _sources = type42 ; 24 | } 25 | 26 | Library $(FT2_LIB) : $(_sources).c ; 27 | } 28 | 29 | # end of src/type42 Jamfile 30 | -------------------------------------------------------------------------------- /source/freetype2/src/type42/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 Type42 module definition 3 | # 4 | 5 | 6 | # Copyright 2002, 2006 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += TYPE42_DRIVER 17 | 18 | define TYPE42_DRIVER 19 | $(OPEN_DRIVER) FT_Driver_ClassRec, t42_driver_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)type42 $(ECHO_DRIVER_DESC)Type 42 font files with no known extension$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/freetype2/src/winfonts/Jamfile: -------------------------------------------------------------------------------- 1 | # FreeType 2 src/winfonts Jamfile 2 | # 3 | # Copyright 2001 by 4 | # David Turner, Robert Wilhelm, and Werner Lemberg. 5 | # 6 | # This file is part of the FreeType project, and may only be used, modified, 7 | # and distributed under the terms of the FreeType project license, 8 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 9 | # indicate that you have read the license and understand and accept it 10 | # fully. 11 | 12 | SubDir FT2_TOP $(FT2_SRC_DIR) winfonts ; 13 | 14 | Library $(FT2_LIB) : winfnt.c ; 15 | 16 | # end of src/winfonts Jamfile 17 | -------------------------------------------------------------------------------- /source/freetype2/src/winfonts/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 Windows FNT/FON module definition 3 | # 4 | 5 | 6 | # Copyright 1996-2000, 2006 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += WINDOWS_DRIVER 17 | 18 | define WINDOWS_DRIVER 19 | $(OPEN_DRIVER) FT_Driver_ClassRec, winfnt_driver_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)winfnt $(ECHO_DRIVER_DESC)Windows bitmap fonts with extension *.fnt or *.fon$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/game/as/as_binding_print.h: -------------------------------------------------------------------------------- 1 | class asIScriptEngine; 2 | 3 | void printBindings(asIScriptEngine* engine, const char* filename); -------------------------------------------------------------------------------- /source/game/compat/gl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "glad/gl.h" 3 | #include "GLFW/glfw3.h" 4 | -------------------------------------------------------------------------------- /source/game/compat/intrin.h: -------------------------------------------------------------------------------- 1 | #ifdef _MSC_VER 2 | #include 3 | #define PREFETCH(x) _mm_prefetch(x, _MM_HINT_T0) 4 | #endif 5 | #ifdef __GNUC__ 6 | #define PREFETCH(x) __builtin_prefetch(x, 0, 3) 7 | #endif 8 | -------------------------------------------------------------------------------- /source/game/compat/misc.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #if defined(_MSC_VER) 3 | #ifdef _DEBUG 4 | #define NO_DEFAULT default: throw 0; 5 | #define UNREACHABLE throw 0; 6 | #else 7 | #define NO_DEFAULT default: __assume(0); 8 | #define UNREACHABLE __assume(0); 9 | #endif 10 | #else 11 | #ifdef _DEBUG 12 | #define NO_DEFAULT default: throw 0; 13 | #define UNREACHABLE throw 0; 14 | #else 15 | #define NO_DEFAULT default: __builtin_unreachable(); 16 | #define UNREACHABLE __builtin_unreachable(); 17 | #endif 18 | #endif 19 | 20 | #define foreach(var, cont) for(auto var = cont.begin(), end = cont.end(); var != end; ++var) 21 | 22 | #ifdef WIN_MODE 23 | #define unsigned_enum(name) enum name : unsigned 24 | #else 25 | #ifdef LIN_MODE 26 | #define unsigned_enum(name) enum name 27 | #endif 28 | #endif 29 | 30 | #define umap std::unordered_map 31 | #define uset std::unordered_set 32 | 33 | #define INIT_FUNC(name) namespace __init__##name { struct init { init() 34 | 35 | #define INIT_FUNC_END } v; }; 36 | 37 | #define INIT_VAR(var) var; namespace __init__##var { struct init { init() 38 | 39 | #define INIT_VAR_END } v; }; 40 | -------------------------------------------------------------------------------- /source/game/compat/regex.h: -------------------------------------------------------------------------------- 1 | #ifdef WIN_MODE 2 | #include 3 | typedef std::regex regex; 4 | typedef std::match_results reg_result; 5 | 6 | #define reg_compile(r, c)\ 7 | static regex r = std::regex(c) 8 | 9 | #define reg_match(str, m, r)\ 10 | std::regex_match(str.cbegin(), str.cend(), m, r) 11 | 12 | #define reg_str(str, m, i)\ 13 | m[i] 14 | 15 | #else 16 | #include 17 | typedef regex_t* regex; 18 | typedef regmatch_t reg_result[16]; 19 | 20 | #define reg_compile(r, c) \ 21 | static regex r = 0;\ 22 | if(!r) {\ 23 | r = new regex_t();\ 24 | regcomp(r, c, REG_EXTENDED);\ 25 | } 26 | 27 | #define reg_match(str, m, r)\ 28 | !regexec(r, str.c_str(), 16, m, 0) 29 | 30 | #define reg_str(str, m, i)\ 31 | str.substr(m[i].rm_so, m[i].rm_eo - m[i].rm_so) 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /source/game/design/effector_functions.h: -------------------------------------------------------------------------------- 1 | #include "design/effector.h" 2 | #include "compat/misc.h" 3 | 4 | extern umap TargetAlgorithms; 5 | extern umap TargetWeighters; 6 | 7 | struct ActivationCB { 8 | nativeEffectorActivation func; 9 | unsigned stateCount, argCount; 10 | }; 11 | 12 | extern umap EffectorActivation; 13 | 14 | double isType(const Effector* eff, Object* obj, Object* targ, void* arg); 15 | double hasTag(const Effector* eff, Object* obj, Object* targ, void* arg); 16 | -------------------------------------------------------------------------------- /source/game/empire_stats.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | unsigned getEmpireStatCount(); 5 | 6 | std::string getEmpireStatName(unsigned id); 7 | unsigned getStatID(const std::string& name); 8 | bool statIsint(unsigned id); 9 | 10 | void clearEmpireStats(); 11 | void loadEmpireStats(const std::string& filename); -------------------------------------------------------------------------------- /source/game/main/input_handling.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "main/tick.h" 3 | #include "os/driver.h" 4 | #include "scripts/manager.h" 5 | 6 | void onOverlayToggle(bool state); 7 | 8 | void registerInput(); 9 | void inputTick(); 10 | 11 | void bindInputScripts(GameState state ,scripts::Manager* manager); 12 | void clearInputScripts(GameState state); 13 | void clearPressedKeys(); 14 | -------------------------------------------------------------------------------- /source/game/main/profiler.cpp: -------------------------------------------------------------------------------- 1 | #include "profiler.h" 2 | 3 | #include "main/references.h" 4 | #include "main/logging.h" 5 | 6 | namespace profiler { 7 | 8 | double profileStart() { 9 | return devices.driver->getAccurateTime(); 10 | } 11 | 12 | void profileEnd(double startTime, const char* section) { 13 | double delta = devices.driver->getAccurateTime() - startTime; 14 | 15 | if(delta >= 5e-1) 16 | print("%s: %.1fs\n", section, delta); 17 | else if(delta >= 5e-4) 18 | print("%s: %.1fms\n", section, delta * 1e3); 19 | else if(delta >= 5e-7) 20 | print("%s: %.1fus\n", section, delta * 1e6); 21 | else 22 | print("%s: %.1fns\n", section, delta * 1e9); 23 | } 24 | 25 | }; -------------------------------------------------------------------------------- /source/game/main/profiler.h: -------------------------------------------------------------------------------- 1 | 2 | namespace profiler { 3 | 4 | //Returns a value to pass to a call to 'profileEnd' 5 | double profileStart(); 6 | 7 | //Prints out the time elapsed since 'startTime' as returned by 'profileStart' 8 | void profileEnd(double startTime, const char* section); 9 | 10 | #define profile( x, name ) { double _t = profiler::profileStart(); x; profiler::profileEnd(_t, name); } 11 | 12 | }; -------------------------------------------------------------------------------- /source/game/main/references.cpp: -------------------------------------------------------------------------------- 1 | #include "main/references.h" 2 | 3 | references devices; 4 | 5 | references::references() : physics(nullptr), nodePhysics(nullptr), cloud(nullptr) { 6 | } 7 | 8 | namespace audio { 9 | bool disableSFX = false; 10 | }; 11 | -------------------------------------------------------------------------------- /source/game/main/save_load.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | bool saveGame(const std::string& file); 5 | bool loadGame(const std::string& file); -------------------------------------------------------------------------------- /source/game/main/tick.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | extern double animation_s, render_s, present_s; 6 | 7 | namespace render { 8 | class Shader; 9 | class Camera; 10 | }; 11 | struct Image; 12 | 13 | extern const render::Shader* fsShader; 14 | 15 | extern double frameLen_s, frameTime_s, realFrameLen; 16 | extern int frameTime_ms, frameLen_ms; 17 | extern bool reload_gui; 18 | 19 | extern std::vector frames; 20 | extern unsigned max_frames; 21 | 22 | enum GameState { 23 | GS_Menu, 24 | GS_Game, 25 | GS_Test_Scripts, 26 | GS_Monitor_Scripts, 27 | GS_Console_Wait, 28 | GS_Quit, 29 | GS_Load_Prep, 30 | 31 | GS_COUNT, 32 | }; 33 | 34 | extern GameState game_state; 35 | extern std::string game_locale; 36 | extern bool game_running; 37 | extern bool hide_ui; 38 | extern double ui_scale; 39 | 40 | void resetGameTime(); 41 | void getFrameRender(Image& img); 42 | void tickGlobal(bool hasScripts = true); 43 | void tickMenu(); 44 | void tickGame(); 45 | void tickConsole(); 46 | 47 | void monitorFile(const std::string& filename); 48 | bool tickMonitor(); 49 | -------------------------------------------------------------------------------- /source/game/main/version.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #define GAME_VERSION 1 3 | #define GAME_VERSION_NAME "0.0.1" 4 | #define ENGINE_BUILD 1 5 | #define SERVER_SCRIPT_BUILD 1 6 | #define CLIENT_SCRIPT_BUILD 1 7 | #define MENU_SCRIPT_BUILD 1 8 | #ifdef _MSC_VER 9 | #define ARCH_NAME "W" 10 | #ifdef _M_AMD64 11 | #define ARCH_BITS 64 12 | #else 13 | #define ARCH_BITS 32 14 | #endif 15 | #else 16 | #ifdef __APPLE__ 17 | #define ARCH_NAME "A" 18 | #else 19 | #define ARCH_NAME "L" 20 | #endif 21 | #ifdef __amd64__ 22 | #define ARCH_BITS 64 23 | #else 24 | #define ARCH_BITS 32 25 | #endif 26 | #endif 27 | #define BUILD_VERSION "DEV" 28 | -------------------------------------------------------------------------------- /source/game/master_server.cpp: -------------------------------------------------------------------------------- 1 | #define NET_IDLE_SLEEP 5 2 | 3 | #include "network.h" 4 | const int MS_PORT = 8892; 5 | 6 | int main(int argc, char** argv) { 7 | net::LobbyServer srv(MS_PORT); 8 | srv.runThreads(4); 9 | while(srv.active) 10 | threads::sleep(100); 11 | } 12 | -------------------------------------------------------------------------------- /source/game/memory/MemoryPool.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | namespace memory { 5 | 6 | //A pre-allocated pool of uniformly sized objects 7 | template 8 | class MemoryPool { 9 | T* pPool, *pEnd; 10 | unsigned short* indices; 11 | unsigned nextIndex; 12 | 13 | public: 14 | MemoryPool(unsigned count) { 15 | if(count > 65535) 16 | count = 65535; 17 | nextIndex = count-1; 18 | 19 | pPool = (T*)new unsigned char[count * sizeof(T)]; 20 | pEnd = pPool + count; 21 | 22 | indices = new unsigned short[count]; 23 | for(unsigned short i = 0; i < count; ++i) 24 | indices[i] = count-i; 25 | } 26 | 27 | ~MemoryPool() { 28 | delete[] (unsigned char*)pPool; 29 | delete[] indices; 30 | } 31 | 32 | void* alloc() { 33 | if(nextIndex != 0xffffffff) { 34 | return pPool + indices[nextIndex--]; 35 | } 36 | else { 37 | return ::operator new(sizeof(T)); 38 | } 39 | } 40 | 41 | void dealloc(T* p) { 42 | if(p >= pPool && p < pEnd) { 43 | indices[++nextIndex] = p - pPool; 44 | } 45 | else { 46 | ::operator delete(p); 47 | } 48 | } 49 | }; 50 | 51 | }; -------------------------------------------------------------------------------- /source/game/network/player.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "network/address.h" 3 | 4 | class Empire; 5 | namespace net { 6 | class Connection; 7 | struct Sequence; 8 | }; 9 | 10 | struct Player { 11 | int id; 12 | char nickname[32]; 13 | Empire* emp; 14 | net::Address address; 15 | net::Connection* conn; 16 | net::Sequence* defaultSequence; 17 | bool hasGalaxy, wantsDeltas; 18 | bool changedEmpire; 19 | unsigned controlMask; 20 | unsigned viewMask; 21 | 22 | Player() 23 | : id(-1), emp(0), conn(0), defaultSequence(0), hasGalaxy(false), wantsDeltas(false), changedEmpire(false), controlMask(0), viewMask(0) { 24 | nickname[0] = '\0'; 25 | } 26 | 27 | Player(int ID) 28 | : id(ID), emp(0), conn(0), defaultSequence(0), hasGalaxy(false), wantsDeltas(false), changedEmpire(false), controlMask(0), viewMask(0) { 29 | nickname[0] = '\0'; 30 | } 31 | 32 | bool controls(Empire* emp); 33 | bool views(Empire* emp); 34 | }; 35 | -------------------------------------------------------------------------------- /source/game/obj/universe.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "obj/object.h" 3 | #include "util/refcount.h" 4 | #include "threads.h" 5 | #include 6 | 7 | class Universe : public AtomicRefCounted { 8 | public: 9 | mutable threads::Mutex queueLock; 10 | std::unordered_set addQueue; 11 | std::unordered_set removeQueue; 12 | 13 | mutable threads::ReadWriteMutex childLock; 14 | std::vector children; 15 | 16 | void doQueued(); 17 | void addChild(Object* obj); 18 | void removeChild(Object* obj); 19 | void destroyAll(); 20 | 21 | Object* getRandomTarget(unsigned randVal = 0); 22 | void setRandomTarget(heldPointer& targ, unsigned randVal = 0); 23 | void removeTargetsTo(Object* obj); 24 | 25 | Object* getClosestOnLine(const line3dd& line) const; 26 | }; 27 | -------------------------------------------------------------------------------- /source/game/os/glfw_driver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "os/driver.h" 3 | 4 | namespace os { 5 | OSDriver* getGLFWDriver(); 6 | }; 7 | -------------------------------------------------------------------------------- /source/game/os/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by Star Ruler 2.rc 4 | 5 | #define IDI_ICON1 101 6 | 7 | // Next default values for new objects 8 | // 9 | #ifdef APSTUDIO_INVOKED 10 | #ifndef APSTUDIO_READONLY_SYMBOLS 11 | #define _APS_NEXT_RESOURCE_VALUE 101 12 | #define _APS_NEXT_COMMAND_VALUE 40001 13 | #define _APS_NEXT_CONTROL_VALUE 1001 14 | #define _APS_NEXT_SYMED_VALUE 101 15 | #endif 16 | #endif 17 | -------------------------------------------------------------------------------- /source/game/processing.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | class Empire; 5 | 6 | namespace processing { 7 | 8 | //#define PROFILE_PROCESSING 9 | #ifdef PROFILE_PROCESSING 10 | struct ProcessingData { 11 | std::vector objTime; 12 | std::vector objCount; 13 | double syncTimer; 14 | 15 | int globalCount; 16 | double switchedTime; 17 | int switchedCount; 18 | double targUpdateTime; 19 | int targetUpdates; 20 | 21 | void measureType(int type, double time, int amount); 22 | 23 | ProcessingData(); 24 | void clear(); 25 | }; 26 | 27 | void printProcessingProfile(); 28 | #endif 29 | 30 | class Action { 31 | public: 32 | virtual bool run() = 0; 33 | virtual ~Action() {} 34 | }; 35 | 36 | void queueAction(Action* action); 37 | void queueIsolationAction(Action* action); 38 | void run(bool onlyActions = false); 39 | void runIsolation(); 40 | void pauseMessageHandling(); 41 | void resumeMessageHandling(); 42 | 43 | void startEmpireThread(Empire* emp); 44 | void start(unsigned threads); 45 | void end(); 46 | void clear(); 47 | bool isRunning(); 48 | 49 | void pause(); 50 | void resume(); 51 | 52 | }; 53 | -------------------------------------------------------------------------------- /source/game/profile/settings.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "util/generic.h" 3 | #include "compat/misc.h" 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | namespace profile { 10 | 11 | struct SettingCategory { 12 | std::string name; 13 | std::vector settings; 14 | 15 | SettingCategory(const std::string& name); 16 | SettingCategory(); 17 | ~SettingCategory(); 18 | }; 19 | 20 | class Settings { 21 | public: 22 | std::vector categories; 23 | umap settings; 24 | 25 | NamedGeneric* getSetting(const std::string& name); 26 | ~Settings(); 27 | 28 | void clear(); 29 | void loadDescriptors(const std::string& filename); 30 | void addCategory(SettingCategory* cat); 31 | 32 | void loadSettings(const std::string& filename); 33 | void saveSettings(const std::string& filename); 34 | }; 35 | 36 | }; 37 | -------------------------------------------------------------------------------- /source/game/render/bmf_loader.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "mesh.h" 3 | 4 | namespace render { 5 | 6 | void loadBinaryMesh(const char* filename, Mesh& mesh); 7 | bool saveBinaryMesh(const char* filename, Mesh& mesh); 8 | 9 | }; -------------------------------------------------------------------------------- /source/game/render/gl_driver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "render/driver.h" 3 | 4 | namespace render { 5 | RenderDriver* createGLDriver(); 6 | }; 7 | -------------------------------------------------------------------------------- /source/game/render/gl_framebuffer.h: -------------------------------------------------------------------------------- 1 | #include "texture.h" 2 | #include "compat/gl.h" 3 | 4 | namespace render { 5 | 6 | class glFrameBuffer : public Texture { 7 | GLuint buffer; 8 | GLuint* textures; 9 | GLuint* renderBuffers; 10 | public: 11 | glFrameBuffer(const vec2i& Size); 12 | ~glFrameBuffer(); 13 | 14 | Texture* depthTexture; 15 | 16 | bool isPixelActive(vec2i px) const; 17 | void bind(); 18 | unsigned getID() const; 19 | void load(Image& img, bool mipmap = true, bool cachePixels = false); 20 | void loadStart(Image& image, bool mipmap = true, bool cachePixels = false, unsigned lod = 0); 21 | void loadPartial(Image& image, const recti& pixels, bool cachePixels = false, unsigned lod = 0); 22 | void loadFinish(bool mipmap, unsigned lod = 0); 23 | void save(Image& img) const; 24 | unsigned getTextureBytes() const; 25 | void setAsTarget(); 26 | }; 27 | 28 | }; 29 | -------------------------------------------------------------------------------- /source/game/render/gl_mesh.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "render/render_mesh.h" 3 | #include "mesh.h" 4 | 5 | namespace render { 6 | RenderMesh* createGLMesh(const Mesh& mesh); 7 | }; 8 | -------------------------------------------------------------------------------- /source/game/render/gl_shader.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "render/shader.h" 3 | 4 | namespace render { 5 | Shader* createGLShader(); 6 | ShaderProgram* createGLShaderProgram(const char* vertex_shader, const char* fragment_shader); 7 | }; 8 | -------------------------------------------------------------------------------- /source/game/render/obj_loader.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "mesh.h" 3 | 4 | namespace render { 5 | 6 | void loadMeshOBJ(const char* filename, Mesh& mesh); 7 | 8 | }; 9 | -------------------------------------------------------------------------------- /source/game/render/ogex_loader.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "mesh.h" 3 | 4 | namespace render { 5 | 6 | void loadMeshOGEX(const char* filename, Mesh& mesh); 7 | 8 | }; 9 | -------------------------------------------------------------------------------- /source/game/render/render_mesh.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "aabbox.h" 3 | 4 | struct Mesh; 5 | 6 | namespace render { 7 | 8 | class RenderMesh { 9 | public: 10 | virtual void resetToMesh(const Mesh& mesh) = 0; 11 | virtual const RenderMesh* selectLOD(double distance) const = 0; 12 | virtual void setLOD(double distance, const RenderMesh* mesh) = 0; 13 | virtual const AABBoxf& getBoundingBox() const = 0; 14 | virtual const Mesh& getMesh() const = 0; 15 | 16 | virtual unsigned getMeshBytes() const = 0; 17 | 18 | virtual void render() const = 0; 19 | virtual ~RenderMesh() {} 20 | }; 21 | 22 | }; 23 | -------------------------------------------------------------------------------- /source/game/render/render_state.cpp: -------------------------------------------------------------------------------- 1 | #include "render_state.h" 2 | #include "memory/AllocOnlyPool.h" 3 | #include "threads.h" 4 | #include 5 | 6 | namespace render { 7 | 8 | memory::AllocOnlyPool renderStatePool(256); 9 | 10 | RenderState::RenderState() : culling(FC_Back), 11 | depthTest(DT_Less), depthWrite(true), lighting(true), 12 | normalizeNormals(false), baseMat(MAT_Solid), drawMode(DM_Fill), 13 | wrapHorizontal(TW_Repeat), wrapVertical(TW_Repeat), 14 | filterMin(TF_Linear), filterMag(TF_Linear), 15 | mipmap(true), cachePixels(false), 16 | diffuse(1,1,1,1), specular(1,1,1,1), shininess(3.f), textures(), shader(0), constant(true) 17 | { 18 | memset(textures, 0, sizeof(textures)); 19 | } 20 | 21 | void* RenderState::operator new(size_t size) { 22 | return renderStatePool.alloc(); 23 | } 24 | 25 | void RenderState::operator delete(void* p) { 26 | renderStatePool.dealloc((RenderState*)p); 27 | } 28 | 29 | }; 30 | -------------------------------------------------------------------------------- /source/game/render/texture.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "vec2.h" 3 | #include "image.h" 4 | #include "rect.h" 5 | #include "render_state.h" 6 | 7 | namespace render { 8 | 9 | enum TextureType { 10 | TT_2D, 11 | TT_Cubemap 12 | }; 13 | 14 | class Texture { 15 | public: 16 | TextureType type; 17 | vec2i size; 18 | bool loaded; 19 | bool hasMipMaps; 20 | mutable RenderState prevRenderState; 21 | 22 | virtual bool isPixelActive(vec2i px) const = 0; 23 | 24 | virtual void loadStart(Image& image, bool mipmap = true, bool cachePixels = false, unsigned lod = 0) = 0; 25 | virtual void loadPartial(Image& image, const recti& pixels, bool cachePixels = false, unsigned lod = 0) = 0; 26 | virtual void loadFinish(bool mipmap, unsigned lod = 0) = 0; 27 | 28 | virtual void load(Image& image, bool mipmap = true, bool cachePixels = false) = 0; 29 | virtual void save(Image& image) const = 0; 30 | virtual void bind() = 0; 31 | virtual unsigned getID() const = 0; 32 | 33 | virtual unsigned getTextureBytes() const = 0; 34 | 35 | virtual ~Texture() {} 36 | }; 37 | 38 | }; 39 | -------------------------------------------------------------------------------- /source/game/render/x_loader.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | struct Mesh; 4 | 5 | namespace render { 6 | 7 | void loadMeshX(const char* filename, Mesh& mesh); 8 | 9 | }; -------------------------------------------------------------------------------- /source/game/resource/locale.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "compat/misc.h" 3 | #include 4 | #include 5 | 6 | namespace resource { 7 | 8 | class Locale { 9 | public: 10 | umap localizations; 11 | umap hashLocalizations; 12 | 13 | void clear(); 14 | void load(const std::string& filename); 15 | 16 | std::string localize(const std::string& text, bool requireHash = false, bool doUnescape = true, bool doFormat = true); 17 | ~Locale(); 18 | }; 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /source/game/scene/animation/anim_group.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "animator.h" 3 | 4 | class ObjectGroup; 5 | 6 | namespace scene { 7 | 8 | class GroupAnim : public Animator { 9 | ObjectGroup* group; 10 | public: 11 | void animate(Node* node); 12 | 13 | GroupAnim(ObjectGroup* group); 14 | ~GroupAnim(); 15 | }; 16 | 17 | }; 18 | -------------------------------------------------------------------------------- /source/game/scene/animation/anim_linear.cpp: -------------------------------------------------------------------------------- 1 | #include "anim_linear.h" 2 | #include "scene/node.h" 3 | 4 | extern double frameTime_s; 5 | 6 | namespace scene { 7 | 8 | LinearMotionAnim::LinearMotionAnim(const vec3d& Velocity) : velocity(Velocity) {} 9 | 10 | void LinearMotionAnim::animate(Node* node) { 11 | node->position += velocity * (frameTime_s - node->lastUpdate); 12 | node->rebuildTransformation(); 13 | node->lastUpdate = frameTime_s; 14 | } 15 | }; 16 | -------------------------------------------------------------------------------- /source/game/scene/animation/anim_linear.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "animator.h" 3 | #include "vec3.h" 4 | 5 | namespace scene { 6 | 7 | class LinearMotionAnim : public Animator { 8 | public: 9 | vec3d velocity; 10 | 11 | void animate(Node* node); 12 | 13 | LinearMotionAnim(const vec3d& Velocity); 14 | }; 15 | 16 | }; 17 | 18 | -------------------------------------------------------------------------------- /source/game/scene/animation/anim_node_sync.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "animator.h" 3 | 4 | namespace scene { 5 | 6 | class NodeSyncAnimator : public Animator { 7 | public: 8 | void animate(Node* node); 9 | 10 | static NodeSyncAnimator* getSingleton(); 11 | }; 12 | 13 | }; -------------------------------------------------------------------------------- /source/game/scene/animation/anim_projectile.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "animator.h" 3 | #include "vec3.h" 4 | 5 | namespace scene { 6 | 7 | class ProjectileAnim : public Animator { 8 | public: 9 | vec3d velocity; 10 | 11 | void animate(Node* node); 12 | 13 | ProjectileAnim(const vec3d& Velocity); 14 | }; 15 | 16 | class BeamAnim : public Animator { 17 | scene::Node* follow; 18 | vec3d offset; 19 | float length; 20 | public: 21 | void animate(Node* node); 22 | BeamAnim(Node* Follow, vec3d Offset, float range); 23 | ~BeamAnim(); 24 | }; 25 | 26 | }; 27 | 28 | -------------------------------------------------------------------------------- /source/game/scene/animation/animator.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "util/refcount.h" 3 | 4 | namespace scene { 5 | 6 | class Node; 7 | 8 | class Animator : public AtomicRefCounted { 9 | public: 10 | 11 | virtual void animate(Node* node) = 0; 12 | }; 13 | 14 | }; -------------------------------------------------------------------------------- /source/game/scene/beam_node.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "scene/node.h" 3 | 4 | namespace render { 5 | struct RenderState; 6 | }; 7 | 8 | namespace scene { 9 | class BeamNode : public Node { 10 | const render::RenderState* material; 11 | public: 12 | float width, uvLength; 13 | vec3d endPosition; 14 | bool staticSize; 15 | 16 | BeamNode(const render::RenderState* Material, float Width, const vec3d& startPoint, const vec3d& endPoint, bool StaticSize = false); 17 | 18 | bool preRender(render::RenderDriver& driver); 19 | void render(render::RenderDriver& driver); 20 | }; 21 | }; 22 | -------------------------------------------------------------------------------- /source/game/scene/billboard_node.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "scene/node.h" 3 | #include "render/spritesheet.h" 4 | 5 | namespace render { 6 | struct RenderState; 7 | }; 8 | 9 | namespace scene { 10 | 11 | class BillboardNode : public Node { 12 | const render::RenderState* material; 13 | double width; 14 | public: 15 | BillboardNode(const render::RenderState* Material, double Width); 16 | void setWidth(double Width); 17 | 18 | bool preRender(render::RenderDriver& driver); 19 | void render(render::RenderDriver& driver); 20 | }; 21 | 22 | class SpriteNode : public Node { 23 | public: 24 | render::Sprite sprite; 25 | double width; 26 | 27 | SpriteNode(const render::Sprite& sprt, double Width); 28 | void setWidth(double Width); 29 | 30 | bool preRender(render::RenderDriver& driver); 31 | void render(render::RenderDriver& driver); 32 | }; 33 | 34 | }; 35 | -------------------------------------------------------------------------------- /source/game/scene/culling_node.cpp: -------------------------------------------------------------------------------- 1 | #include "culling_node.h" 2 | #include "main/references.h" 3 | #include "render/driver.h" 4 | #include "frustum.h" 5 | #include "obj/object.h" 6 | 7 | namespace scene { 8 | 9 | CullingNode::CullingNode(vec3d pos, double rad) { 10 | position = pos; 11 | scale = rad; 12 | setFlag(NF_Dirty, true); 13 | setFlag(NF_Transparent, true); 14 | setFlag(NF_NoMatrix, true); 15 | } 16 | 17 | bool CullingNode::preRender(render::RenderDriver& driver) { 18 | if(!driver.getViewFrustum().overlaps(abs_position,abs_scale)) 19 | return false; 20 | else { 21 | sortDistance = driver.cam_pos.distanceTo(abs_position); 22 | return true; 23 | } 24 | } 25 | 26 | void CullingNode::render(render::RenderDriver& driver) { 27 | } 28 | 29 | }; 30 | -------------------------------------------------------------------------------- /source/game/scene/culling_node.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "scene/node.h" 3 | 4 | namespace scene { 5 | 6 | class CullingNode : public Node { 7 | public: 8 | CullingNode(vec3d position, double radius); 9 | 10 | bool preRender(render::RenderDriver& driver); 11 | void render(render::RenderDriver& driver); 12 | 13 | NodeType getType() const override { return NT_Culling; }; 14 | }; 15 | 16 | }; 17 | -------------------------------------------------------------------------------- /source/game/scene/frame_line.h: -------------------------------------------------------------------------------- 1 | #include "node.h" 2 | #include "render/render_state.h" 3 | 4 | namespace scene { 5 | 6 | class FrameLineNode : public Node { 7 | //Stored previous positions so a trail can be rendered 8 | 9 | const render::RenderState& mat; 10 | 11 | public: 12 | vec3d endPos, prevPos; 13 | float interpDuration; 14 | Color startCol, endCol; 15 | float age, life, fadeAge; 16 | 17 | FrameLineNode(const render::RenderState& material, float duration); 18 | 19 | bool preRender(render::RenderDriver& driver); 20 | void render(render::RenderDriver& driver); 21 | }; 22 | 23 | }; -------------------------------------------------------------------------------- /source/game/scene/icon_node.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "scene/node.h" 3 | 4 | namespace render { 5 | class SpriteSheet; 6 | }; 7 | 8 | namespace scene { 9 | 10 | class IconNode : public Node { 11 | public: 12 | const render::SpriteSheet* sheet; 13 | unsigned index; 14 | 15 | IconNode(const render::SpriteSheet* spriteSheet, unsigned spriteIndex); 16 | 17 | bool preRender(render::RenderDriver& driver); 18 | void render(render::RenderDriver& driver); 19 | }; 20 | 21 | }; 22 | -------------------------------------------------------------------------------- /source/game/scene/mesh_icon_node.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "scene/node.h" 3 | 4 | namespace render { 5 | struct RenderState; 6 | class RenderMesh; 7 | class SpriteSheet; 8 | }; 9 | 10 | namespace scene { 11 | 12 | class MeshIconNode : public Node { 13 | public: 14 | static bool render3DIcons; 15 | const render::RenderMesh* mesh; 16 | const render::RenderState* material; 17 | const render::SpriteSheet* iconSheet; 18 | unsigned iconIndex; 19 | 20 | MeshIconNode( 21 | const render::RenderMesh* mesh, const render::RenderState* material, 22 | const render::SpriteSheet* sheet, unsigned index); 23 | 24 | bool preRender(render::RenderDriver& driver) override; 25 | void render(render::RenderDriver& driver) override; 26 | 27 | NodeType getType() const override { return NT_MeshIconNode; }; 28 | }; 29 | 30 | }; 31 | -------------------------------------------------------------------------------- /source/game/scene/mesh_node.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "scene/node.h" 3 | 4 | namespace render { 5 | struct RenderState; 6 | class RenderMesh; 7 | }; 8 | 9 | namespace scene { 10 | 11 | class MeshNode : public Node { 12 | public: 13 | const render::RenderMesh* mesh; 14 | const render::RenderState* material; 15 | 16 | MeshNode(const render::RenderMesh* mesh, const render::RenderState* material); 17 | 18 | bool preRender(render::RenderDriver& driver) override; 19 | void render(render::RenderDriver& driver) override; 20 | 21 | NodeType getType() const override { return NT_MeshNode; }; 22 | }; 23 | 24 | }; 25 | -------------------------------------------------------------------------------- /source/game/scene/plane_node.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "scene/node.h" 3 | 4 | namespace render { 5 | struct RenderState; 6 | }; 7 | 8 | namespace scene { 9 | 10 | class PlaneNode : public Node { 11 | public: 12 | const render::RenderState* material; 13 | float minRad, maxRad; 14 | 15 | PlaneNode(const render::RenderState* material, double size); 16 | 17 | virtual bool preRender(render::RenderDriver& driver); 18 | virtual void render(render::RenderDriver& driver); 19 | }; 20 | 21 | }; 22 | -------------------------------------------------------------------------------- /source/game/scripts/context_cache.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "angelscript.h" 3 | #include "threads.h" 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | //Logs every line that triggers a line callback 10 | //#define LOG_EXECUTION 11 | 12 | //Samples all execution randomly, recording results 13 | // The define also specifies how often to check for an executed line (higher is less often) 14 | //#define PROFILE_EXECUTION 25 15 | 16 | #if defined(LOG_EXECUTION) || defined(PROFILE_EXECUTION) 17 | #define DO_LINE_CALLBACK 18 | #endif 19 | 20 | namespace scripts { 21 | 22 | void initContextCache(); 23 | void resetContextCache(bool resetMenu = false); 24 | void freeContextCache(); 25 | 26 | asIScriptContext* makeContext(asIScriptEngine* engine); 27 | asIScriptContext* fetchContext(asIScriptEngine* engine); 28 | 29 | std::string getStackVariables(asIScriptContext* context, unsigned frame = 0); 30 | std::string getStackTrace(asIScriptContext* context, bool verbose = false); 31 | std::string getScriptVariable(void *value, asUINT typeId, bool expandMembers, asIScriptEngine *engine); 32 | void logException(); 33 | 34 | }; 35 | -------------------------------------------------------------------------------- /source/game/util/basic_type.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | enum BasicTypes { 4 | BT_Int, 5 | BT_Double, 6 | BT_Bool 7 | }; 8 | 9 | struct BasicType { 10 | BasicTypes type; 11 | union { 12 | int integer; 13 | double decimal; 14 | bool boolean; 15 | }; 16 | }; -------------------------------------------------------------------------------- /source/game/util/bbcode.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | class BBCode { 6 | public: 7 | struct Tag { 8 | int type; 9 | int value; 10 | std::string name; 11 | std::string argument; 12 | 13 | std::vector contents; 14 | 15 | Tag() : type(0), value(0) { 16 | } 17 | }; 18 | 19 | Tag root; 20 | void parse(const std::string& content); 21 | void clear(); 22 | 23 | BBCode(); 24 | ~BBCode(); 25 | }; 26 | -------------------------------------------------------------------------------- /source/game/util/elevation_map.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "vec2.h" 3 | #include "vec3.h" 4 | #include "line3d.h" 5 | #include 6 | 7 | /* 8 | * An elevation map takes an irregularly spaced 9 | * set of points, precalculates a regular grid of 10 | * smoothly interpolated heights and then allows 11 | * for elevation lookup for arbitrary locations. 12 | */ 13 | 14 | class ElevationMap { 15 | public: 16 | struct Point { 17 | vec3d center; 18 | double radius; 19 | }; 20 | std::vector points; 21 | bool generated; 22 | float* grid; 23 | 24 | vec3d gridStart; 25 | vec2d gridSize; 26 | vec2d gridInterval; 27 | vec2i gridResolution; 28 | double minHeight; 29 | double maxHeight; 30 | 31 | void clear(); 32 | void addPoint(const vec3d& point, double radius = 0.0); 33 | void generate(const vec2d& interval, double power = 2.0); 34 | 35 | double lookup(int x, int y); 36 | 37 | double get(vec2d point); 38 | double get(double x, double y); 39 | 40 | bool getClosestPoint(const line3dd& line, vec3d& point); 41 | 42 | ElevationMap(); 43 | ~ElevationMap(); 44 | }; 45 | -------------------------------------------------------------------------------- /source/game/util/formula.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | typedef double varInterpreter(void*,const std::string*); 5 | typedef double varIndexInterpreter(void*,int); 6 | typedef int varIndexConverter(const std::string*); 7 | double nullConverter(void*,const std::string*); 8 | 9 | struct FormulaError { 10 | std::string msg; 11 | FormulaError(const char* message) : msg(message) {} 12 | FormulaError(std::string message) : msg(message) {} 13 | }; 14 | 15 | class Formula { 16 | public: 17 | //Evaluates the formula 18 | //Variables in the formula will be passed to , which receives 19 | //the name of the variable, and the passed to evaluate 20 | virtual double evaluate(varInterpreter VarConverter = nullConverter, void* UserPointer = nullptr, varIndexInterpreter VarIndexConverter = 0) = 0; 21 | virtual ~Formula() {} 22 | 23 | //Creates a formula from infix notation 24 | //Can throw FormulaError if there is an error in the expression 25 | static Formula* fromInfix(const char* expression, varIndexConverter VarConverter = 0, bool catchErrors = true); 26 | }; 27 | ; 28 | -------------------------------------------------------------------------------- /source/game/util/mesh_generation.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | struct Mesh; 3 | 4 | Mesh* generateSphereMesh(unsigned int vertical, unsigned int horizontal); 5 | -------------------------------------------------------------------------------- /source/game/util/name_generator.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | //Second order markov chain name generator 9 | class NameGenerator { 10 | public: 11 | struct ProbData { 12 | int occurances; 13 | std::unordered_map nextCount; 14 | }; 15 | 16 | std::map,ProbData> data; 17 | std::vector names; 18 | std::map,int> nameStarts; 19 | std::set usedNames; 20 | float mutationChance; 21 | bool useGeneration; 22 | bool preventDuplicates; 23 | 24 | NameGenerator(); 25 | void clear(); 26 | 27 | void read(const std::string& filename); 28 | void write(const std::string& filename); 29 | 30 | bool hasName(const std::string& name); 31 | void addName(const std::string& name); 32 | void addAssociation(int first, int second, int next); 33 | unsigned getNameCount(); 34 | 35 | std::string generate(); 36 | }; 37 | -------------------------------------------------------------------------------- /source/game/util/stat_history.cpp: -------------------------------------------------------------------------------- 1 | #include "stat_history.h" 2 | 3 | void StatEntry::addEvent(unsigned short type, const std::string& name) { 4 | StatEvent* newEvent = new StatEvent; 5 | newEvent->name = name; 6 | newEvent->type = type; 7 | 8 | if(!evt) { 9 | evt = newEvent; 10 | } 11 | else { 12 | newEvent->next = evt; 13 | evt = newEvent; 14 | } 15 | } 16 | 17 | StatHistory::StatHistory() : head(0), tail(0) { 18 | } 19 | 20 | StatEntry* StatHistory::addStatEntry(unsigned time) { 21 | if(tail && tail->time >= time) { 22 | return tail; 23 | } 24 | 25 | StatEntry* entry = new StatEntry; 26 | entry->time = time; 27 | 28 | if(tail) { 29 | tail->next = entry; 30 | entry->prev = tail; 31 | tail = entry; 32 | } 33 | else { 34 | head = entry; 35 | tail = entry; 36 | } 37 | 38 | return entry; 39 | } 40 | 41 | const StatEntry* StatHistory::getHead() const { 42 | return head; 43 | } 44 | 45 | StatEntry* StatHistory::getTail() const { 46 | return tail; 47 | } -------------------------------------------------------------------------------- /source/game/util/stat_history.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | struct StatEvent { 5 | std::string name; 6 | StatEvent* next; 7 | unsigned short type; 8 | 9 | StatEvent() : type(0), next(0) {} 10 | }; 11 | 12 | struct StatEntry { 13 | StatEntry* next, *prev; 14 | StatEvent* evt; 15 | unsigned time; 16 | 17 | union { 18 | int asInt; 19 | float asFloat; 20 | }; 21 | 22 | void addEvent(unsigned short type, const std::string& name); 23 | 24 | StatEntry() : next(0), prev(0), time(0), evt(0), asInt(0) {} 25 | }; 26 | 27 | class StatHistory { 28 | StatEntry* head, *tail; 29 | public: 30 | 31 | StatHistory(); 32 | 33 | StatEntry* addStatEntry(unsigned time); 34 | const StatEntry* getHead() const; 35 | StatEntry* getTail() const; 36 | }; -------------------------------------------------------------------------------- /source/game/util/threaded_loader.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | namespace Loading { 6 | 7 | void prepare(unsigned threads, std::function threadPrep, std::function threadExit); 8 | void finalize(); 9 | void finish(); 10 | bool finished(); 11 | 12 | void addTask(const std::string& name, const char* depends, std::function execute, int threadRestriction = 0); 13 | void process(); 14 | 15 | }; 16 | -------------------------------------------------------------------------------- /source/glfw/CMake/amd64-mingw32msvc.cmake: -------------------------------------------------------------------------------- 1 | # Define the environment for cross compiling from Linux to Win64 2 | SET(CMAKE_SYSTEM_NAME Windows) 3 | SET(CMAKE_SYSTEM_VERSION 1) 4 | SET(CMAKE_C_COMPILER "amd64-mingw32msvc-gcc") 5 | SET(CMAKE_CXX_COMPILER "amd64-mingw32msvc-g++") 6 | SET(CMAKE_RC_COMPILER "amd64-mingw32msvc-windres") 7 | SET(CMAKE_RANLIB "amd64-mingw32msvc-ranlib") 8 | 9 | # Configure the behaviour of the find commands 10 | SET(CMAKE_FIND_ROOT_PATH "/usr/amd64-mingw32msvc") 11 | SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 12 | SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 13 | SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 14 | -------------------------------------------------------------------------------- /source/glfw/CMake/i586-mingw32msvc.cmake: -------------------------------------------------------------------------------- 1 | # Define the environment for cross compiling from Linux to Win32 2 | SET(CMAKE_SYSTEM_NAME Windows) 3 | SET(CMAKE_SYSTEM_VERSION 1) 4 | SET(CMAKE_C_COMPILER "i586-mingw32msvc-gcc") 5 | SET(CMAKE_CXX_COMPILER "i586-mingw32msvc-g++") 6 | SET(CMAKE_RC_COMPILER "i586-mingw32msvc-windres") 7 | SET(CMAKE_RANLIB "i586-mingw32msvc-ranlib") 8 | 9 | # Configure the behaviour of the find commands 10 | SET(CMAKE_FIND_ROOT_PATH "/usr/i586-mingw32msvc") 11 | SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 12 | SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 13 | SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 14 | -------------------------------------------------------------------------------- /source/glfw/CMake/i686-pc-mingw32.cmake: -------------------------------------------------------------------------------- 1 | # Define the environment for cross compiling from Linux to Win32 2 | SET(CMAKE_SYSTEM_NAME Windows) # Target system name 3 | SET(CMAKE_SYSTEM_VERSION 1) 4 | SET(CMAKE_C_COMPILER "i686-pc-mingw32-gcc") 5 | SET(CMAKE_CXX_COMPILER "i686-pc-mingw32-g++") 6 | SET(CMAKE_RC_COMPILER "i686-pc-mingw32-windres") 7 | SET(CMAKE_RANLIB "i686-pc-mingw32-ranlib") 8 | 9 | #Configure the behaviour of the find commands 10 | SET(CMAKE_FIND_ROOT_PATH "/opt/mingw/usr/i686-pc-mingw32") 11 | SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 12 | SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 13 | SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 14 | -------------------------------------------------------------------------------- /source/glfw/CMake/i686-w64-mingw32.cmake: -------------------------------------------------------------------------------- 1 | # Define the environment for cross compiling from Linux to Win32 2 | SET(CMAKE_SYSTEM_NAME Windows) # Target system name 3 | SET(CMAKE_SYSTEM_VERSION 1) 4 | SET(CMAKE_C_COMPILER "i686-w64-mingw32-gcc") 5 | SET(CMAKE_CXX_COMPILER "i686-w64-mingw32-g++") 6 | SET(CMAKE_RC_COMPILER "i686-w64-mingw32-windres") 7 | SET(CMAKE_RANLIB "i686-w64-mingw32-ranlib") 8 | 9 | # Configure the behaviour of the find commands 10 | SET(CMAKE_FIND_ROOT_PATH "/usr/i686-w64-mingw32") 11 | SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 12 | SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 13 | SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 14 | -------------------------------------------------------------------------------- /source/glfw/CMake/modules/FindEGL.cmake: -------------------------------------------------------------------------------- 1 | # Find EGL 2 | # 3 | # EGL_INCLUDE_DIR 4 | # EGL_LIBRARY 5 | # EGL_FOUND 6 | 7 | find_path(EGL_INCLUDE_DIR NAMES EGL/egl.h) 8 | 9 | set(EGL_NAMES ${EGL_NAMES} egl EGL) 10 | find_library(EGL_LIBRARY NAMES ${EGL_NAMES}) 11 | 12 | include(FindPackageHandleStandardArgs) 13 | find_package_handle_standard_args(EGL DEFAULT_MSG EGL_LIBRARY EGL_INCLUDE_DIR) 14 | 15 | mark_as_advanced(EGL_INCLUDE_DIR EGL_LIBRARY) 16 | 17 | -------------------------------------------------------------------------------- /source/glfw/CMake/modules/FindGLESv1.cmake: -------------------------------------------------------------------------------- 1 | # Find GLESv1 2 | # 3 | # GLESv1_INCLUDE_DIR 4 | # GLESv1_LIBRARY 5 | # GLESv1_FOUND 6 | 7 | find_path(GLESv1_INCLUDE_DIR NAMES GLES/gl.h) 8 | 9 | set(GLESv1_NAMES ${GLESv1_NAMES} GLESv1_CM) 10 | find_library(GLESv1_LIBRARY NAMES ${GLESv1_NAMES}) 11 | 12 | include(FindPackageHandleStandardArgs) 13 | find_package_handle_standard_args(GLESv1 DEFAULT_MSG GLESv1_LIBRARY GLESv1_INCLUDE_DIR) 14 | 15 | mark_as_advanced(GLESv1_INCLUDE_DIR GLESv1_LIBRARY) 16 | 17 | -------------------------------------------------------------------------------- /source/glfw/CMake/modules/FindGLESv2.cmake: -------------------------------------------------------------------------------- 1 | # Find GLESv2 2 | # 3 | # GLESv2_INCLUDE_DIR 4 | # GLESv2_LIBRARY 5 | # GLESv2_FOUND 6 | 7 | find_path(GLESv2_INCLUDE_DIR NAMES GLES2/gl2.h) 8 | 9 | set(GLESv2_NAMES ${GLESv2_NAMES} GLESv2) 10 | find_library(GLESv2_LIBRARY NAMES ${GLESv2_NAMES}) 11 | 12 | include(FindPackageHandleStandardArgs) 13 | find_package_handle_standard_args(GLESv2 DEFAULT_MSG GLESv2_LIBRARY GLESv2_INCLUDE_DIR) 14 | 15 | mark_as_advanced(GLESv2_INCLUDE_DIR GLESv2_LIBRARY) 16 | 17 | -------------------------------------------------------------------------------- /source/glfw/CMake/x86_64-w64-mingw32.cmake: -------------------------------------------------------------------------------- 1 | # Define the environment for cross compiling from Linux to Win32 2 | SET(CMAKE_SYSTEM_NAME Windows) # Target system name 3 | SET(CMAKE_SYSTEM_VERSION 1) 4 | SET(CMAKE_C_COMPILER "x86_64-w64-mingw32-gcc") 5 | SET(CMAKE_CXX_COMPILER "x86_64-w64-mingw32-g++") 6 | SET(CMAKE_RC_COMPILER "x86_64-w64-mingw32-windres") 7 | SET(CMAKE_RANLIB "x86_64-w64-mingw32-ranlib") 8 | 9 | # Configure the behaviour of the find commands 10 | SET(CMAKE_FIND_ROOT_PATH "/usr/x86_64-w64-mingw32") 11 | SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 12 | SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 13 | SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 14 | -------------------------------------------------------------------------------- /source/glfw/COPYING.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2002-2006 Marcus Geelnard 2 | Copyright (c) 2006-2010 Camilla Berglund 3 | 4 | This software is provided 'as-is', without any express or implied 5 | warranty. In no event will the authors be held liable for any damages 6 | arising from the use of this software. 7 | 8 | Permission is granted to anyone to use this software for any purpose, 9 | including commercial applications, and to alter it and redistribute it 10 | freely, subject to the following restrictions: 11 | 12 | 1. The origin of this software must not be misrepresented; you must not 13 | claim that you wrote the original software. If you use this software 14 | in a product, an acknowledgment in the product documentation would 15 | be appreciated but is not required. 16 | 17 | 2. Altered source versions must be plainly marked as such, and must not 18 | be misrepresented as being the original software. 19 | 20 | 3. This notice may not be removed or altered from any source 21 | distribution. 22 | 23 | -------------------------------------------------------------------------------- /source/glfw/docs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | add_custom_target(docs ALL ${DOXYGEN_EXECUTABLE} 3 | WORKING_DIRECTORY ${GLFW_BINARY_DIR}/docs 4 | COMMENT "Generating HTML documentation" VERBATIM) 5 | 6 | -------------------------------------------------------------------------------- /source/glfw/docs/html/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/bc_s.png -------------------------------------------------------------------------------- /source/glfw/docs/html/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/bdwn.png -------------------------------------------------------------------------------- /source/glfw/docs/html/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/closed.png -------------------------------------------------------------------------------- /source/glfw/docs/html/doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/doxygen.png -------------------------------------------------------------------------------- /source/glfw/docs/html/ftv2blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/ftv2blank.png -------------------------------------------------------------------------------- /source/glfw/docs/html/ftv2cl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/ftv2cl.png -------------------------------------------------------------------------------- /source/glfw/docs/html/ftv2doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/ftv2doc.png -------------------------------------------------------------------------------- /source/glfw/docs/html/ftv2folderclosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/ftv2folderclosed.png -------------------------------------------------------------------------------- /source/glfw/docs/html/ftv2folderopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/ftv2folderopen.png -------------------------------------------------------------------------------- /source/glfw/docs/html/ftv2lastnode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/ftv2lastnode.png -------------------------------------------------------------------------------- /source/glfw/docs/html/ftv2link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/ftv2link.png -------------------------------------------------------------------------------- /source/glfw/docs/html/ftv2mlastnode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/ftv2mlastnode.png -------------------------------------------------------------------------------- /source/glfw/docs/html/ftv2mnode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/ftv2mnode.png -------------------------------------------------------------------------------- /source/glfw/docs/html/ftv2mo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/ftv2mo.png -------------------------------------------------------------------------------- /source/glfw/docs/html/ftv2node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/ftv2node.png -------------------------------------------------------------------------------- /source/glfw/docs/html/ftv2ns.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/ftv2ns.png -------------------------------------------------------------------------------- /source/glfw/docs/html/ftv2plastnode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/ftv2plastnode.png -------------------------------------------------------------------------------- /source/glfw/docs/html/ftv2pnode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/ftv2pnode.png -------------------------------------------------------------------------------- /source/glfw/docs/html/ftv2splitbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/ftv2splitbar.png -------------------------------------------------------------------------------- /source/glfw/docs/html/ftv2vertline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/ftv2vertline.png -------------------------------------------------------------------------------- /source/glfw/docs/html/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/nav_f.png -------------------------------------------------------------------------------- /source/glfw/docs/html/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/nav_g.png -------------------------------------------------------------------------------- /source/glfw/docs/html/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/nav_h.png -------------------------------------------------------------------------------- /source/glfw/docs/html/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/open.png -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_62.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_62.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['blue',['blue',['../structGLFWgammaramp.html#acf0c836d0efe29c392fe8d1a1042744b',1,'GLFWgammaramp']]], 4 | ['bluebits',['blueBits',['../structGLFWvidmode.html#af310977f58d2e3b188175b6e3d314047',1,'GLFWvidmode']]], 5 | ['bug_20list',['Bug List',['../bug.html',1,'']]], 6 | ['building_20programs_20using_20glfw',['Building programs using GLFW',['../build.html',1,'']]], 7 | ['build_2edox',['build.dox',['../build_8dox.html',1,'']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_63.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_63.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['clipboard_20support',['Clipboard support',['../group__clipboard.html',1,'']]], 4 | ['compat_2edox',['compat.dox',['../compat_8dox.html',1,'']]], 5 | ['context_20handling',['Context handling',['../group__context.html',1,'(Global Namespace)'],['../context.html',1,'(Global Namespace)']]], 6 | ['context_2edox',['context.dox',['../context_8dox.html',1,'']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_65.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_65.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['error_20handling',['Error handling',['../group__error.html',1,'']]], 4 | ['error_20codes',['Error codes',['../group__errors.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_67.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_68.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_68.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['height',['height',['../structGLFWvidmode.html#ac65942a5f6981695517437a9d571d03c',1,'GLFWvidmode']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_69.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_69.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['initialization_20and_20version_20information',['Initialization and version information',['../group__init.html',1,'']]], 4 | ['input_20handling',['Input handling',['../group__input.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_6a.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_6a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['joysticks',['Joysticks',['../group__joysticks.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_6b.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_6b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['keyboard_20keys',['Keyboard keys',['../group__keys.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_6d.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_6d.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['mouse_20buttons',['Mouse buttons',['../group__buttons.html',1,'']]], 4 | ['main_2edox',['main.dox',['../main_8dox.html',1,'']]], 5 | ['modifier_20key_20flags',['Modifier key flags',['../group__mods.html',1,'']]], 6 | ['monitor_20handling',['Monitor handling',['../group__monitor.html',1,'(Global Namespace)'],['../monitor.html',1,'(Global Namespace)']]], 7 | ['monitor_2edox',['monitor.dox',['../monitor_8dox.html',1,'']]], 8 | ['moving_20from_20glfw_202_20to_203',['Moving from GLFW 2 to 3',['../moving.html',1,'']]], 9 | ['moving_2edox',['moving.dox',['../moving_8dox.html',1,'']]] 10 | ]; 11 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_6e.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_6e.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['notitle',['notitle',['../index.html',1,'']]], 4 | ['native_20access',['Native access',['../group__native.html',1,'']]], 5 | ['new_20features',['New features',['../news.html',1,'']]], 6 | ['news_2edox',['news.dox',['../news_8dox.html',1,'']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_71.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_71.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['quick_2edox',['quick.dox',['../quick_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_72.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_72.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['red',['red',['../structGLFWgammaramp.html#a2cce5d968734b685623eef913e635138',1,'GLFWgammaramp']]], 4 | ['redbits',['redBits',['../structGLFWvidmode.html#a6066c4ecd251098700062d3b735dba1b',1,'GLFWvidmode']]], 5 | ['refreshrate',['refreshRate',['../structGLFWvidmode.html#a791bdd6c7697b09f7e9c97054bf05649',1,'GLFWvidmode']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_73.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_73.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['standards_20conformance',['Standards conformance',['../compat.html',1,'']]], 4 | ['size',['size',['../structGLFWgammaramp.html#ad620e1cffbff9a32c51bca46301b59a5',1,'GLFWgammaramp']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_74.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_74.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['time_20input',['Time input',['../group__time.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_77.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/all_77.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['width',['width',['../structGLFWvidmode.html#a698dcb200562051a7249cb6ae154c71d',1,'GLFWvidmode']]], 4 | ['window_20handling',['Window handling',['../group__window.html',1,'(Global Namespace)'],['../window.html',1,'(Global Namespace)']]], 5 | ['window_2edox',['window.dox',['../window_8dox.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/classes_67.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/classes_67.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['glfwgammaramp',['GLFWgammaramp',['../structGLFWgammaramp.html',1,'']]], 4 | ['glfwvidmode',['GLFWvidmode',['../structGLFWvidmode.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/search/close.png -------------------------------------------------------------------------------- /source/glfw/docs/html/search/defines_67.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/files_62.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/files_62.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['build_2edox',['build.dox',['../build_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/files_63.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/files_63.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['compat_2edox',['compat.dox',['../compat_8dox.html',1,'']]], 4 | ['context_2edox',['context.dox',['../context_8dox.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/files_67.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/files_67.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['glfw3_2eh',['glfw3.h',['../glfw3_8h.html',1,'']]], 4 | ['glfw3native_2eh',['glfw3native.h',['../glfw3native_8h.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/files_6d.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/files_6d.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['main_2edox',['main.dox',['../main_8dox.html',1,'']]], 4 | ['monitor_2edox',['monitor.dox',['../monitor_8dox.html',1,'']]], 5 | ['moving_2edox',['moving.dox',['../moving_8dox.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/files_6e.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/files_6e.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['news_2edox',['news.dox',['../news_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/files_71.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/files_71.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['quick_2edox',['quick.dox',['../quick_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/files_77.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/files_77.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['window_2edox',['window.dox',['../window_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/functions_67.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/groups_63.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/groups_63.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['clipboard_20support',['Clipboard support',['../group__clipboard.html',1,'']]], 4 | ['context_20handling',['Context handling',['../group__context.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/groups_65.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/groups_65.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['error_20handling',['Error handling',['../group__error.html',1,'']]], 4 | ['error_20codes',['Error codes',['../group__errors.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/groups_69.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/groups_69.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['initialization_20and_20version_20information',['Initialization and version information',['../group__init.html',1,'']]], 4 | ['input_20handling',['Input handling',['../group__input.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/groups_6a.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/groups_6a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['joysticks',['Joysticks',['../group__joysticks.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/groups_6b.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/groups_6b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['keyboard_20keys',['Keyboard keys',['../group__keys.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/groups_6d.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/groups_6d.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['mouse_20buttons',['Mouse buttons',['../group__buttons.html',1,'']]], 4 | ['modifier_20key_20flags',['Modifier key flags',['../group__mods.html',1,'']]], 5 | ['monitor_20handling',['Monitor handling',['../group__monitor.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/groups_6e.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/groups_6e.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['native_20access',['Native access',['../group__native.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/groups_74.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/groups_74.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['time_20input',['Time input',['../group__time.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/groups_77.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/groups_77.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['window_20handling',['Window handling',['../group__window.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/mag_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/search/mag_sel.png -------------------------------------------------------------------------------- /source/glfw/docs/html/search/nomatches.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 |
No Matches
10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/pages_62.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/pages_62.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['bug_20list',['Bug List',['../bug.html',1,'']]], 4 | ['building_20programs_20using_20glfw',['Building programs using GLFW',['../build.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/pages_63.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/pages_63.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['context_20handling_20guide',['Context handling guide',['../context.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/pages_67.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/pages_67.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['getting_20started',['Getting started',['../quick.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/pages_6d.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/pages_6d.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['multi_2dmonitor_20guide',['Multi-monitor guide',['../monitor.html',1,'']]], 4 | ['moving_20from_20glfw_202_20to_203',['Moving from GLFW 2 to 3',['../moving.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/pages_6e.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/pages_6e.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['notitle',['notitle',['../index.html',1,'']]], 4 | ['new_20features',['New features',['../news.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/pages_73.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/pages_73.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['standards_20conformance',['Standards conformance',['../compat.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/pages_77.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/pages_77.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['window_20handling_20guide',['Window handling guide',['../window.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/search_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/search/search_l.png -------------------------------------------------------------------------------- /source/glfw/docs/html/search/search_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/search/search_m.png -------------------------------------------------------------------------------- /source/glfw/docs/html/search/search_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/search/search_r.png -------------------------------------------------------------------------------- /source/glfw/docs/html/search/typedefs_67.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/variables_62.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/variables_62.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['blue',['blue',['../structGLFWgammaramp.html#acf0c836d0efe29c392fe8d1a1042744b',1,'GLFWgammaramp']]], 4 | ['bluebits',['blueBits',['../structGLFWvidmode.html#af310977f58d2e3b188175b6e3d314047',1,'GLFWvidmode']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/variables_67.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/variables_67.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['green',['green',['../structGLFWgammaramp.html#affccc6f5df47820b6562d709da3a5a3a',1,'GLFWgammaramp']]], 4 | ['greenbits',['greenBits',['../structGLFWvidmode.html#a292fdd281f3485fb3ff102a5bda43faa',1,'GLFWvidmode']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/variables_68.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['height',['height',['../structGLFWvidmode.html#ac65942a5f6981695517437a9d571d03c',1,'GLFWvidmode']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/variables_72.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['red',['red',['../structGLFWgammaramp.html#a2cce5d968734b685623eef913e635138',1,'GLFWgammaramp']]], 4 | ['redbits',['redBits',['../structGLFWvidmode.html#a6066c4ecd251098700062d3b735dba1b',1,'GLFWvidmode']]], 5 | ['refreshrate',['refreshRate',['../structGLFWvidmode.html#a791bdd6c7697b09f7e9c97054bf05649',1,'GLFWvidmode']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/variables_73.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['size',['size',['../structGLFWgammaramp.html#ad620e1cffbff9a32c51bca46301b59a5',1,'GLFWgammaramp']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /source/glfw/docs/html/search/variables_77.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['width',['width',['../structGLFWvidmode.html#a698dcb200562051a7249cb6ae154c71d',1,'GLFWvidmode']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /source/glfw/docs/html/sync_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/sync_off.png -------------------------------------------------------------------------------- /source/glfw/docs/html/sync_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/sync_on.png -------------------------------------------------------------------------------- /source/glfw/docs/html/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/tab_a.png -------------------------------------------------------------------------------- /source/glfw/docs/html/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/tab_b.png -------------------------------------------------------------------------------- /source/glfw/docs/html/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/tab_h.png -------------------------------------------------------------------------------- /source/glfw/docs/html/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/glfw/docs/html/tab_s.png -------------------------------------------------------------------------------- /source/glfw/docs/main.dox: -------------------------------------------------------------------------------- 1 | /*! 2 | 3 | @mainpage notitle 4 | 5 | @section main_intro Introduction 6 | 7 | GLFW is a free, Open Source, multi-platform library for opening a window, 8 | creating an OpenGL context and managing input. It is easy to integrate into 9 | existing applications and does not lay claim to the main loop. 10 | 11 | This is the documentation for version 3.0, which has [many new features](@ref news). 12 | 13 | There is a [quick tutorial](@ref quick) for people new to GLFW, which shows how 14 | to write a small but complete program. 15 | 16 | If you have used GLFW 2.x in the past, there is a 17 | [transition guide](@ref moving) that explains what has changed and how to update 18 | existing code to use the new API. 19 | 20 | */ 21 | -------------------------------------------------------------------------------- /source/glfw/src/glfw3.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@CMAKE_INSTALL_PREFIX@ 2 | exec_prefix=${prefix} 3 | includedir=${prefix}/include 4 | libdir=${exec_prefix}/lib 5 | 6 | Name: GLFW 7 | Description: A portable library for OpenGL, window and input 8 | Version: @GLFW_VERSION_FULL@ 9 | URL: http://www.glfw.org/ 10 | Requires.private: @GLFW_PKG_DEPS@ 11 | Libs: -L${libdir} -l@GLFW_LIB_NAME@ 12 | Libs.private: @GLFW_PKG_LIBS@ 13 | Cflags: -I${includedir} 14 | -------------------------------------------------------------------------------- /source/glfw/src/glfwConfig.cmake.in: -------------------------------------------------------------------------------- 1 | # - Config file for the glfw package 2 | # It defines the following variables 3 | # GLFW_INCLUDE_DIR, the path where GLFW headers are located 4 | # GLFW_LIBRARY_DIR, folder in which the GLFW library is located 5 | # GLFW_LIBRARY, library to link against to use GLFW 6 | 7 | set(GLFW_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/include") 8 | set(GLFW_LIBRARY_DIR "@CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@") 9 | 10 | find_library(GLFW_LIBRARY "@GLFW_LIB_NAME@" HINTS ${GLFW_LIBRARY_DIR}) 11 | -------------------------------------------------------------------------------- /source/glfw/src/glfwConfigVersion.cmake.in: -------------------------------------------------------------------------------- 1 | 2 | set(PACKAGE_VERSION "@GLFW_VERSION_FULL@") 3 | 4 | if ("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL "@GLFW_VERSION_MAJOR@") 5 | set(PACKAGE_VERSION_COMPATIBLE TRUE) 6 | if ("${PACKAGE_FIND_VERSION_MINOR}" EQUAL @GLFW_VERSION_MINOR@) 7 | set(PACKAGE_VERSION_EXACT TRUE) 8 | endif() 9 | else() 10 | set(PACKAGE_VERSION_COMPATIBLE FALSE) 11 | endif() 12 | 13 | -------------------------------------------------------------------------------- /source/include/curl/LICENSE-curl: -------------------------------------------------------------------------------- 1 | COPYRIGHT AND PERMISSION NOTICE 2 | 3 | Copyright (c) 1996 - 2018, Daniel Stenberg, daniel@haxx.se, and many contributors, see the THANKS file. 4 | 5 | All rights reserved. 6 | 7 | Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | 11 | Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder. -------------------------------------------------------------------------------- /source/lib/win64/OpenAL64.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/lib/win64/OpenAL64.lib -------------------------------------------------------------------------------- /source/lib/win64/freetype247_64.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/lib/win64/freetype247_64.lib -------------------------------------------------------------------------------- /source/lib/win64/libcurl.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/lib/win64/libcurl.lib -------------------------------------------------------------------------------- /source/lib/win64/libpng64.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/lib/win64/libpng64.lib -------------------------------------------------------------------------------- /source/lib/win64/zlibwapi.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/lib/win64/zlibwapi.lib -------------------------------------------------------------------------------- /source/loader/SR2Loader/SR2Loader.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/loader/SR2Loader/SR2Loader.rc -------------------------------------------------------------------------------- /source/loader/SR2Loader/SR2Loader.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | 10 | 11 | Source Files 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /source/loader/SR2Loader/resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/loader/SR2Loader/resource.h -------------------------------------------------------------------------------- /source/msvc/Star Ruler 2/Star Ruler 2.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/source/msvc/Star Ruler 2/Star Ruler 2.rc -------------------------------------------------------------------------------- /source/msvc/Star Ruler 2/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by Star Ruler 2.rc 4 | // 5 | #define VS_VERSION_INFO 1 6 | #define IDI_ICON1 101 7 | #define IDC_STATIC -1 8 | 9 | // Next default values for new objects 10 | // 11 | #ifdef APSTUDIO_INVOKED 12 | #ifndef APSTUDIO_READONLY_SYMBOLS 13 | #define _APS_NEXT_RESOURCE_VALUE 102 14 | #define _APS_NEXT_COMMAND_VALUE 40001 15 | #define _APS_NEXT_CONTROL_VALUE 1000 16 | #define _APS_NEXT_SYMED_VALUE 101 17 | #endif 18 | #endif 19 | -------------------------------------------------------------------------------- /source/network/include/network.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | -------------------------------------------------------------------------------- /source/network/include/network/init.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace net { 4 | 5 | typedef void (*netErrorCallback)(const char* message, int code); 6 | 7 | void setErrorCallback(netErrorCallback cb); 8 | void netError(const char* err, int code); 9 | 10 | bool prepare(); 11 | void clear(); 12 | 13 | }; 14 | -------------------------------------------------------------------------------- /source/network/include/network/time.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | #ifdef __GNUC__ 5 | #include 6 | #endif 7 | 8 | namespace net { 9 | 10 | #ifdef __GNUC__ 11 | typedef unsigned int time; 12 | #else 13 | typedef unsigned int time; 14 | #endif 15 | 16 | void time_now(time& time); 17 | uint64_t time_diff(time& from, time& to); 18 | void time_add(time& base, int64_t add_ms); 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /source/network/include/network/transport.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include "threads.h" 5 | #include 6 | 7 | namespace net { 8 | 9 | class MessageHandler; 10 | class Transport { 11 | 12 | mutable threads::atomic_int references; 13 | threads::Mutex queueMutex; 14 | std::queue> queuedSends; 15 | std::queue> queuedBroadcasts; 16 | 17 | int sockfd; 18 | public: 19 | bool active; 20 | bool canBroadcast; 21 | AddressType type; 22 | 23 | int rate; 24 | 25 | Transport(AddressType Type = AT_IPv4); 26 | ~Transport(); 27 | 28 | void grab() const; 29 | void drop() const; 30 | 31 | void listen(Address& addr, bool rcvBroadcast = false); 32 | void process(); 33 | 34 | void close(); 35 | bool send(Message& msg, Address& adr, bool queue = true); 36 | bool broadcast(Message& msg, int port, bool queue = true); 37 | bool receive(Message& msg, Address& adr); 38 | 39 | static int RATE_LIMIT; 40 | 41 | friend class MessageHandler; 42 | }; 43 | 44 | }; 45 | -------------------------------------------------------------------------------- /source/network/source/time.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #ifdef _MSC_VER 4 | #pragma comment(lib, "WinMM.Lib") 5 | #include 6 | #endif 7 | 8 | namespace net { 9 | 10 | #ifdef _MSC_VER 11 | void time_now(time& tm) { 12 | tm = timeGetTime(); 13 | } 14 | #elif defined(__GNUC__) 15 | void time_now(time& tm) { 16 | timeval tv; 17 | gettimeofday(&tv, 0); 18 | 19 | uint64_t value = 0; 20 | value += tv.tv_sec * 1000; 21 | value += tv.tv_usec / 1000; 22 | tm = (time)value; 23 | } 24 | #endif 25 | 26 | uint64_t time_diff(time& from, time& to) { 27 | return to - from; 28 | } 29 | 30 | void time_add(time& base, int64_t add_ms) { 31 | base += add_ms; 32 | } 33 | }; 34 | -------------------------------------------------------------------------------- /source/os/source/files.cpp: -------------------------------------------------------------------------------- 1 | #include "files.h" 2 | #include "str_util.h" 3 | #include 4 | #include 5 | 6 | std::string getFileContents(const std::string& filename) { 7 | std::ifstream str(filename); 8 | return std::string((std::istreambuf_iterator(str)), 9 | std::istreambuf_iterator()); 10 | } 11 | 12 | std::string path_up(const std::string& path) { 13 | char last = path[path.size() - 1]; 14 | size_t pos; 15 | if(last == '/' || last == '\\') 16 | pos = path.substr(0, path.size() - 1).find_last_of("/\\"); 17 | else 18 | pos = path.find_last_of("/\\"); 19 | if(pos == std::string::npos) 20 | return ""; 21 | return path.substr(0, pos); 22 | 23 | } 24 | -------------------------------------------------------------------------------- /source/patcher/patcher/patcher.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | -------------------------------------------------------------------------------- /source/sound/OpenALSoft/efx-creative.h: -------------------------------------------------------------------------------- 1 | /* The tokens that would be defined here are already defined in efx.h. This 2 | * empty file is here to provide compatibility with Windows-based projects 3 | * that would include it. */ 4 | -------------------------------------------------------------------------------- /source/sound/include/IAudioReference.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef LIN_MODE 4 | #ifdef SND_EXPORT 5 | #define _export __declspec(dllexport) 6 | #else 7 | #define _export __declspec(dllimport) 8 | #endif 9 | #else 10 | #define _export 11 | #endif 12 | 13 | namespace audio { 14 | 15 | class IAudioReference { 16 | mutable int references; 17 | 18 | public: 19 | virtual ~IAudioReference(); 20 | IAudioReference(); 21 | 22 | _export void grab() const; 23 | _export void drop() const; 24 | }; 25 | 26 | }; -------------------------------------------------------------------------------- /source/sound/include/ISoundSource.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "IAudioReference.h" 4 | 5 | #include "SoundTypes.h" 6 | 7 | namespace audio { 8 | 9 | class ISoundDevice; 10 | 11 | class ISoundSource : public IAudioReference { 12 | protected: 13 | ISoundDevice* device; 14 | public: 15 | ISoundSource(ISoundDevice* Device); 16 | virtual ~ISoundSource(); 17 | 18 | virtual int getLength_ms() const = 0; 19 | 20 | virtual bool isStreaming() const = 0; 21 | 22 | virtual void setDefaultVolume(float volume) = 0; 23 | virtual float getDefaultVolume() const = 0; 24 | 25 | ISoundDevice* getDevice() const { return device; } 26 | }; 27 | 28 | }; -------------------------------------------------------------------------------- /source/sound/include/SAutoDrop.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace audio { 4 | 5 | template 6 | struct SAutoDrop { 7 | T* pRef; 8 | 9 | void clear() { pRef = 0; } 10 | 11 | SAutoDrop(T* object) : pRef(object) {} 12 | 13 | ~SAutoDrop() { 14 | if(pRef) pRef->drop(); 15 | } 16 | }; 17 | 18 | }; -------------------------------------------------------------------------------- /source/sound/include/SAutoLocker.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace audio { 4 | template 5 | struct SAutoLocker { 6 | T* obj; 7 | 8 | SAutoLocker(T* Object) { obj = Object; obj->lock(); } 9 | ~SAutoLocker() { obj->unlock(); } 10 | }; 11 | }; -------------------------------------------------------------------------------- /source/sound/include/SLoadError.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace audio { 6 | 7 | class SLoadError : public std::exception { 8 | bool badFile; 9 | public: 10 | #ifdef LIN_MODE 11 | SLoadError(const char* msg, bool wasBadFile = false) : std::exception(), badFile(wasBadFile) { 12 | #else 13 | SLoadError(const char* msg, bool wasBadFile = false) : std::exception(msg, 0), badFile(wasBadFile) { 14 | #endif 15 | } 16 | 17 | inline bool wasBadFile() const { return badFile; } 18 | }; 19 | 20 | class NotThisType { 21 | }; 22 | 23 | }; 24 | -------------------------------------------------------------------------------- /source/sound/include/SoundTypes.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace audio { 4 | typedef unsigned int bufferID; 5 | const bufferID invalidBuffer = 0xffffffff; 6 | 7 | typedef unsigned int sourceID; 8 | const sourceID invalidSource = 0xffffffff; 9 | }; -------------------------------------------------------------------------------- /source/sound/include/sound_vector.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "../../util/include/vec3.h" 3 | 4 | typedef vec3f snd_vec; 5 | 6 | //Correct the dimensions to be in the soundcard's space 7 | static inline snd_vec sync(const snd_vec& v) { 8 | //return snd_vec(-v.x, v.y, -v.z); 9 | return v; 10 | } 11 | 12 | static inline void sync(float& x, float& y, float& z) { 13 | //x = -x; 14 | //z = -z; 15 | } 16 | 17 | static inline bool valid(const snd_vec& v) { 18 | if(v.x != v.x || v.y != v.y || v.z != v.z) 19 | return false; 20 | if(v.x > 1e32f || v.y > 1e32f || v.z > 1e32f) 21 | return false; 22 | return true; 23 | } 24 | 25 | static inline bool valid(float x, float y, float z) { 26 | if(x != x || y != y || z != z) 27 | return false; 28 | if(x > 1e32f || y > 1e32f || z > 1e32f) 29 | return false; 30 | return true; 31 | } 32 | -------------------------------------------------------------------------------- /source/sound/source/CSSWave.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "CSoundSource.h" 4 | #include "ISoundDevice.h" 5 | #include 6 | 7 | namespace audio { 8 | class ISoundDevice; 9 | 10 | class CSSWave : public CSoundSource { 11 | bufferID soundBuffer; 12 | int length_ms; 13 | public: 14 | CSSWave(FILE* file, ISoundDevice* device); 15 | ~CSSWave(); 16 | 17 | virtual bool isStreaming() const; 18 | virtual int getLength_ms() const; 19 | virtual bufferID getBuffer() const; 20 | virtual bufferID getStreamBuffer(long& point) const; 21 | }; 22 | }; -------------------------------------------------------------------------------- /source/sound/source/CSoundSource.cpp: -------------------------------------------------------------------------------- 1 | #include "CSoundSource.h" 2 | #include "ISoundDevice.h" 3 | 4 | #include "al.h" 5 | #include "alc.h" 6 | 7 | #include "SLoadError.h" 8 | 9 | namespace audio { 10 | 11 | CSoundSource::CSoundSource(ISoundDevice* dev) 12 | : ISoundSource(dev), volume(1.f) 13 | { 14 | } 15 | 16 | CSoundSource::~CSoundSource() { 17 | } 18 | 19 | void CSoundSource::setDefaultSettings(sourceID source) const { 20 | alSourcef(source, AL_GAIN, volume); 21 | const float refDist = 50.f; 22 | alSourcef(source, AL_REFERENCE_DISTANCE, refDist); 23 | alSourcef(source, AL_MAX_DISTANCE, refDist * 128.f); 24 | alSourcef(source, AL_PITCH, 1.f); 25 | //alSourcef(source, AL_MIN_GAIN, 0.f); 26 | //alSourcef(source, AL_MAX_GAIN, 1.f); 27 | } 28 | 29 | void CSoundSource::setDefaultVolume(float volume) { 30 | if(volume >= 0) 31 | this->volume = volume; 32 | } 33 | 34 | float CSoundSource::getDefaultVolume() const { 35 | return volume; 36 | } 37 | 38 | }; -------------------------------------------------------------------------------- /source/sound/source/CSoundSource.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "ISoundSource.h" 4 | #include "SoundTypes.h" 5 | #include 6 | 7 | namespace audio { 8 | 9 | class ISoundDevice; 10 | 11 | class CSoundSource : public ISoundSource { 12 | public: 13 | CSoundSource(ISoundDevice* dev); 14 | virtual ~CSoundSource(); 15 | 16 | virtual void setDefaultSettings(sourceID source) const; 17 | 18 | virtual bufferID getBuffer() const = 0; 19 | virtual bufferID getStreamBuffer(long& point) const = 0; 20 | 21 | virtual void setDefaultVolume(float volume); 22 | virtual float getDefaultVolume() const; 23 | 24 | protected: 25 | float volume; 26 | }; 27 | 28 | CSoundSource* load_ogg(FILE* file, ISoundDevice* device); 29 | CSoundSource* load_wav(FILE* file, ISoundDevice* device); 30 | 31 | CSoundSource* load_ogg_stream(FILE* file, ISoundDevice* device); 32 | 33 | }; -------------------------------------------------------------------------------- /source/sound/source/IAudioReference.cpp: -------------------------------------------------------------------------------- 1 | #include "IAudioReference.h" 2 | #include "threads.h" 3 | 4 | namespace audio { 5 | 6 | IAudioReference::~IAudioReference() {} 7 | 8 | IAudioReference::IAudioReference() : references(1) {} 9 | 10 | void IAudioReference::grab() const { 11 | ++(*(threads::atomic_int*)&references); 12 | } 13 | 14 | void IAudioReference::drop() const { 15 | if(--(*(threads::atomic_int*)&references) == 0) 16 | delete this; 17 | } 18 | 19 | }; 20 | -------------------------------------------------------------------------------- /source/sound/source/ISound.cpp: -------------------------------------------------------------------------------- 1 | #include "ISound.h" 2 | 3 | namespace audio { 4 | 5 | ISound::ISound() { 6 | } 7 | 8 | ISound::~ISound() { 9 | } 10 | }; -------------------------------------------------------------------------------- /source/sound/source/ISoundDevice.cpp: -------------------------------------------------------------------------------- 1 | #include "ISoundDevice.h" 2 | 3 | namespace audio { 4 | ISoundDevice::~ISoundDevice() {} 5 | }; -------------------------------------------------------------------------------- /source/sound/source/ISoundSource.cpp: -------------------------------------------------------------------------------- 1 | #include "ISoundSource.h" 2 | #include "ISoundDevice.h" 3 | 4 | 5 | namespace audio { 6 | 7 | ISoundSource::ISoundSource(ISoundDevice* Device) : device(Device) { 8 | device->grab(); 9 | } 10 | 11 | ISoundSource::~ISoundSource() { 12 | device->drop(); 13 | } 14 | 15 | }; -------------------------------------------------------------------------------- /source/util/include/constants.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #define _USE_MATH_DEFINES 3 | #include 4 | 5 | #ifdef M_PIl 6 | const double e = M_El; 7 | const double pi = M_PIl; 8 | const double twopi = M_PIl * 2; 9 | #else 10 | const double e = M_E; 11 | const double pi = M_PI; 12 | const double twopi = M_PI * 2; 13 | #endif 14 | -------------------------------------------------------------------------------- /source/util/include/mesh.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "vertex.h" 3 | #include "vec4.h" 4 | #include "color.h" 5 | #include 6 | 7 | struct Mesh { 8 | public: 9 | struct Face { 10 | unsigned short a, b, c; 11 | 12 | Face() : a(0), b(0), c(0) {}; 13 | 14 | Face(unsigned short A, unsigned short B, unsigned short C) 15 | : a(A), b(B), c(C) {}; 16 | 17 | Face(const Face& other) { 18 | a = other.a; 19 | b = other.b; 20 | c = other.c; 21 | }; 22 | }; 23 | 24 | std::vector vertices; 25 | std::vector faces; 26 | 27 | std::vector tangents; 28 | std::vector colors; 29 | std::vector uvs2; 30 | }; 31 | -------------------------------------------------------------------------------- /source/util/include/num_util.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | template 4 | T max_(T a, T b) { 5 | return a > b ? a : b; 6 | } 7 | 8 | template 9 | T min_(T a, T b) { 10 | return a > b ? b : a; 11 | } 12 | -------------------------------------------------------------------------------- /source/util/include/plane.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "vec3.h" 3 | 4 | template 5 | struct plane { 6 | vec3 dir; 7 | T dist; 8 | 9 | plane() : dist(0) {} 10 | 11 | plane(const vec3& direction, T distance) : dir(direction), dist(distance) { 12 | } 13 | 14 | plane(const vec3& point, const vec3& direction) : dir(direction), dist((T)point.dot(direction)) { 15 | } 16 | 17 | //Creates a plane from a triangle specified in clockwise order (looking at the plane) 18 | plane(const vec3& vertA, const vec3& vertB, const vec3& vertC) { 19 | vec3 legOne = vertA - vertB, legTwo = vertC - vertB; 20 | 21 | dir = legOne.cross(legTwo).normalized(); 22 | dist = (T)dir.dot(vertA); 23 | } 24 | 25 | double distanceFromPlane(const vec3& point) const { 26 | return dir.dot(point) - dist; 27 | } 28 | 29 | bool pointInFront(const vec3& point) const { 30 | return distanceFromPlane(point) >= 0.0; 31 | } 32 | }; 33 | 34 | typedef plane planed; -------------------------------------------------------------------------------- /source/util/include/vertex.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "vec3.h" 3 | 4 | struct Vertex { 5 | float u, v; 6 | vec3f normal, position; 7 | 8 | Vertex() : u(0), v(0) {} 9 | explicit Vertex(const vec3f& pos) : position(pos), normal(pos.normalized()), u(0), v(0) {} 10 | explicit Vertex(const vec3f& pos, float U, float V) : position(pos), normal(pos.normalized()), u(U), v(V) {} 11 | }; 12 | -------------------------------------------------------------------------------- /source/util/source/Vector.cpp: -------------------------------------------------------------------------------- 1 | #include "BiPatch/Vector.h" 2 | #include 3 | 4 | namespace BiPatch { 5 | 6 | Vector Vector::normal() const { 7 | Vector v1(*this); 8 | v1.normalize(); 9 | return v1; 10 | } 11 | 12 | }; 13 | -------------------------------------------------------------------------------- /sr2.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/sr2.icns -------------------------------------------------------------------------------- /sr2.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/sr2.ico -------------------------------------------------------------------------------- /sr2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSRProject/OpenStarRuler/488ba951da7dc9d8d105535dd69ce7eee34b2464/sr2.png --------------------------------------------------------------------------------