taisei A free and open-source Touhou Project fanga

我要开发同款
匿名用户2021年12月24日
39阅读
开发技术C/C++
所属分类程序开发、图形/图像处理
授权协议View license

作品详情

TaiseiContents

IntroductionInstallationDependenciesBuild-onlydependenciesObtainingthesourcecodeStablereleasesLatestcodefromgitCompilingfromsourceWherearemyreplays,screenshotsandsettings?GamecontrollersupportTroubleshootingSoundproblems(Linux)ContactIntroductionTaiseiisanopencloneoftheTōhōProjectseries.Tōhōisaone-manprojectofshoot-em-upgamessetinanisolatedworldfullofJapanesefolklore.

InstallationDependenciesOpenGL>=3.3orOpenGLES>=3.0orOpenGLES>=2.0(withsomeextensions)cglm>=0.7.8SDL2>=2.0.10freetype2libpng>=1.5.0libwebpdecoder>=0.5orlibwebp>=0.5libzip>=1.5.0(>=1.7.0recommended)libzstd>=1.4.0opusfilezlibOptional:

OpenSSL(forabetterSHA-256implementation;usedinshadercache)SPIRV-Cross>=2019-03-22(forOpenGLESbackends)libshaderc(forOpenGLESbackends)GameModeheaders(Linuxonly;forautomaticGameModeintegration)Build-onlydependenciesPython>=3.6meson>=0.53.0[python-zstandard](https://github.com/indygreg/python-zstandard)Optional:

docutils(fordocumentation)ObtainingthesourcecodeStablereleasesYoucanfindthesourcetarballsattheReleasessectiononGithub.DonotgrabGithub'sauto-generatedsourcearchives,thosedonotcontaintherequiredsubmodules.Thisonlyappliesforversionsv1.3andabove.

LatestcodefromgitIfyouclonedTaiseifromgit,makesurethesubmodulesareinitialized:

gitsubmoduleinitgitsubmoduleupdateThisstepneedstobedonejustonce,andcanbeskippedifyouspecifiedthe--recursiveor--recurse-submodulesoptionwhencloning.

Important:Youshouldalsorungitsubmoduleupdatewheneveryoupullinnewcode,checkoutanotherbranch,etc.Thepullandcheckouthelperscriptscandothatforyouautomatically.

CompilingfromsourceTobuildandinstallTaiseion*nix,justfollowthesesteps:

cd/path/to/taisei/sourcemkdirbuildcdbuildmeson--prefix=$yourprefix..ninjaninjainstallThiswillinstallgamedatato$prefix/share/taisei/andbuildthispathstaticallyintotheexecutable.Thismightbeapackagemaintainer’schoice.Alternativelyyoumaywanttoadd-Dinstall_relative=truetogetarelativestructurelike

$prefix/taisei$prefix/data/install_relativeisalwayssetwhenbuildingforWindows.

TheOpenGLES3.0backendisnotbuiltbydefault.Toenableit,do:

mesonconfigure-Dr_gles30=true-Dshader_transpiler=trueSeehereforinformationonhowtoactivateit.Alternatively,dothistomakeGLES3.0thedefaultbackend:

mesonconfigure-Dr_default=gles30TheOpenGLES2.0backendcanbeenabledsimilarly,usinggles20insteadofgles30.However,itrequiresafewextensionstofunctioncorrectly,mostnotably:

OES_depth_textureorGL_ANGLE_depth_textureOES_standard_derivativesOES_vertex_array_objectEXT_frag_depthEXT_instanced_arraysorANGLE_instanced_arraysorNV_instanced_arraysWherearemyreplays,screenshotsandsettings?Taiseistoresalldatainaplatform-specificdirectory:

OnWindows,thiswillprobablybe%APPDATA%\taiseiOnmacOS,it's$HOME/Library/ApplicationSupport/taiseiOnLinux,*BSD,andmostotherUnix-likesystems,it's$XDG_DATA_HOME/taiseior$HOME/.local/share/taiseiThisisreferredtoastheStorageDirectory.YoucansettheenvironmentvariableTAISEI_STORAGE_PATHtooverridethisbehaviour.

GamecontrollersupportTaiseiusesSDL2'sunifiedGameControllerAPI.ThisallowsustocorrectlysupportanydevicethatSDLrecognizesbydefault,whiletreatingallofthemthesameway.ThisalsomeansthatifyourdeviceisnotsupportedbySDL,youwillnotbeabletouseitunlessyouprovideacustommapping.Ifyourcontrollerislistedinthesettingsmenu,thenyou'refine.Ifnot,readon.

Anexamplemappingstringlookslikethis:

03000000ba2200002010000001010000,JessTechnologyUSBGameController,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,Thereareafewwaystogenerateacustommapping:

Youcanusethecontrollermaputility,whichcomeswithSDLsourcecode.IfyouuseSteam,youcanconfigureyourcontrollerthere.ThenyoucanaddTaiseiasanon-Steamgame;runitfromSteamandeverythingshouldjustwork™.Incaseyoudon'twanttodothat,findconfig/config.vdfinyourSteaminstallationdirectory,andlookfortheSDL_GamepadBindvariable.ItcontainsalistofSDLmappingsseparatedbylinebreaks.YoucanalsotrytheSDL2GamepadToolbyGeneralArcade.Thisprogramisfreetouse,butnotopensource.Finally,youcantrytowriteamappingbyhand.YouwillprobablyhavetorefertotheSDLdocumentation.Seegamecontrollerdb.txtforsomemoreexamples.Onceyouhaveyourmapping,therearetwowaystomakeTaiseiuseit:

Createafilenamedgamecontrollerdb.txtwhereyourconfig,replaysandscreenshotsare,andputeachmappingonanewline.PutyourmappingsintheenvironmentvariableSDL_GAMECONTROLLERCONFIG,alsoseparatedbylinebreaks.OthergamesthatusetheGameControllerAPIwillalsopickthemup.Whenyou'redone,pleaseconsidercontributingyourmappingstoSDL,SDL_GameControllerDB,andus,sothatotherpeoplecanbenefitfromyourwork.

Alsonotethatwecurrentlyonlyhandleinputfromanalogaxesanddigitalbuttons.Hats,analogbuttons,andanythingmoreexoticwillnotwork,unlessremapped.

TroubleshootingSoundproblems(Linux)Ifyoursoundbecomesglitchy,andyouencounterlotofconsolemessageslike:

ALSAlibpcm.c:7234:(snd_pcm_recover)underrunoccurreditseemslikeyoupossiblyhavebrokenALSAconfiguration.Thismaybefixedbyplayingwithparametervaluesofpcm.dmixer.slaveoptiongroupin/etc/asound.conforwhereveryouhaveyourALSAconfiguration.Commentingperiod_time,period_size,buffer_size,ratemaygiveyouthefirstapproachtowhattodo.

Contacthttps://taisei-project.org/#taisei-projectonFreenodeOurserveronDiscord
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论