manual_hu.html 1.1 MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632
  1. <!DOCTYPE html>
  2. <html lang="hu">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="generator" content="gendoc 1.0.0: https://gitlab.com/bztsrc/gendoc">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>MEG-4 Kézikönyv</title>
  8. <style rel="logic">*{box-sizing:border-box;font-family:inherit;}body {background:rgba(0,0,0,0.05);font-weight:400;font-size:16px;}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:26px 0;padding:0;border-top:1px solid;}br:after,br:before{display:table;content:""}br{clear:both;}h1,h2,h3,h4,h5,h6{clear:both;margin:0px 0px 20px 0px;padding-top:4px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}p{margin:0 0 24px}a{cursor:pointer;}h1{font-size:175%}h2{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}pre,samp,code,var,kbd{font-family:Monaco,Consolas,Liberation Mono,Courier,monospace;font-variant-ligatures:none;}pre,code{display:block;overflow:auto;white-space:pre;font-size:14px;line-height:16px!important;}pre{padding:12px;margin:0px;}code{padding:0 0 12px 0;margin:12px 12px 0px 2px;background:url(data:type/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAYAAADT5RIaAAAAFklEQVQI12NgYGDgZWJgYGCgDkFtAAAWnAAsyj4TxgAAAABJRU5ErkJggg==) 0 0 repeat;}.lineno{display:block;padding:0px 4px 0px 4px;margin:12px 0px 0px 0px;opacity:.4;text-align:right;float:left;white-space:pre;font-size:12px;line-height:16px!important;}pre .hl_b,samp .hl_b,code .hl_b{display:block;}blockquote{margin:0px;padding:12px;}blockquote>span:first-child::before{content:url(data:type/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAgCAYAAABU1PscAAABRElEQVRYw+3WTytEURjH8c/4l1JTpKxsyEbYWFkpG+UVKOWFeAts7eytbJSysLLVxIKNFAslwhSlUQabUdM0xm0e967Ot+7inPN8z+13z73nXBKJRCIRoJSxbggrmMMInlHBIWoF+KEAQ9jAaJuxe2zhJUe/Iz0ZahZ/uTmMYT1nPxxg/I/xWQzn6IcD1IIha//wkEIBKhlq+nP0wwHOsYuvDjWvOfod6c1Yd9O4ZjDQZvwAbzn6oRVofpKbqLf0P+GxAD8cAO7w0NJ3WqAfDlBCuan9gaMC/XCA+cbJ+sMRqgX6oQCTWGtqX2O/QL8tfRlqyljGUlPgW2y3+SDz8Lv6mRvEQmPbm25ZqQvs/LHtRf3wCkxgtaWvij2cZJg36ocD/Pw91nGJY5zhM+O8UT/8Ck01TswrvHcxb9RPJBKJRDF8AyNbWk4WFTIzAAAAAElFTkSuQmCC);float:left;vertical-align:top;}.ui1,.ui2,.ui3,.ui4,.ui5,.ui6{display:inline-block;height:24px!important;line-height:24px!important;padding:0px 4px;margin:-2px 0px -2px;}kbd{display:inline-block;font-weight:700;border:1px solid #888;height:24px!important;padding:0px 4px;margin:-2px 0px -2px;border-radius:4px;background-image:linear-gradient(#ddd 0%,#eee 10%,#bbb 10%,#ccc 30%,#fff 85%,#eee 85%,#888 100%);}.mouseleft,.mouseright,.mousewheel{display:inline-block;min-width:16px;height:24px!important;padding:0px;margin:-2px 0px 0px 0px;vertical-align:middle;}.mouseleft::before{content:url(data:type/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAYCAMAAADEfo0+AAAAe1BMVEUAAACoqKj9/f2zs7O1tbWRkZGlpaWsrKybm5u2traNjY2Wlpanp6empqaYmJiPj4+3t7f5+fmjo6P19fXu7u6ZmZnx8fHi4uLm5ube3t7q6uqwsLC0tLS7u7u4uLi/v7/W1tbDw8PLy8vPz8/T09Pa2trHx8eIiIhERkShhqFGAAAAAXRSTlMAQObYZgAAAI5JREFUGNNV0EcCwjAMRFEB6R2DKSGQUBLp/idEjsG23m7+cgAMIsJWwR8Z235pumDTnkUbv+lg7CIfTqvSbTquxsGFfjWXLlwsdOFs+XC1EHAWOEwCh4/A4S1weAkcFoHDU0CI8zGQx1Cpe0BVAO0j0PIfiR4cnZjLdHP7abQ9VRVZnaZ1VvjfO42o7edfH3EoHZS6XE4AAAAASUVORK5CYII=);}.mouseright::before{content:url(data:type/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAYCAMAAADEfo0+AAAAe1BMVEUAAACoqKj9/f2zs7O1tbWRkZGlpaWsrKybm5u2traNjY2Wlpanp6empqaYmJiPj4+3t7f5+fmjo6P19fXu7u6ZmZnx8fHi4uLm5ube3t7q6uqwsLC0tLS7u7u4uLi/v7/W1tbDw8PLy8vPz8/T09Pa2trHx8eIiIhERkShhqFGAAAAAXRSTlMAQObYZgAAAI9JREFUGNNV0NkWgjAMRdGozFOxWgdEcYLk/7/Q0EpL9tNd5/ECzLRCIoJF20zdlsinTbRn5Eu0O8zIl/Jk+dAPR4uWUo6d5QNenBDOTghXJ4RRQMCnwOErcPgIHN4Ch0ng8BIQ4nxYyWOo9H1FVwDqsaL4j8T0nknmy0xz+2uMO1UXWZ2mdVbo8LtBNK2dP/2+KB2shyfVAAAAAElFTkSuQmCC);}.mousewheel::before{content:url(data:type/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAYCAMAAADEfo0+AAAAe1BMVEUAAACzs7OoqKisrKyRkZGlpaX9/f22trabm5uNjY2mpqanp6ePj4+1tbWYmJi3t7eWlpajo6OZmZmwsLD5+fnu7u7x8fHi4uLW1tbm5ube3t7T09Pq6ur19fW4uLi7u7u0tLTa2trPz8+/v7/Dw8PLy8vHx8eIiIhERkS4354xAAAAAXRSTlMAQObYZgAAAKdJREFUGNNV0NkagiAUhdHjPAECzWWlWdL7P2Fno/nJumHzXx4iMMI5YeivVVOX592k2vkfy/1CxvjL6L6KJAd9ZF+GVxP144Eh4B170kPHEPAOmtwFEPxw5E6A4AeHKyD4wWEABD84nAHBDw43QPCDwyvA4RPgMAU4vAOO0mLcKFJqzHPDNETisSH4HpntVzbDyazaLZSdj2qqsk6Suqw2d7fO2fnmP7kAJW9a/HbiAAAAAElFTkSuQmCC);}footer{width:100%;padding:0 3.236em;}footer p{opacity:0.6;}footer small{opacity:0.5;}footer a{text-decoration:none;color:inherit;}footer a:hover{text-decoration:underline;}dl{margin:0 0 24px 0;padding:0px;}dt{font-weight:700;margin-bottom:12px;}dd{margin:0 0 12px 24px;}.table table{margin:0px;border-collapse:collapse;border-spacing:0;empty-cells:show;border:1px solid;width:100%;}th{font-weight:700;padding:8px 16px;overflow:visible;vertical-align:middle;white-space:nowrap;border:1px solid;}th.wide{width:100%;}td{padding:8px 16px;overflow:visible;vertical-align:middle;font-size:90%;border:1px solid;}td.right{text-align:right;}table.grid{margin:0px;padding:0px;border:none!important;background:none!important;border-spacing:0;border:0px!important;empty-cells:show;width:100%;}table.grid tr, table.grid td{margin:0px;padding:0px;overflow:hidden;vertical-align:top;background:none!important;border:0px!important;font-size:90%;}div.frame{position:absolute;width:100%;min-height:100%;margin:0px;padding:0px;max-width:1100px;top:0px;left:0px;}#_m{margin-left:300px;min-height:100%;}div.title{display:block;width:300px;padding-top:.809em;padding-bottom:.809em;margin-bottom:.809em;text-align:center;font-weight:700;}div.title>a{padding:4px 6px;margin-bottom:.809em;font-size:150%;}div.title>a:hover{background:transparent;}div.title>a>img{max-width:280px;border:0px;padding:0px;margin:0px;}div.title input{display:none;width:270px;border-radius:50px;padding:6px 12px;font-size:80%;box-shadow:inset 0 1px 3px #ddd;transition:border .3s linear;}div.title input:required:invalid{background:#fcfcfc url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAASFBMVEUAAAC6urq7u7y7vLy8vL3Dw8TLzM67urq8vL29vr69vr/AwMK5ubm5ubm4uLi5t7fAwMC/vr/FxMXBwsPExcW+u7vDw8S4uLiryZHFAAAAF3RSTlMA9vGttk4lfbWnpJQG0MpzYEIglFRCGzMa+EsAAAB0SURBVBjTbY5bCsMwDAQl2U6cR5s0fcz9b1oLpWBC52dhENqVRsmG5SIn60wwryEm0LQkbUacAveh5XGDh4uKfsQZlOqpJAkS5gHPUyzgYdeLjB6/H7lvGbzlssP2WDoRGGzxrVRD82sHRukZ/xhv7tns/QXrhgcaFdOKBwAAAABJRU5ErkJggg==) no-repeat 10px 50%;}div.title input:focus{background:#fcfcfc!important;}div.version{margin-top:.4045em;margin-bottom:.809em;font-size:90%;}nav.side {display:block;position:fixed;top:0;bottom:0;left:0;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;font-weight:400;z-index:999;}nav.mobile {display:none;font-weight:bold;padding:.4045em .809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1;}nav a{color:inherit;text-decoration:none;display:block;}nav.side>div{position:relative;overflow-x:hidden;overflow-y:scroll;width:320px;height:100%;padding-bottom:64px;}div.nav p{height:32px;line-height:32px;padding:0 1.618em;margin:12px 0px 0px 0px;font-weight:700;text-transform:uppercase;font-size:85%;white-space:nowrap;-webkit-font-smoothing:antialiased}div.nav li>.current,div.nav li>ul{display:none;}div.nav li>a,div.nav li>label{display:block;}div.nav a,div.nav ul>li>label,div.nav ul>li>.current{width:300px;line-height:18px;padding:0.4045em 1.618em;}div.nav a,div.nav ul>li>label{cursor:pointer;}div.nav .current{font-weight:700;border-top:1px solid;border-bottom:1px solid #c9c9c9;}div.nav ul>li>ul>li>a{border-right:solid 1px #c9c9c9;font-size:90%;}div.nav ul>li>ul>li.h2>a{padding:0.4045em 2.427em;}div.nav ul>li>ul>li.h3>a{padding:.4045em 1.618em .4045em 4.045em;}div.nav ul>li>ul>li.h4>a{padding:.4045em 1.618em .4045em 5.663em;}div.nav ul>li>ul>li.h5>a{padding:.4045em 1.618em .4045em 7.281em;}div.nav ul>li>ul>li.h6>a{padding:.4045em 1.618em .4045em 8.899em;}div.nav ul,div.nav li,.breadcrumbs{margin:0px!important;padding:0px;list-style:none;}ul.breadcrumbs,.breadcrumbs li{display:inline-block;}.menu{display:inline-block;position:absolute;top:12px;right:20px;cursor:pointer;width:1.5em;height:1.5em;vertical-align:middle;padding:16px 24px 16px 24px;border:solid 1px rgba(255, 255, 255, 0.5);border-radius:5px;background:no-repeat center center url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");}.home{display:inline-block;max-width:16px;max-height:16px;line-height:16px;margin:0 5px 0 0;cursor:pointer;}.home::before{content:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAS1BMVEUAAAD8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PyxWsjVAAAAGHRSTlMAx6oLLRnYiXFEvPbey518NQbsj11QKhQ+J0ktAAAAbElEQVQY053ISQ7DMAwEwRYpavHurPz/SwMoMpD46L4MpvBTB0zTP+R9z55Ebh0yQL5DaDA+0WVR3h3Gikp9iPKF9MIkQhSDwUlGHCLQxhLGJkpLZcNYS/tdyorP/DQ7HgBqKRUgHBDcw2X4AFsJCSXB/5UVAAAAAElFTkSuQmCC);}h1>a,h2>a,h3>a,h4>a,h5>a,h6>a{display:none;max-width:16px;max-height:24px;margin:-8px 0 0 5px;vertical-align:middle;}h1:hover>a,h2:hover>a,h3:hover>a,h4:hover>a,h5:hover>a,h6:hover>a{display:inline-block;text-decoration:none!important;}h1>a::before,h2>a::before,h3>a::before,h4>a::before,h5>a::before,h6>a::before{content:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAiBAMAAACkb0T0AAAAMFBMVEUAAAD8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PzS+N+gAAAAD3RSTlMABab5cVY73o4k2cJTPb1Q83MyAAAAh0lEQVQY02P4DwWkM7YxsNiDGJ8EGBgmgxiKDDkCLAwgAQn7hQxARiGj8v8/IIYDi2a9GZChHiAnMLmBjeGTaIBUAMcFaYaNvA2sC1kD9RkSOCwZF7IW/WdgSP4+yYHlP5Bx/r+RgDiIIfW5kVEfyHBgPMYgBLLdkoEBKABkfHZgyIa7h04MAOVty/RC/PhoAAAAAElFTkSuQmCC);}h1>a:hover::after,h2>a:hover::after,h3>a:hover::after,h4>a:hover::after,h5>a:hover::after,h6>a:hover::after{content:"Hivatkozás erre a címre";display:block;padding:12px;position:absolute;margin:-8px 8px;font-weight:400;font-size:14px;background:rgba(0,0,0,.8);color:#fff;border-radius:4px;}input[type=radio]{display:none;}input[type=radio]:checked ~ ul{display:block;}.fig{margin-top:-12px;padding-bottom:12px;display:block;text-align:center;font-style:italic;}div.page{width:100%;padding:1.618em 3.236em;margin:auto;line-height:24px;}div.page ol{margin:0 0 24px 12px;padding-left:0px;}div.page ul{margin:0 0 24px 24px;list-style:disc outside;padding-left:0px;}div.page ol{list-style-type:none;counter-reset:list;}div.page ol li:before{counter-increment:list;content:counters(list,".") ". ";}div.pre{overflow-x:auto;margin:1px 0px 24px;}div.table{overflow-x:auto;margin:0px 0px 24px;}div.info,div.hint,div.warn{padding:12px;line-height:24px;margin-bottom:24px;}div.info>p,div.hint>p,div.warn>p{margin:0px;}div.info>p:first-child,div.hint>p:first-child,div.warn>p:first-child{display:block;font-weight:700;padding:2px 8px 2px;margin:-12px -12px 8px -12px;vertical-align:middle;}div.info>p:first-child>span,div.hint>p:first-child>span,div.warn>p:first-child>span{display:block;max-height:20px;margin:0px;vertical-align:middle;}div.info>p:first-child>span::before,div.hint>p:first-child>span::before,div.warn>p:first-child>span::before{content:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAApUlEQVQ4y82TwQnDMAxFpVJyLPiSbbJETr13Fo+RZZxLRghkgnSEEni9ONS0sg1tDv3wwfjbX7Iki/wVAAd4IPBCiHuudrkHVvJYgb50eaOO7cMkpv0eeQGukYuRiUsNvBFpSvTJ0P2un0Sk+6Le3WEG58yBFrjt61r7Qqbij0gLIX3CaPgOqtqoaiMig6GPtTbOwCVyLraxMEj3yPIgHTLKv3ymJySzt16bW/sWAAAAAElFTkSuQmCC);}p>div:last-child,dd>*:last-child,td>*:last-child,li>ol,li>ul{margin-bottom:0px!important;}img{border:0px;}img.imgt{display:inline-block;max-height:22px!important;padding:0px;margin:-4px 0px 0px 0px;vertical-align:middle;}img.imgl{float:left;margin:0px 12px 12px 0px;}img.imgr{float:right;margin:0px 0px 12px 12px;}div.imgc{text-align:center;padding:0px;margin:0 0 12px 0;clear:both;}img.imgc{max-width:100%;}img.imgw{width:100%;margin-bottom:12px;clear:both;}.btn{border-radius:2px;line-height:normal;white-space:nowrap;color:inherit;text-align:center;cursor:pointer;font-size:100%;padding:4px 12px 8px;border:1px solid rgba(0,0,0,.1);text-decoration:none;box-shadow:inset 0 1px 2px -1px hsla(0,0%,100%,.5),inset 0 -2px 0 0 rgba(0,0,0,.1);vertical-align:middle;*zoom:1;user-select:none;transition:all .1s linear}.prev{float:left;}.prev::before{content:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAANlBMVEUAAABAQEBAQEBAQEBAQEBAQEBAQEBBQUFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAWW5SEAAAAEnRSTlMA/fC9r2kXAjMN34F3ZlUu6B40Y5wGAAAAVElEQVQY08XPSw6AIAwEUIbS8lFE739Zq6luGtbM8iXTTMOCZGECiCX/MhIQTyCNz+SRrUc1MWKVvR5KYCN6pUFDRtqq4Sql9IYJ+aI/70f4qdOHblOhAuUcC5KnAAAAAElFTkSuQmCC);}.next{float:right;}.next::after{content:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASBAMAAACk4JNkAAAAJFBMVEUAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEC4lvDfAAAAC3RSTlMAx711ZjlFPh3zLASjkrYAAABDSURBVAjXY6AUsGhvcgAzOKR3797YAGIx7t5mvVsAxPLevZ159xYQS3v3zgLrTSDW7tTQBcy7ESyELEIHwhSEyQjbAAH1HsMY8tCHAAAAAElFTkSuQmCC);}@media screen and (max-width:991.98px){nav.mobile{display:block;}nav.side{display:none;}#menuchk:checked ~ nav.side{display:block;}#_m{margin-left:0px;}}#_inditas:checked ~ nav div ul li[rel=inditas]>.toc,#_fajlformatumok:checked ~ nav div ul li[rel=fajlformatumok]>.toc,#_felhasznaloi_bemenetek:checked ~ nav div ul li[rel=felhasznaloi_bemenetek]>.toc,#_interfesz:checked ~ nav div ul li[rel=interfesz]>.toc,#_kod_szerkeszto:checked ~ nav div ul li[rel=kod_szerkeszto]>.toc,#_szprajt_szerkeszto:checked ~ nav div ul li[rel=szprajt_szerkeszto]>.toc,#_terkep_szerkeszto:checked ~ nav div ul li[rel=terkep_szerkeszto]>.toc,#_betu_szerkeszto:checked ~ nav div ul li[rel=betu_szerkeszto]>.toc,#_hangeffektek:checked ~ nav div ul li[rel=hangeffektek]>.toc,#_zenesavok:checked ~ nav div ul li[rel=zenesavok]>.toc,#_memoriaatfedok:checked ~ nav div ul li[rel=memoriaatfedok]>.toc,#_vizualis_szerkeszto:checked ~ nav div ul li[rel=vizualis_szerkeszto]>.toc,#_debuggolo:checked ~ nav div ul li[rel=debuggolo]>.toc,#_c:checked ~ nav div ul li[rel=c]>.toc,#_basic:checked ~ nav div ul li[rel=basic]>.toc,#_assembly:checked ~ nav div ul li[rel=assembly]>.toc,#_lua:checked ~ nav div ul li[rel=lua]>.toc,#_memoriaterkep:checked ~ nav div ul li[rel=memoriaterkep]>.toc,#_konzol:checked ~ nav div ul li[rel=konzol]>.toc,#_audio:checked ~ nav div ul li[rel=audio]>.toc,#_gpio:checked ~ nav div ul li[rel=gpio]>.toc,#_grafika:checked ~ nav div ul li[rel=grafika]>.toc,#_bemenet:checked ~ nav div ul li[rel=bemenet]>.toc,#_matematika:checked ~ nav div ul li[rel=matematika]>.toc,#_memoria:checked ~ nav div ul li[rel=memoria]>.toc,#_pattogo_labda:checked ~ nav div ul li[rel=pattogo_labda]>.toc,#_setalo:checked ~ nav div ul li[rel=setalo]>.toc,#_agyu:checked ~ nav div ul li[rel=agyu]>.toc,#_hangeffekt:checked ~ nav div ul li[rel=hangeffekt]>.toc,#_kalandjatek:checked ~ nav div ul li[rel=kalandjatek]>.toc,#_meg_4_licensz:checked ~ nav div ul li[rel=meg_4_licensz]>.toc,#_hivatkozasok:checked ~ nav div ul li[rel=hivatkozasok]>.toc,div.page{display:none;}#_inditas:checked ~ nav div ul li[rel=inditas]>ul,#_inditas:checked ~ nav div ul li[rel=inditas]>.current,#_inditas:checked ~ div div[rel=inditas],#_fajlformatumok:checked ~ nav div ul li[rel=fajlformatumok]>ul,#_fajlformatumok:checked ~ nav div ul li[rel=fajlformatumok]>.current,#_fajlformatumok:checked ~ div div[rel=fajlformatumok],#_felhasznaloi_bemenetek:checked ~ nav div ul li[rel=felhasznaloi_bemenetek]>ul,#_felhasznaloi_bemenetek:checked ~ nav div ul li[rel=felhasznaloi_bemenetek]>.current,#_felhasznaloi_bemenetek:checked ~ div div[rel=felhasznaloi_bemenetek],#_interfesz:checked ~ nav div ul li[rel=interfesz]>ul,#_interfesz:checked ~ nav div ul li[rel=interfesz]>.current,#_interfesz:checked ~ div div[rel=interfesz],#_kod_szerkeszto:checked ~ nav div ul li[rel=kod_szerkeszto]>ul,#_kod_szerkeszto:checked ~ nav div ul li[rel=kod_szerkeszto]>.current,#_kod_szerkeszto:checked ~ div div[rel=kod_szerkeszto],#_szprajt_szerkeszto:checked ~ nav div ul li[rel=szprajt_szerkeszto]>ul,#_szprajt_szerkeszto:checked ~ nav div ul li[rel=szprajt_szerkeszto]>.current,#_szprajt_szerkeszto:checked ~ div div[rel=szprajt_szerkeszto],#_terkep_szerkeszto:checked ~ nav div ul li[rel=terkep_szerkeszto]>ul,#_terkep_szerkeszto:checked ~ nav div ul li[rel=terkep_szerkeszto]>.current,#_terkep_szerkeszto:checked ~ div div[rel=terkep_szerkeszto],#_betu_szerkeszto:checked ~ nav div ul li[rel=betu_szerkeszto]>ul,#_betu_szerkeszto:checked ~ nav div ul li[rel=betu_szerkeszto]>.current,#_betu_szerkeszto:checked ~ div div[rel=betu_szerkeszto],#_hangeffektek:checked ~ nav div ul li[rel=hangeffektek]>ul,#_hangeffektek:checked ~ nav div ul li[rel=hangeffektek]>.current,#_hangeffektek:checked ~ div div[rel=hangeffektek],#_zenesavok:checked ~ nav div ul li[rel=zenesavok]>ul,#_zenesavok:checked ~ nav div ul li[rel=zenesavok]>.current,#_zenesavok:checked ~ div div[rel=zenesavok],#_memoriaatfedok:checked ~ nav div ul li[rel=memoriaatfedok]>ul,#_memoriaatfedok:checked ~ nav div ul li[rel=memoriaatfedok]>.current,#_memoriaatfedok:checked ~ div div[rel=memoriaatfedok],#_vizualis_szerkeszto:checked ~ nav div ul li[rel=vizualis_szerkeszto]>ul,#_vizualis_szerkeszto:checked ~ nav div ul li[rel=vizualis_szerkeszto]>.current,#_vizualis_szerkeszto:checked ~ div div[rel=vizualis_szerkeszto],#_debuggolo:checked ~ nav div ul li[rel=debuggolo]>ul,#_debuggolo:checked ~ nav div ul li[rel=debuggolo]>.current,#_debuggolo:checked ~ div div[rel=debuggolo],#_c:checked ~ nav div ul li[rel=c]>ul,#_c:checked ~ nav div ul li[rel=c]>.current,#_c:checked ~ div div[rel=c],#_basic:checked ~ nav div ul li[rel=basic]>ul,#_basic:checked ~ nav div ul li[rel=basic]>.current,#_basic:checked ~ div div[rel=basic],#_assembly:checked ~ nav div ul li[rel=assembly]>ul,#_assembly:checked ~ nav div ul li[rel=assembly]>.current,#_assembly:checked ~ div div[rel=assembly],#_lua:checked ~ nav div ul li[rel=lua]>ul,#_lua:checked ~ nav div ul li[rel=lua]>.current,#_lua:checked ~ div div[rel=lua],#_memoriaterkep:checked ~ nav div ul li[rel=memoriaterkep]>ul,#_memoriaterkep:checked ~ nav div ul li[rel=memoriaterkep]>.current,#_memoriaterkep:checked ~ div div[rel=memoriaterkep],#_konzol:checked ~ nav div ul li[rel=konzol]>ul,#_konzol:checked ~ nav div ul li[rel=konzol]>.current,#_konzol:checked ~ div div[rel=konzol],#_audio:checked ~ nav div ul li[rel=audio]>ul,#_audio:checked ~ nav div ul li[rel=audio]>.current,#_audio:checked ~ div div[rel=audio],#_gpio:checked ~ nav div ul li[rel=gpio]>ul,#_gpio:checked ~ nav div ul li[rel=gpio]>.current,#_gpio:checked ~ div div[rel=gpio],#_grafika:checked ~ nav div ul li[rel=grafika]>ul,#_grafika:checked ~ nav div ul li[rel=grafika]>.current,#_grafika:checked ~ div div[rel=grafika],#_bemenet:checked ~ nav div ul li[rel=bemenet]>ul,#_bemenet:checked ~ nav div ul li[rel=bemenet]>.current,#_bemenet:checked ~ div div[rel=bemenet],#_matematika:checked ~ nav div ul li[rel=matematika]>ul,#_matematika:checked ~ nav div ul li[rel=matematika]>.current,#_matematika:checked ~ div div[rel=matematika],#_memoria:checked ~ nav div ul li[rel=memoria]>ul,#_memoria:checked ~ nav div ul li[rel=memoria]>.current,#_memoria:checked ~ div div[rel=memoria],#_pattogo_labda:checked ~ nav div ul li[rel=pattogo_labda]>ul,#_pattogo_labda:checked ~ nav div ul li[rel=pattogo_labda]>.current,#_pattogo_labda:checked ~ div div[rel=pattogo_labda],#_setalo:checked ~ nav div ul li[rel=setalo]>ul,#_setalo:checked ~ nav div ul li[rel=setalo]>.current,#_setalo:checked ~ div div[rel=setalo],#_agyu:checked ~ nav div ul li[rel=agyu]>ul,#_agyu:checked ~ nav div ul li[rel=agyu]>.current,#_agyu:checked ~ div div[rel=agyu],#_hangeffekt:checked ~ nav div ul li[rel=hangeffekt]>ul,#_hangeffekt:checked ~ nav div ul li[rel=hangeffekt]>.current,#_hangeffekt:checked ~ div div[rel=hangeffekt],#_kalandjatek:checked ~ nav div ul li[rel=kalandjatek]>ul,#_kalandjatek:checked ~ nav div ul li[rel=kalandjatek]>.current,#_kalandjatek:checked ~ div div[rel=kalandjatek],#_meg_4_licensz:checked ~ nav div ul li[rel=meg_4_licensz]>ul,#_meg_4_licensz:checked ~ nav div ul li[rel=meg_4_licensz]>.current,#_meg_4_licensz:checked ~ div div[rel=meg_4_licensz],#_hivatkozasok:checked ~ nav div ul li[rel=hivatkozasok]>ul,#_hivatkozasok:checked ~ nav div ul li[rel=hivatkozasok]>.current,#_hivatkozasok:checked ~ div div[rel=hivatkozasok],#_:checked ~ div div[rel=_]{display:block;}</style>
  9. <style rel="theme">hr,table,th,td{border-color:#e1e4e5;}th{background:#d6d6d6;}tr:nth-child(odd){background:#f3f6f6;}a{text-decoration:none;color:#2980B9;}samp{background:rgba(0,0,0,.1);color:#408040;}.content{background:#fcfcfc;color:#404040;font-family:Lato,Helvetica,Neue,Arial,Deja Vu,sans-serif;}.title,.home,h1>a,h2>a,h3>a,h4>a,h5>a,h6>a{background:#2980B9;color:#fcfcfc;}.version{color:rgba(255,255,255,0.3);}.search{border:1px solid #2472a4;background:#fcfcfc;}.nav{background:#343131;color:#d9d9d9;}.nav p{color:#55a5d9;}.nav label:hover,.nav a:hover{background:#4e4a4a;}.nav .current{background:#fcfcfc;color:#404040;}.nav li>ul>li{background:#e3e3e3;}.nav li>ul>li>a{color:#404040;}.nav li>ul>li>a:hover{background:#d6d6d6;}.pre {border:1px solid #e1e4e5;background:#f8f8f8;}.info{background:#e7f2fa;}.info>p:first-child{background:#6ab0de;color:#fff;}.hint{background:#dbfaf4;}.hint>p:first-child{background:#1abc9c;color:#fff;}.warn{background:#ffedcc;}.warn>p:first-child{background:#f0b37e;color:#fff;}.btn{background:#f3f6f6;}.btn:hover{background:#e5ebeb;}.hl_h{background-color:#ccffcc;}.hl_c{color:#808080;font-style:italic;}.hl_p{color:#1f7199;}.hl_o{color:#404040;}.hl_n{color:#0164eb;}.hl_s{color:#986801;}.hl_t{color:#60A050;}.hl_k{color:#a626a4;}.hl_f{color:#2a9292;}.hl_v{color:#e95649;}.ui1{border:1px outset #a0a0a0;background:#a0a0a0;color:#222;}.ui2{background:#ff0000;color:#fff;border-radius:10px;font-weight:bold;}</style>
  10. </head>
  11. <body>
  12. <div class="frame content">
  13. <input type="radio" name="page" id="_" checked><input type="radio" name="page" id="_inditas"><input type="radio" name="page" id="_fajlformatumok"><input type="radio" name="page" id="_felhasznaloi_bemenetek"><input type="radio" name="page" id="_interfesz"><input type="radio" name="page" id="_kod_szerkeszto"><input type="radio" name="page" id="_szprajt_szerkeszto"><input type="radio" name="page" id="_terkep_szerkeszto"><input type="radio" name="page" id="_betu_szerkeszto"><input type="radio" name="page" id="_hangeffektek"><input type="radio" name="page" id="_zenesavok"><input type="radio" name="page" id="_memoriaatfedok"><input type="radio" name="page" id="_vizualis_szerkeszto"><input type="radio" name="page" id="_debuggolo"><input type="radio" name="page" id="_c"><input type="radio" name="page" id="_basic"><input type="radio" name="page" id="_assembly"><input type="radio" name="page" id="_lua"><input type="radio" name="page" id="_memoriaterkep"><input type="radio" name="page" id="_konzol"><input type="radio" name="page" id="_audio"><input type="radio" name="page" id="_gpio"><input type="radio" name="page" id="_grafika"><input type="radio" name="page" id="_bemenet"><input type="radio" name="page" id="_matematika"><input type="radio" name="page" id="_memoria"><input type="radio" name="page" id="_pattogo_labda"><input type="radio" name="page" id="_setalo"><input type="radio" name="page" id="_agyu"><input type="radio" name="page" id="_hangeffekt"><input type="radio" name="page" id="_kalandjatek"><input type="radio" name="page" id="_meg_4_licensz"><input type="radio" name="page" id="_hivatkozasok">
  14. <input type="checkbox" id="menuchk" style="display:none;"><nav class="side nav"><div>
  15. <div class="title"><a href="https://bztsrc.gitlab.io/meg4"><img alt="MEG-4" src="data:image/png;base64,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"> Kézikönyv</a><div class="version">0.0.1</div><input id="_q" class="search" type="text" required="required" onkeyup="s(this.value);"></div> <div id="_s" class="nav"></div>
  16. <div id="_t" class="nav">
  17. <p>Alapok</p>
  18. <ul>
  19. <li rel="inditas"><label class="toc" for="_inditas">Indítás</label><div class="current">Indítás</div><ul>
  20. <li class="h2"><a href="#bongeszodben" onclick="m()">Böngésződben</a></li>
  21. <li class="h2"><a href="#telepites" onclick="m()">Telepítés</a></li>
  22. <li class="h3"><a href="#windows" onclick="m()">Windows</a></li>
  23. <li class="h3"><a href="#linux" onclick="m()">Linux</a></li>
  24. <li class="h2"><a href="#futtatas" onclick="m()">Futtatás</a></li>
  25. <li class="h3"><a href="#parancssori_opciok" onclick="m()">Parancssori opciók</a></li>
  26. </ul></li>
  27. <li rel="fajlformatumok"><label class="toc" for="_fajlformatumok">Fájlformátumok</label><div class="current">Fájlformátumok</div><ul>
  28. <li class="h2"><a href="#flopik" onclick="m()">Flopik</a></li>
  29. <li class="h2"><a href="#projektformatum" onclick="m()">Projektformátum</a></li>
  30. <li class="h3"><a href="#metainfo_txt" onclick="m()">metainfo.txt</a></li>
  31. <li class="h3"><a href="#program_x" onclick="m()">program.X</a></li>
  32. <li class="h3"><a href="#sprites_png" onclick="m()">sprites.png</a></li>
  33. <li class="h3"><a href="#map_tmx" onclick="m()">map.tmx</a></li>
  34. <li class="h3"><a href="#font_bdf" onclick="m()">font.bdf</a></li>
  35. <li class="h3"><a href="#sounds_mod" onclick="m()">sounds.mod</a></li>
  36. <li class="h3"><a href="#musicxx_mod" onclick="m()">musicXX.mod</a></li>
  37. <li class="h3"><a href="#memxx_txt" onclick="m()">memXX.txt</a></li>
  38. <li class="h2"><a href="#egyeb_formatumok" onclick="m()">Egyéb formátumok</a></li>
  39. </ul></li>
  40. <li rel="felhasznaloi_bemenetek"><label class="toc" for="_felhasznaloi_bemenetek">Felhasználói bemenetek</label><div class="current">Felhasználói bemenetek</div><ul>
  41. <li class="h2"><a href="#ui_gp" onclick="m()">Játékpad</a></li>
  42. <li class="h2"><a href="#ui_ptr" onclick="m()">Mutató</a></li>
  43. <li class="h2"><a href="#ui_kbd" onclick="m()">Billentyűzet</a></li>
  44. <li class="h3"><a href="#unicode_kodpont_beviteli_mod" onclick="m()">UNICODE Kódpont beviteli mód</a></li>
  45. <li class="h3"><a href="#kompozit_mod" onclick="m()">Kompozit mód</a></li>
  46. <li class="h3"><a href="#ikon_mod" onclick="m()">Ikon mód</a></li>
  47. <li class="h3"><a href="#katakana_es_hiragana_mod" onclick="m()">Katakana és Hiragana mód</a></li>
  48. <li class="h3"><a href="#cirill_mod" onclick="m()">Cirill mód</a></li>
  49. <li class="h3"><a href="#gorog_mod" onclick="m()">Görög mód</a></li>
  50. </ul></li>
  51. <li rel="interfesz"><label class="toc" for="_interfesz">Interfész</label><div class="current">Interfész</div><ul>
  52. <li class="h2"><a href="#jatekkepernyo" onclick="m()">Játékképernyő</a></li>
  53. <li class="h2"><a href="#szerkeszto_kepernyok" onclick="m()">Szerkesztő képernyők</a></li>
  54. <li class="h2"><a href="#sugo_oldalak" onclick="m()">Súgó oldalak</a></li>
  55. </ul></li>
  56. </ul>
  57. <p>Szerkesztők</p>
  58. <ul>
  59. <li rel="kod_szerkeszto"><label class="toc" for="_kod_szerkeszto">Kód Szerkesztő</label><div class="current">Kód Szerkesztő</div><ul>
  60. <li class="h2"><a href="#programozasi_nyelv" onclick="m()">Programozási nyelv</a></li>
  61. <li class="h2"><a href="#felhasznaloi_funkciok" onclick="m()">Felhasználói funkciók</a></li>
  62. <li class="h2"><a href="#plusz_billentyukombok" onclick="m()">Plusz billentyűkombók</a></li>
  63. </ul></li>
  64. <li rel="szprajt_szerkeszto"><label class="toc" for="_szprajt_szerkeszto">Szprájt Szerkesztő</label><div class="current">Szprájt Szerkesztő</div><ul>
  65. <li class="h2"><a href="#spr_edit" onclick="m()">Szprájt Szerkesztő Mező</a></li>
  66. <li class="h2"><a href="#spr_sprs" onclick="m()">Szprájtválasztó</a></li>
  67. <li class="h2"><a href="#spr_pal" onclick="m()">Paletta</a></li>
  68. <li class="h2"><a href="#spr_tools" onclick="m()">Eszköztár</a></li>
  69. <li class="h2"><a href="#spr_sel" onclick="m()">Kijelölések</a></li>
  70. </ul></li>
  71. <li rel="terkep_szerkeszto"><label class="toc" for="_terkep_szerkeszto">Térkép Szerkesztő</label><div class="current">Térkép Szerkesztő</div><ul>
  72. <li class="h2"><a href="#map_box" onclick="m()">Térkép Szerkesztő Mező</a></li>
  73. <li class="h2"><a href="#map_tools" onclick="m()">Eszköztár</a></li>
  74. <li class="h2"><a href="#map_sprs" onclick="m()">Szprájtpaletta</a></li>
  75. <li class="h2"><a href="#wang_csempek" onclick="m()">Wang csempék</a></li>
  76. <li class="h2"><a href="#3d_s_utveszto" onclick="m()">3D-s útvesztő</a></li>
  77. </ul></li>
  78. <li rel="betu_szerkeszto"><label class="toc" for="_betu_szerkeszto">Betű Szerkesztő</label><div class="current">Betű Szerkesztő</div><ul>
  79. <li class="h2"><a href="#glifszerkeszto" onclick="m()">Glifszerkesztő</a></li>
  80. <li class="h2"><a href="#glifvalaszto" onclick="m()">Glifválasztó</a></li>
  81. <li class="h2"><a href="#font_tools" onclick="m()">Eszköztár</a></li>
  82. </ul></li>
  83. <li rel="hangeffektek"><label class="toc" for="_hangeffektek">Hangeffektek</label><div class="current">Hangeffektek</div><ul>
  84. <li class="h2"><a href="#effektvalaszto" onclick="m()">Effektválasztó</a></li>
  85. <li class="h2"><a href="#effektszerkeszto" onclick="m()">Effektszerkesztő</a></li>
  86. <li class="h2"><a href="#sfx_tools" onclick="m()">Hanghullám eszköztár</a></li>
  87. </ul></li>
  88. <li rel="zenesavok"><label class="toc" for="_zenesavok">Zenesávok</label><div class="current">Zenesávok</div><ul>
  89. <li class="h2"><a href="#savok" onclick="m()">Sávok</a></li>
  90. <li class="h2"><a href="#csatornak" onclick="m()">Csatornák</a></li>
  91. <li class="h2"><a href="#hangjegyszerkeszto" onclick="m()">Hangjegyszerkesztő</a></li>
  92. <li class="h3"><a href="#mus_kbd" onclick="m()">Billentyűzet</a></li>
  93. <li class="h2"><a href="#general_midi" onclick="m()">General MIDI</a></li>
  94. <li class="h3"><a href="#hangszerek" onclick="m()">Hangszerek</a></li>
  95. <li class="h3"><a href="#kottak" onclick="m()">Kották</a></li>
  96. <li class="h3"><a href="#tempo" onclick="m()">Tempó</a></li>
  97. </ul></li>
  98. <li rel="memoriaatfedok"><label class="toc" for="_memoriaatfedok">Memóriaátfedők</label><div class="current">Memóriaátfedők</div><ul>
  99. <li class="h2"><a href="#atfedovalaszto" onclick="m()">Átfedőválasztó</a></li>
  100. <li class="h2"><a href="#atfedo_tartalma" onclick="m()">Átfedő tartalma</a></li>
  101. <li class="h2"><a href="#atfedo_menu" onclick="m()">Átfedő menü</a></li>
  102. </ul></li>
  103. <li rel="vizualis_szerkeszto"><label class="toc" for="_vizualis_szerkeszto">Vizuális Szerkesztő</label><div class="current">Vizuális Szerkesztő</div><ul>
  104. </ul></li>
  105. <li rel="debuggolo"><label class="toc" for="_debuggolo">Debuggoló</label><div class="current">Debuggoló</div><ul>
  106. <li class="h2"><a href="#kodnezet" onclick="m()">Kódnézet</a></li>
  107. <li class="h2"><a href="#adatnezet" onclick="m()">Adatnézet</a></li>
  108. <li class="h2"><a href="#regiszterek" onclick="m()">Regiszterek</a></li>
  109. </ul></li>
  110. </ul>
  111. <p>Programozás</p>
  112. <ul>
  113. <li rel="c"><label class="toc" for="_c">C</label><div class="current">C</div><ul>
  114. <li class="h2"><a href="#ex_c" onclick="m()">Példa program</a></li>
  115. <li class="h2"><a href="#leiras" onclick="m()">Leírás</a></li>
  116. <li class="h2"><a href="#elofordito" onclick="m()">Előfordító</a></li>
  117. <li class="h2"><a href="#c_lit" onclick="m()">Literálok</a></li>
  118. <li class="h2"><a href="#c_var" onclick="m()">Változók</a></li>
  119. <li class="h2"><a href="#c_arr" onclick="m()">Tömbök és mutatók</a></li>
  120. <li class="h2"><a href="#c_op" onclick="m()">Műveletek</a></li>
  121. <li class="h2"><a href="#c_flow" onclick="m()">Vezérlésirányítás</a></li>
  122. <li class="h2"><a href="#c_funcs" onclick="m()">Függvények</a></li>
  123. <li class="h2"><a href="#c_api" onclick="m()">Elérhető függvények</a></li>
  124. </ul></li>
  125. <li rel="basic"><label class="toc" for="_basic">BASIC</label><div class="current">BASIC</div><ul>
  126. <li class="h2"><a href="#ex_bas" onclick="m()">Példa program</a></li>
  127. <li class="h2"><a href="#dialektus" onclick="m()">Dialektus</a></li>
  128. <li class="h2"><a href="#bas_lit" onclick="m()">Literálok</a></li>
  129. <li class="h2"><a href="#bas_var" onclick="m()">Változók</a></li>
  130. <li class="h2"><a href="#bas_arr" onclick="m()">Tömbök</a></li>
  131. <li class="h2"><a href="#bas_op" onclick="m()">Műveletek</a></li>
  132. <li class="h2"><a href="#bas_flow" onclick="m()">Vezérlésirányítás</a></li>
  133. <li class="h2"><a href="#bas_funcs" onclick="m()">Alrutinok és függvények</a></li>
  134. <li class="h2"><a href="#bas_print" onclick="m()">Print utasítás</a></li>
  135. <li class="h2"><a href="#bas_input" onclick="m()">Input utasítás</a></li>
  136. <li class="h2"><a href="#bas_spec" onclick="m()">Peek és Poke</a></li>
  137. <li class="h2"><a href="#bas_api" onclick="m()">Elérhető függvények</a></li>
  138. </ul></li>
  139. <li rel="assembly"><label class="toc" for="_assembly">Assembly</label><div class="current">Assembly</div><ul>
  140. <li class="h2"><a href="#ex_asm" onclick="m()">Példa program</a></li>
  141. <li class="h2"><a href="#asm_desc" onclick="m()">Leírás</a></li>
  142. <li class="h2"><a href="#asm_lit" onclick="m()">Literálok</a></li>
  143. <li class="h2"><a href="#asm_var" onclick="m()">Változók</a></li>
  144. <li class="h2"><a href="#asm_flow" onclick="m()">Vezérlésirányítás</a></li>
  145. <li class="h2"><a href="#asm_func" onclick="m()">Függvények</a></li>
  146. <li class="h2"><a href="#asm_api" onclick="m()">Elérhető függvények</a></li>
  147. <li class="h2"><a href="#mnemonikok" onclick="m()">Mnemonikok</a></li>
  148. </ul></li>
  149. <li rel="lua"><label class="toc" for="_lua">Lua</label><div class="current">Lua</div><ul>
  150. <li class="h2"><a href="#ex_lua" onclick="m()">Példa program</a></li>
  151. <li class="h2"><a href="#tovabbi_informaciok" onclick="m()">További információk</a></li>
  152. <li class="h2"><a href="#api_elteresek" onclick="m()">API Eltérések</a></li>
  153. </ul></li>
  154. </ul>
  155. <p>API Referencia</p>
  156. <ul>
  157. <li rel="memoriaterkep"><label class="toc" for="_memoriaterkep">Memóriatérkép</label><div class="current">Memóriatérkép</div><ul>
  158. <li class="h2"><a href="#altalanos" onclick="m()">Általános</a></li>
  159. <li class="h2"><a href="#mutato" onclick="m()">Mutató</a></li>
  160. <li class="h2"><a href="#billentyuzet" onclick="m()">Billentyűzet</a></li>
  161. <li class="h2"><a href="#jatekpad" onclick="m()">Játékpad</a></li>
  162. <li class="h2"><a href="#grafikus_feldolgozo_egyseg" onclick="m()">Grafikus Feldolgozó Egység</a></li>
  163. <li class="h2"><a href="#digitalis_szignalfeldolgozo_processzor" onclick="m()">Digitális Szignálfeldolgozó Processzor</a></li>
  164. <li class="h2"><a href="#hangjegyeffektek" onclick="m()">Hangjegyeffektek</a></li>
  165. <li class="h2"><a href="#felhasznaloi_memoria" onclick="m()">Felhasználói memória</a></li>
  166. <li class="h2"><a href="#formazo_sztring" onclick="m()">Formázó sztring</a></li>
  167. <li class="h2"><a href="#3d_s_ter" onclick="m()">3D-s Tér</a></li>
  168. <li class="h2"><a href="#kod_szerkeszto_gyorsbillentyuk" onclick="m()">Kód Szerkesztő gyorsbillentyűk</a></li>
  169. </ul></li>
  170. <li rel="konzol"><label class="toc" for="_konzol">Konzol</label><div class="current">Konzol</div><ul>
  171. <li class="h2"><a href="#putc" onclick="m()">putc</a></li>
  172. <li class="h2"><a href="#printf" onclick="m()">printf</a></li>
  173. <li class="h2"><a href="#getc" onclick="m()">getc</a></li>
  174. <li class="h2"><a href="#gets" onclick="m()">gets</a></li>
  175. <li class="h2"><a href="#trace" onclick="m()">trace</a></li>
  176. <li class="h2"><a href="#delay" onclick="m()">delay</a></li>
  177. <li class="h2"><a href="#exit" onclick="m()">exit</a></li>
  178. </ul></li>
  179. <li rel="audio"><label class="toc" for="_audio">Audió</label><div class="current">Audió</div><ul>
  180. <li class="h2"><a href="#sfx" onclick="m()">sfx</a></li>
  181. <li class="h2"><a href="#music" onclick="m()">music</a></li>
  182. </ul></li>
  183. <li rel="gpio"><label class="toc" for="_gpio">GPIO</label><div class="current">GPIO</div><ul>
  184. <li class="h2"><a href="#gpio_rev" onclick="m()">gpio_rev</a></li>
  185. <li class="h2"><a href="#gpio_get" onclick="m()">gpio_get</a></li>
  186. <li class="h2"><a href="#gpio_set" onclick="m()">gpio_set</a></li>
  187. </ul></li>
  188. <li rel="grafika"><label class="toc" for="_grafika">Grafika</label><div class="current">Grafika</div><ul>
  189. <li class="h2"><a href="#cls" onclick="m()">cls</a></li>
  190. <li class="h2"><a href="#cget" onclick="m()">cget</a></li>
  191. <li class="h2"><a href="#pget" onclick="m()">pget</a></li>
  192. <li class="h2"><a href="#pset" onclick="m()">pset</a></li>
  193. <li class="h2"><a href="#width" onclick="m()">width</a></li>
  194. <li class="h2"><a href="#text" onclick="m()">text</a></li>
  195. <li class="h2"><a href="#line" onclick="m()">line</a></li>
  196. <li class="h2"><a href="#qbez" onclick="m()">qbez</a></li>
  197. <li class="h2"><a href="#cbez" onclick="m()">cbez</a></li>
  198. <li class="h2"><a href="#tri" onclick="m()">tri</a></li>
  199. <li class="h2"><a href="#ftri" onclick="m()">ftri</a></li>
  200. <li class="h2"><a href="#tri2d" onclick="m()">tri2d</a></li>
  201. <li class="h2"><a href="#tri3d" onclick="m()">tri3d</a></li>
  202. <li class="h2"><a href="#tritx" onclick="m()">tritx</a></li>
  203. <li class="h2"><a href="#mesh" onclick="m()">mesh</a></li>
  204. <li class="h2"><a href="#rect" onclick="m()">rect</a></li>
  205. <li class="h2"><a href="#frect" onclick="m()">frect</a></li>
  206. <li class="h2"><a href="#circ" onclick="m()">circ</a></li>
  207. <li class="h2"><a href="#fcirc" onclick="m()">fcirc</a></li>
  208. <li class="h2"><a href="#ellip" onclick="m()">ellip</a></li>
  209. <li class="h2"><a href="#fellip" onclick="m()">fellip</a></li>
  210. <li class="h2"><a href="#move" onclick="m()">move</a></li>
  211. <li class="h2"><a href="#left" onclick="m()">left</a></li>
  212. <li class="h2"><a href="#right" onclick="m()">right</a></li>
  213. <li class="h2"><a href="#up" onclick="m()">up</a></li>
  214. <li class="h2"><a href="#down" onclick="m()">down</a></li>
  215. <li class="h2"><a href="#color" onclick="m()">color</a></li>
  216. <li class="h2"><a href="#forw" onclick="m()">forw</a></li>
  217. <li class="h2"><a href="#back" onclick="m()">back</a></li>
  218. <li class="h2"><a href="#spr" onclick="m()">spr</a></li>
  219. <li class="h2"><a href="#dlg" onclick="m()">dlg</a></li>
  220. <li class="h2"><a href="#stext" onclick="m()">stext</a></li>
  221. <li class="h2"><a href="#remap" onclick="m()">remap</a></li>
  222. <li class="h2"><a href="#mget" onclick="m()">mget</a></li>
  223. <li class="h2"><a href="#mset" onclick="m()">mset</a></li>
  224. <li class="h2"><a href="#map" onclick="m()">map</a></li>
  225. <li class="h2"><a href="#maze" onclick="m()">maze</a></li>
  226. </ul></li>
  227. <li rel="bemenet"><label class="toc" for="_bemenet">Bemenet</label><div class="current">Bemenet</div><ul>
  228. <li class="h2"><a href="#getpad" onclick="m()">getpad</a></li>
  229. <li class="h2"><a href="#prspad" onclick="m()">prspad</a></li>
  230. <li class="h2"><a href="#relpad" onclick="m()">relpad</a></li>
  231. <li class="h2"><a href="#getbtn" onclick="m()">getbtn</a></li>
  232. <li class="h2"><a href="#getclk" onclick="m()">getclk</a></li>
  233. <li class="h2"><a href="#getkey" onclick="m()">getkey</a></li>
  234. <li class="h2"><a href="#popkey" onclick="m()">popkey</a></li>
  235. <li class="h2"><a href="#pendkey" onclick="m()">pendkey</a></li>
  236. <li class="h2"><a href="#lenkey" onclick="m()">lenkey</a></li>
  237. <li class="h2"><a href="#speckey" onclick="m()">speckey</a></li>
  238. </ul></li>
  239. <li rel="matematika"><label class="toc" for="_matematika">Matematika</label><div class="current">Matematika</div><ul>
  240. <li class="h2"><a href="#rand" onclick="m()">rand</a></li>
  241. <li class="h2"><a href="#rnd" onclick="m()">rnd</a></li>
  242. <li class="h2"><a href="#float" onclick="m()">float</a></li>
  243. <li class="h2"><a href="#int" onclick="m()">int</a></li>
  244. <li class="h2"><a href="#floor" onclick="m()">floor</a></li>
  245. <li class="h2"><a href="#ceil" onclick="m()">ceil</a></li>
  246. <li class="h2"><a href="#sgn" onclick="m()">sgn</a></li>
  247. <li class="h2"><a href="#abs" onclick="m()">abs</a></li>
  248. <li class="h2"><a href="#exp" onclick="m()">exp</a></li>
  249. <li class="h2"><a href="#log" onclick="m()">log</a></li>
  250. <li class="h2"><a href="#pow" onclick="m()">pow</a></li>
  251. <li class="h2"><a href="#sqrt" onclick="m()">sqrt</a></li>
  252. <li class="h2"><a href="#rsqrt" onclick="m()">rsqrt</a></li>
  253. <li class="h2"><a href="#clamp" onclick="m()">clamp</a></li>
  254. <li class="h2"><a href="#lerp" onclick="m()">lerp</a></li>
  255. <li class="h2"><a href="#pi" onclick="m()">pi</a></li>
  256. <li class="h2"><a href="#cos" onclick="m()">cos</a></li>
  257. <li class="h2"><a href="#sin" onclick="m()">sin</a></li>
  258. <li class="h2"><a href="#tan" onclick="m()">tan</a></li>
  259. <li class="h2"><a href="#acos" onclick="m()">acos</a></li>
  260. <li class="h2"><a href="#asin" onclick="m()">asin</a></li>
  261. <li class="h2"><a href="#atan" onclick="m()">atan</a></li>
  262. <li class="h2"><a href="#atan2" onclick="m()">atan2</a></li>
  263. <li class="h2"><a href="#dotv2" onclick="m()">dotv2</a></li>
  264. <li class="h2"><a href="#lenv2" onclick="m()">lenv2</a></li>
  265. <li class="h2"><a href="#scalev2" onclick="m()">scalev2</a></li>
  266. <li class="h2"><a href="#negv2" onclick="m()">negv2</a></li>
  267. <li class="h2"><a href="#addv2" onclick="m()">addv2</a></li>
  268. <li class="h2"><a href="#subv2" onclick="m()">subv2</a></li>
  269. <li class="h2"><a href="#mulv2" onclick="m()">mulv2</a></li>
  270. <li class="h2"><a href="#divv2" onclick="m()">divv2</a></li>
  271. <li class="h2"><a href="#clampv2" onclick="m()">clampv2</a></li>
  272. <li class="h2"><a href="#lerpv2" onclick="m()">lerpv2</a></li>
  273. <li class="h2"><a href="#normv2" onclick="m()">normv2</a></li>
  274. <li class="h2"><a href="#dotv3" onclick="m()">dotv3</a></li>
  275. <li class="h2"><a href="#lenv3" onclick="m()">lenv3</a></li>
  276. <li class="h2"><a href="#scalev3" onclick="m()">scalev3</a></li>
  277. <li class="h2"><a href="#negv3" onclick="m()">negv3</a></li>
  278. <li class="h2"><a href="#addv3" onclick="m()">addv3</a></li>
  279. <li class="h2"><a href="#subv3" onclick="m()">subv3</a></li>
  280. <li class="h2"><a href="#mulv3" onclick="m()">mulv3</a></li>
  281. <li class="h2"><a href="#divv3" onclick="m()">divv3</a></li>
  282. <li class="h2"><a href="#crossv3" onclick="m()">crossv3</a></li>
  283. <li class="h2"><a href="#clampv3" onclick="m()">clampv3</a></li>
  284. <li class="h2"><a href="#lerpv3" onclick="m()">lerpv3</a></li>
  285. <li class="h2"><a href="#normv3" onclick="m()">normv3</a></li>
  286. <li class="h2"><a href="#dotv4" onclick="m()">dotv4</a></li>
  287. <li class="h2"><a href="#lenv4" onclick="m()">lenv4</a></li>
  288. <li class="h2"><a href="#scalev4" onclick="m()">scalev4</a></li>
  289. <li class="h2"><a href="#negv4" onclick="m()">negv4</a></li>
  290. <li class="h2"><a href="#addv4" onclick="m()">addv4</a></li>
  291. <li class="h2"><a href="#subv4" onclick="m()">subv4</a></li>
  292. <li class="h2"><a href="#mulv4" onclick="m()">mulv4</a></li>
  293. <li class="h2"><a href="#divv4" onclick="m()">divv4</a></li>
  294. <li class="h2"><a href="#clampv4" onclick="m()">clampv4</a></li>
  295. <li class="h2"><a href="#lerpv4" onclick="m()">lerpv4</a></li>
  296. <li class="h2"><a href="#normv4" onclick="m()">normv4</a></li>
  297. <li class="h2"><a href="#idq" onclick="m()">idq</a></li>
  298. <li class="h2"><a href="#eulerq" onclick="m()">eulerq</a></li>
  299. <li class="h2"><a href="#dotq" onclick="m()">dotq</a></li>
  300. <li class="h2"><a href="#lenq" onclick="m()">lenq</a></li>
  301. <li class="h2"><a href="#scaleq" onclick="m()">scaleq</a></li>
  302. <li class="h2"><a href="#negq" onclick="m()">negq</a></li>
  303. <li class="h2"><a href="#addq" onclick="m()">addq</a></li>
  304. <li class="h2"><a href="#subq" onclick="m()">subq</a></li>
  305. <li class="h2"><a href="#mulq" onclick="m()">mulq</a></li>
  306. <li class="h2"><a href="#rotq" onclick="m()">rotq</a></li>
  307. <li class="h2"><a href="#lerpq" onclick="m()">lerpq</a></li>
  308. <li class="h2"><a href="#slerpq" onclick="m()">slerpq</a></li>
  309. <li class="h2"><a href="#normq" onclick="m()">normq</a></li>
  310. <li class="h2"><a href="#idm4" onclick="m()">idm4</a></li>
  311. <li class="h2"><a href="#trsm4" onclick="m()">trsm4</a></li>
  312. <li class="h2"><a href="#detm4" onclick="m()">detm4</a></li>
  313. <li class="h2"><a href="#addm4" onclick="m()">addm4</a></li>
  314. <li class="h2"><a href="#subm4" onclick="m()">subm4</a></li>
  315. <li class="h2"><a href="#mulm4" onclick="m()">mulm4</a></li>
  316. <li class="h2"><a href="#mulm4v3" onclick="m()">mulm4v3</a></li>
  317. <li class="h2"><a href="#mulm4v4" onclick="m()">mulm4v4</a></li>
  318. <li class="h2"><a href="#invm4" onclick="m()">invm4</a></li>
  319. <li class="h2"><a href="#trpm4" onclick="m()">trpm4</a></li>
  320. <li class="h2"><a href="#trns" onclick="m()">trns</a></li>
  321. </ul></li>
  322. <li rel="memoria"><label class="toc" for="_memoria">Memória</label><div class="current">Memória</div><ul>
  323. <li class="h2"><a href="#inb" onclick="m()">inb</a></li>
  324. <li class="h2"><a href="#inw" onclick="m()">inw</a></li>
  325. <li class="h2"><a href="#ini" onclick="m()">ini</a></li>
  326. <li class="h2"><a href="#outb" onclick="m()">outb</a></li>
  327. <li class="h2"><a href="#outw" onclick="m()">outw</a></li>
  328. <li class="h2"><a href="#outi" onclick="m()">outi</a></li>
  329. <li class="h2"><a href="#memsave" onclick="m()">memsave</a></li>
  330. <li class="h2"><a href="#memload" onclick="m()">memload</a></li>
  331. <li class="h2"><a href="#memcpy" onclick="m()">memcpy</a></li>
  332. <li class="h2"><a href="#memset" onclick="m()">memset</a></li>
  333. <li class="h2"><a href="#memcmp" onclick="m()">memcmp</a></li>
  334. <li class="h2"><a href="#deflate" onclick="m()">deflate</a></li>
  335. <li class="h2"><a href="#inflate" onclick="m()">inflate</a></li>
  336. <li class="h2"><a href="#time" onclick="m()">time</a></li>
  337. <li class="h2"><a href="#now" onclick="m()">now</a></li>
  338. <li class="h2"><a href="#atoi" onclick="m()">atoi</a></li>
  339. <li class="h2"><a href="#itoa" onclick="m()">itoa</a></li>
  340. <li class="h2"><a href="#val" onclick="m()">val</a></li>
  341. <li class="h2"><a href="#str" onclick="m()">str</a></li>
  342. <li class="h2"><a href="#sprintf" onclick="m()">sprintf</a></li>
  343. <li class="h2"><a href="#strlen" onclick="m()">strlen</a></li>
  344. <li class="h2"><a href="#mblen" onclick="m()">mblen</a></li>
  345. <li class="h2"><a href="#malloc" onclick="m()">malloc</a></li>
  346. <li class="h2"><a href="#realloc" onclick="m()">realloc</a></li>
  347. <li class="h2"><a href="#free" onclick="m()">free</a></li>
  348. </ul></li>
  349. </ul>
  350. <p>Példák</p>
  351. <ul>
  352. <li rel="pattogo_labda"><label class="toc" for="_pattogo_labda">Pattogó labda</label><div class="current">Pattogó labda</div><ul>
  353. <li class="h2"><a href="#labda_megjelenitese" onclick="m()">Labda megjelenítése</a></li>
  354. <li class="h2"><a href="#labda_mozgatasa" onclick="m()">Labda mozgatása</a></li>
  355. <li class="h2"><a href="#labda_pattogas" onclick="m()">Labda pattogás</a></li>
  356. <li class="h2"><a href="#uto_hozzaadasa" onclick="m()">Ütő hozzáadása</a></li>
  357. <li class="h2"><a href="#jatek_vege" onclick="m()">Játék vége</a></li>
  358. <li class="h2"><a href="#ujrakezdes" onclick="m()">Újrakezdés</a></li>
  359. </ul></li>
  360. <li rel="setalo"><label class="toc" for="_setalo">Sétáló</label><div class="current">Sétáló</div><ul>
  361. <li class="h2"><a href="#szprajtlap_beszerzese" onclick="m()">Szprájtlap beszerzése</a></li>
  362. <li class="h2"><a href="#karakter_megjelenitese" onclick="m()">Karakter megjelenítése</a></li>
  363. <li class="h2"><a href="#iranyvaltoztatas" onclick="m()">Irányváltoztatás</a></li>
  364. <li class="h2"><a href="#animalas_hozzaadasa" onclick="m()">Animálás hozzáadása</a></li>
  365. </ul></li>
  366. <li rel="agyu"><label class="toc" for="_agyu">Ágyú</label><div class="current">Ágyú</div><ul>
  367. <li class="h2"><a href="#agyucso_kirajzolasa" onclick="m()">Ágyúcső kirajzolása</a></li>
  368. <li class="h2"><a href="#agyucso_forgatasa" onclick="m()">Ágyúcső forgatása</a></li>
  369. <li class="h2"><a href="#lovedek_hozzaadasa" onclick="m()">Lövedék hozzáadása</a></li>
  370. <li class="h2"><a href="#agyu_elsutese" onclick="m()">Ágyú elsütése</a></li>
  371. <li class="h2"><a href="#tobb_lovedek" onclick="m()">Több lövedék</a></li>
  372. </ul></li>
  373. <li rel="hangeffekt"><label class="toc" for="_hangeffekt">Hangeffekt</label><div class="current">Hangeffekt</div><ul>
  374. <li class="h2"><a href="#hullam_betoltese" onclick="m()">Hullám betöltése</a></li>
  375. <li class="h2"><a href="#hangmagassag_es_hangero" onclick="m()">Hangmagasság és hangerő</a></li>
  376. <li class="h2"><a href="#mintak_szama" onclick="m()">Minták száma</a></li>
  377. <li class="h2"><a href="#elmentes_es_beimportalas" onclick="m()">Elmentés és beimportálás</a></li>
  378. </ul></li>
  379. <li rel="kalandjatek"><label class="toc" for="_kalandjatek">Kalandjáték</label><div class="current">Kalandjáték</div><ul>
  380. <li class="h2"><a href="#jatek_allapot" onclick="m()">Játék állapot</a></li>
  381. <li class="h2"><a href="#felso_szint" onclick="m()">Felső szint</a></li>
  382. <li class="h2"><a href="#konfiguracio" onclick="m()">Konfiguráció</a></li>
  383. <li class="h2"><a href="#szobak" onclick="m()">Szobák</a></li>
  384. <li class="h2"><a href="#szkriptek" onclick="m()">Szkriptek</a></li>
  385. <li class="h2"><a href="#minta_jatekok" onclick="m()">Minta játékok</a></li>
  386. </ul></li>
  387. </ul>
  388. <p>Függelék</p>
  389. <ul>
  390. <li rel="meg_4_licensz"><label class="toc" for="_meg_4_licensz">MEG-4 Licensz</label><div class="current">MEG-4 Licensz</div><ul>
  391. </ul></li>
  392. <li rel="hivatkozasok"><label class="toc" for="_hivatkozasok">Hivatkozások</label><div class="current">Hivatkozások</div><ul>
  393. </ul>
  394. </div>
  395. </div></nav>
  396. <div id="_m">
  397. <nav class="mobile title">MEG-4 Kézikönyv<label for="menuchk" class="menu"></label></nav>
  398. <div class="page" rel="_">
  399. <h1>MEG-4 Felhasználói KéziKönyv</h1>
  400. <p>Üdvözöl a <a href="https://bztsrc.gitlab.io/meg4" target="new">MEG-4</a>, a Szabad és Nyílt Forráskódú virtuális fantasy konzol kézikönyve!</p>
  401. <div class="imgc"><img class="imgc" width="640" height="358" alt="console.png" src="data:image/png;base64,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"></div>
  402. <div class="hint"><p><span>TIPP</span></p><p> Ez a kézikönyv használható internet nélkül. Csak válaszd a <span class="mouseright"></span> jobb-klikk menüben az "Oldal mentése" menüpontot.
  403. De megtalálható magában a MEG-4 emulátorban is, bármikor üsd csak le az <kbd>F1</kbd> gombot.</p></div><br style="clear:both;"><label class="btn next" accesskey="n" for="_inditas" title="Indítás">Következő</label></div>
  404. <div class="page" rel="inditas"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Alapok&nbsp;»</li><li>&nbsp;Indítás</li></ul><hr></div>
  405. <h1 id="inditas">Indítás<a href="#inditas"></a></h1>
  406. <h2 id="bongeszodben">Böngésződben<a href="#bongeszodben"></a></h2>
  407. <p>Ha nem akarsz semmit sem telepíteni, akkor csak látogasd meg a <a href="https://bztsrc.gitlab.io/meg4" target="new">weboldal</a>t, ahol egy böngésződbe
  408. ágyazott emulátor fut.</p>
  409. <h2 id="telepites">Telepítés<a href="#telepites"></a></h2>
  410. <p>Menj a <a href="https://gitlab.com/bztsrc/meg4/tree/binaries" target="new">repó</a>ba és töltsd le az operációs rendszerednek megfelelő binárist.</p>
  411. <h3 id="windows">Windows<a href="#windows"></a></h3>
  412. <ol><li><a href="https://gitlab.com/bztsrc/meg4/raw/binaries/meg4-i686-win-sdl.zip" target="new">meg4-i686-win-sdl.zip</a> letöltése</li>
  413. <li>csomagold ki a <samp>C:\Program Files</samp> mappába és kész!</li></ol>
  414. <p>Egy egy hordozható futtatható, semmilyen hagyományos telepítési eljárást nem igényel.</p>
  415. <h3 id="linux">Linux<a href="#linux"></a></h3>
  416. <ol><li><a href="https://gitlab.com/bztsrc/meg4/raw/binaries/meg4-x86_64-linux-sdl.tgz" target="new">meg4-x86_64-linux-sdl.tgz</a> letöltése</li>
  417. <li>csomagold ki az <samp>/usr</samp> mappába és kész!</li></ol>
  418. <p>Alternatívaként letöltheted az <a href="https://gitlab.com/bztsrc/meg4/raw/binaries/meg4_0.0.1-amd64.deb" target="new">Ubuntu</a> vagy épp a
  419. <a href="https://gitlab.com/bztsrc/meg4/raw/binaries/meg4_0.0.1-armhf.deb" target="new">RaspiOS</a> deb csomagot is, amit aztán ezzel a paranccsal
  420. telepíthetsz:
  421. <div class="pre"><pre>
  422. sudo dpkg -i meg4_*.deb
  423. </pre></div></p>
  424. <h2 id="futtatas">Futtatás<a href="#futtatas"></a></h2>
  425. <p>Amikor elindítod a MEG-4 emulátort, automatikusan érzékeli a számítógéped nyelvét, és ha lehetséges, a saját nyelveden köszönt.
  426. Az első képernyő, ami fogad, a "MEG-4 Flopi Meghajtó" képernyő:</p>
  427. <div class="imgc"><img class="imgc" width="640" height="400" alt="load.png" src="data:image/png;base64,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v/89jkJDO/upGAACEIAd+ULefPOtt3bvHnhDmdHYvfutt958sx4vnAAgAAEYGC9ijx69ewciP5Vgjx6dexAGIAAB2HED8PWOAvdURq9eXbtef33nHoQBCEAAdlRdHQX2qdxevXr06NoVgAAEIAAvv0AeftVDkZtuAiAAAQhAAiARAAmARAAkABIBkABIBEACIBEACYBEACQAEgGQAEgUqAD/k64qAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAPUK8DryGgABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEICBBJC4IBWAAAQgARCAAAQgARCAAAQgARCAAAQgARCAAAQgARCAAAQgAAEIQAACEIAABCAAAajn/v0yAyAAAQhAAAIQgAAEYGcAeG2XBiAAAQhAAAIQgAAEYGcDyIloAAIQgAAEIAABCEDR/+cP9gAQgAAEIAABCEAAApCDkM4cAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgEQAJAASAZAASARAAiARAAmARAAkABIBkABIBEACIBEACYBEACQAEgGQAEgEQAIgEQAJgEQAJAASAIkASAAkAiABkAiABEAiABIAiQBIACQCIAGQCIAEQCIAEgCJANg5+j9HACQAAjBYAX7nO8FDEIAABCB5AgweggAEIACpLcBgIQhAAAKQvA3B/+QIgARAAAYfwOA5FQNAAAKQ3AGK4Vd+BiABEIDBljz84CCEAAhAAiARAAmARAAkABIBkABIBEACIBEACYBEACQAEgGQAEgEQAIgEQAJgEQAJAASAZAASARAAiABkAiABEAiABIAiQBIACQCIAGQCIAEQCIAEgCJAEgAJAIgAZAIgARAIgASAIkASAAkAiABkAiABEAiABIAiQBIACQAEgGQAEgEQAIgEQAJgEQAJAASAZAASNRRABsb5R3xtdGVvK/MUWs7xX0db7U/x/vS37atq9s2ARCA1BagQu+73xUfMjFNfPV8weUcz2kylY87Y2+3FDzuW1MeVdmWJ0nPbw7x2O19s5Av6tmz22X36KMrVlitv/gFAEkfACUq+VX70moxud/2PmhKPipkdUsKaGWrcopkpkWu3lOW166vrqmdp/7wAAff161bl3bLzna/f7+j9PSKirq6ekdWKwBJLwDd4agwlHnqIKss03YIVtG641I/y3kKHoVuewDVtbR7omWnzvP+AwN1fDfeaLNZHcnPFRVWa1mZ+Gy1dulitfbpo+ALCcnOTk/Py6uvt9urqurrq6rchmAAkp8Baodg7Q/6bV9UdzLu99WhXDu8qgO0OrDLOcqS3gd0ddj2XFN7i4MQf5acbLeHhAhsRUV2e3p6ly7z5lVU2Gxi+LXbk5Mlv8mT8/L69MnOLiubPDkkRBBcsaJnTwCSHgCqyLTDrbzvfVDznKq9L7ehAtMuoc7TnjxpuzXPx9eurW7Rc9sMwL7v+9/PzrbZBLHBjqqqBg/u0qWoyGqtqho7VgDMyxPzkpOzswVSMe2GGzZsqK8vK7vvvtYT0QAkPwP0X7AJ9JMwGzYUFY0dm+coPV2Ay8uz28VgLODZ7WVlgp9kKJnabPXOnnkGgARACvyTMPPmicMLgc9mm+wsL0/AEwDt9rFjbTblZMzYsVZrtiNxKua22wBIegPIqQy6vAYPrqsTvIqKyspsNmWoLSuTt2w2u72iQjkVIxOnberqnnnGYAAg6QOg9uRzxxwSuJ8m/rZ7FEj17Ck4ybfg5s0Tw61EJk5EW615eeJtuaqqG25QD0GKiuocPfec0Si3AEDSA0DtRajqR9uLRt0vENXOb3uRqvpVvXhKmeJ+z/PNOAqUbrstPT05uY+z++/Pzh48OD1dHJLIQkLS0222urrk5JCQPn0mTxYnZ8Thx6OPKvwASPoA2PYiVOXiLHciyjT1wlL1AinPi1S1a6gXYrlfliUHfQAGat26iRPPZWXiQgRxqZU4+FAuyRJDsDgRI046ywuw6uvr6las+PGPtVsAIOkBoPsFpe631Q9PTuqS3i4H1Q6+7pdmeV6ID8BA7cYbu1yisrJ6V3V1Gzbcd5+4BAuApD+AKoW2g6f6az/qJaDaJds7laJeaqUdrN3vXeqX2knfQ/Cl+tGPxC9gWq3PPdcWHwBJHwC1p5/VS0m9XVrqfY6c4m0YbTu/7YWm2gtgKdgCIOkBIBEAKQj7B9JQ/aQw8fxzAAAAAElFTkSuQmCC"></div><span class="fig">MEG-4 Flopi Meghajtó</span>
  428. <p>Csak húzd rá a flopilemezt a meghajtóra, vagy <span class="mouseleft"></span> balklikkelj a meghajtón és megjelenik a fájlválasztó. Ezek a flopik sima PNG
  429. képek extra adatokkal, egy üres lemez például így néz ki:</p>
  430. <div class="imgc"><img class="imgc" width="210" height="220" alt="floppy.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANIAAADcCAYAAAAFk/8yAAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAGYktHRAD/AP8A/6C9p5MAAIAASURBVHja7b1ZsF3ZeR72rb3PdO/FxXQv0Gh0gw2gMfSAZk8iKasjkZRFxWLscig6LlsP0UOqXEm5yk9+SCVxXvyScqJUqjK4HKVUlYpUthnZkUSTtEXLlMJBHESqB/QAsBtAd6Mxz3c8w94rD3v/a/3/v/61zwUlx3nI7kLfc/bZa/rnaa3tAKC3fOygc+VeAAA85OVg389fHth28Hd2+PBBOPR23HlHR48c/YV/88juqt8rZvW06peVL4rJDGVZFL72Dr1iWtUeRelqX9dwReHqfunrpcHa/7ZrofrRpBoMysI9fvDA6CA8sD2ubqxvbF366NbS3zu0Up4uyxKDvvdl6dDrOfRKBziPwhUoyx6KAiiKPnq9Es459Ho9FMBWb1BU3jtMJrOirjw8ahRFAe8rAAW896iqGtPJJKymqitUVYW6BsZTV5RuVnvvCu8rP6ucm86KwgOAd6jrGpX3qCu4yax2hSt8XXs451HXbX++cAVqOEcoqgB4VHXtptVCAVeixHZd+54ri8r3Su+dA1zRgwMwGqEe9Z33cCiKwvXK0helx8LA171+H/AOrijgnENZFCgKB6BGVft2jVUzz9kU01mNydS72Qyurms45/1gUP4KgK/92elg/vV/feUPjgIYdNDSNQAPHqbP3mDv0/+qGO39RbgeUmbx5seGtxzgPfvePuOa+663Zxbu56Y7W4evxz3ncnzUxdRp5wu4U3/85O6iKPoAHLyv4FyDUO89yrIhcOd6cM5hNpsBcOj1Vv+LpaUlFEWByWSCAwcOoCgKbG9vY2trCx9bW8OePXswHA4xGAxQliWGwyEAoCxLlGWJwaDBi/cevV4PvV4P/X4fs9lsCAC9XrNG5xyqqgIA1N6jrip47zEejzGbzVDXzVy996i9R9XeA4C6rlHXHnVdYTabYTqdNs/VdXiGLvreMGmFoiha5vXwHqjrSvzWzG0YYOS9R0GM0a6xKEv027X1ej0MBgM451AURfh92MLHtRxb1zVms1n4N51OUVUVJpMJZrMZtre3WzygRsf13//DLx2E6/0SnHcN7hOC3PFVjvb9hiuGLjRVZFZX29N66/YZAOddC5t5V69YWPlFVy4w4ty55sleboBy+Viva4G+nqJ6cA5Ff7mrow6AefWMA4pe0WOIJmQSEZVliUYCRiR773Hv3j1sbW0Fonzw4EGjTdo2S0tL2LdvHwaDAUajEYqiCP3T5127dgWC5OPUdY1+vx8Yua7rQLyRaYCqmglGqusa0+k0EGLVMtyMMRbdI0bi32ke9Fyj3eowb3q+quqgQWnOnInoeRIMnHl6vV4QIly4EMx7vZ5YC/0jBtra2gIAzkzm9d//wy99rBjuO1/0dw3hioh/IU+15cToQlOVKxH7Sa+yHPWB+vV6++7HfF3f2Akz9eBKY8AcAefuqc8OjWbKMZL3qNcvwRU9ox+v+uf3rHnGv4VDQHa/32+B5oJUpe9lWcK32tQ5h+Xl5UB8xGTUx2AwQFEU6Pf74d9gMAiah54tihK9Xil+L8sSVVWJMUkL0DhVXWMyHqPf7wVGm0wmgtlJinOGmE6nQavWdY2qruGF5qqD5vPeC00otCJbN8FIau8Iv36/H+4Ph8MgaAaDAYbDIcpeD/2WuQg+9Px4PMZ4PMZkMsF4PG40eDsPWpPWqkDLRKN958vBvmEX8XfS41xa1l05lIN9Q3j/Xr197zFf1w/mMVOvm4lyDOSNZ3TbeNXjO4CvginoZxuAn6Jh4q621mKtcem+D9KSS1MiFCII+sy1ChEXaS/+7GAwCFJ3YWEh3O/3+6L9cDiMZlDbz3A4FExHkn82m4V5TIfDVhM0Jlev1wuEPplMAgNXVYXpdBr6ARCkPpmlZO6RoCAt5b3HcDgMBMvNLyJkWgf1z+EAIPRDGrYoCiFwCJ4EA+qngWsDO6ARPJubm824VWOmVgYT/Tf/w28eLUb73ymH+4bzzbcuutB0m+uL0bsrUA7374Kv36vHDz7m63qri5l6trmU+661hN3WzzZQPbgQv1ebrfbhXZWZMXT/XQuXbQtXBLNuYWEB/X4/IRoiAACCqUjiAhAMRlKYm2rUbjqdYjQaCUbTxEd9kPTmphmZdwsLC0GD1HWjZejZ0WiEqiU2YoaqqoK24yYfraUoitAHnys9S/eJqQgewddp50VMQuNQ36ThSCsWRYGqqoIG4gzHBc7GxgZ6vR7qusZwOMRsNsPGxgbKssQ/+ec/+I0Prl0TRFKMVveXw92Gi5Cjv50GxnZIU65AMVpZhfdv+9nGCV/Xsxwz9dIO5jFWFzOxzz5GoKQJR/3Mt2VtTShALdo6FxmEEN/v97G4uCgIhqQ9aQ1iEmImkvLkL2hTh9pzgqyqKkhl7kORj8CdcgDB1yAGARCIdmlpKZhvs9ksMCfNlTNBr9fDZDIJWo/mNxqNwthc4xLT8bnQc9ocJb+FniVGoTVqf5PgMBwOMRqNwnOz2QyTySSsuREYPsB7NBrh3nTf4XLB8pNyvo/1HNFCt6DP01na1rkeitHKE/V2/aeYbT3v67q2mEmriUzn1sCOETIRda4v69Jttep1mf68auvaSCGAlnG4bV4Yi+YMQtKdmIocfE4wnCBns1kgeE7YAIJZRb9zpuLPEmFzIqR59vv9MAcyncbjcWB0MgvpedKwxCDT6VRoDQCBMbhJS+YcjU/PkyYjLUNCg5uxBDt6nsxXgiWPKPJABM2NBFxdV4H5ysJyJ7poL0dTnF52Ys51uTHNd1f0UIxWz9SbN/8I2P7ZNncinmKM1GVOWZNwHb913Z/XNudzcYCoxfrmt6KITMIDCjx6BESi4AzFGY4TEjEJ9QEgROKI2YiIyH8CEEyp0WiUBDeIkIjZ2jC50E40Lx7JozlxJiKmo3lzTSJD2y7Mi8bhDETromAHaThiBq5Vh8NhMFdJCxKjE6NwQUUajUcECYYkLPK457SSs166GGUeLVrPpsEtVwxQLK7+e/XmjX8OTH5ZM1PP5liuESyufri4/c4uv4N7XdLKoU0WBoSRg09RMEIgSVkAISrHiW4ymQQNxZmJ+z0AMJvNsLW1FfykyWQiollcm5E2sqJ5XKsRgQEN0U8mk+An0byIubgvxqNwpFlJo4zHY2FiEoHTXwAhZxWg2ZpgZVliezxGrzVjy7IM8FxcXAx+aFVFuC4tLQUhwyOoNB75SJPJJPqjlJucS2c7vcfppMus6wqoSQvNFQMUC6tfmG3d/IcO0/+MM1Mv5XS+iNoYjMXxzUnmTLCHvbrClla/Dr3CixwST0ISInXwgcwNHc3i0TsuUbmPBECYeEQwo9FImFJA1HLcjKT2PEigc0FkhvGoIJzDrJ13WZYYj8dCGFComYiWNJQOowMIOSqCj8xvRT9GRyOpzXA4DDAnGOi8EUX5OBwmkwmqqkK/P2h9py6moHu1gft5jNL17DwzkrdvNVM5Qm/hwH8627xxyxWzv0fMxEw77qdojrQiItakdhK+7lq8Vqu5vuxxvYdAPjHCYDAIxMQDCU2baP4BSO4TwfNkJg9M8EAE7xdAyLEQkdHvOjRMkpoHC8jXAhpm297ejiaeK4QfRNqQiJsCEKTRyF8hpuGmH5mUJEi0ECnLMkTnaE0UxqZ5k+Cg38l05bCj30gwLC4uMqYao3T1HJqaRxd/Vpqy2tnPtMz0X802r19zBf5nX9ekkQrVaF7+xqORDrmkKZ+ItShqqye7E0njs237LC2lE6A6CseJgwiIm4QlM2VE2U7LUDxyR5qMZ/m5f0PERSbdlGkTTrDah+Oaj+d3yrJA7ZuKC651nHOYTCb409d+jH/5b15HVVdA7VDDN8Z5XbepPBe+S8i2VghVfrXmVhAOzre59gLOeRTO4adf/Bhe+ZnnA5NMp1MhcCgwwn01Slhzn9DOTe6EpnjbeTSFjvZWW0BqwKhkXG8BvcUD/+Ns48Z1VxS/bYS/uy4rWasXMq+tFRnMOZD6t9wz8efGzOgLDUFEzgMLRKzaZ6LnSYvwezyczU1A3sf6+npIoJKW4+U0pMW0xuOMw4lvPB4HBm1MocZ0ctvbQaPoWrqv/us/xaXblYSTV7BMDAwHeKvcjQQfx0MdGt761lW8+MLJEJmkwAmtn+BMAQvSvBQKn0wm2NraQilMuy66yNFWl+b5SdrnAh8sANFbcuXCypeqrVuf7tkDa22wE02xQ2LPts2Zhrm8FSeK9jdP0jMyDGcgXsjJQ7lNF9GkI9Mnl4jV+Red+ee1cPw3qkqggICOatFctQ/Do4q8xIiX11BQYXt7G3UC4rZsy5K4DqHiJJ92cbEPzwVpU1g7mUxCBcbm5mbIYdHc+HeC3+bmZluoS+VSXSkPfc0TvF3XvJxlV5VPyifFYLcD8Ic95uV1TF7H5Glg5fhRPmdHwMgFKuZV9fp2HE0cDsM+RIQIQJDinFGIuAEkeRFeOkRErqNr5FRzE5BHC8nZ5nkoblpybUZtG/BF85IiYzz5yisJYi6mFlq21+u1EMkRjFGH5gr5vc3JNZ89JI1I4vJAYsJqIUVrsaKovR6VE9UGCTj2XdOF1hIG/bQ7EXYWcdb0bUWrC6Q8ALj+UtFrAGV1pCc2Z9INlWL+1dVPLqKif2OIZv3ViCFeQhqAQIAk8blmohwGL+icTCYiHM2jd0AMg5Pm4hGumBOB8KmIMXnFA5llvA2NQfPnuSFu/k3avUuc2cIaE4KxYCyrQsRfx55zBQKNBJQVrRnYCE4Kr5NW4pXrPB9F21A0o5Vl2QQbHB+/pSc/z1e2GMUrkukyD+eFyK04gHree2R8pHyW10ZOznfqmpjuU5ttmbh+VlIWqGsnTCNCIK9+5mYVRaQImRTG5SYbPUd+DhECl7zEuMO2+JT/xrchNDCXvhHXSJzw6DPNj4fFaW38b/TXPJzpOFumMYxnDPyKpi7Cvv2ZV0Hw6KSOBOqaQPL7nHPwrkCeoA0tumN63WkeCXPaajqV7kiR78QCcI5Z/A7a8onPi9nr51rzw3GpmfpxDX5l3geAYAhyegEIKU7PkqNPuRMehauqCh9++KHYH0QXSWFiBF6zV1UVLl68iOl0GhK2NC+ueagfEepuCZDmRDVs/Or1+myfUdVAJUTa+F8VaAhfclXNWoApvDkHjxgV5WYtL5Hy3mN7ezts5qPIZRN6byOqYkwatouxNNPnrnmuwsO21eM6wBUagpYas37fSbBhJ1pNd6GkIN3LAlROv9+T1QJN8xi1o5wJ3+gHRGmvd3HqYs7XX38de/bsEeVEujyHh3XJ9HPO4fDhw/jN3/xNXL58WWzYo/wP9394ZbdmepL0AJjfFSX/wsICyoIxTyBIyHs8gCB8za7P6S2HqGnqug57jmjjHl8DCR5pEtM+pFp1TPNTpmbQRpweavaXIoo60gjje44eLabpbhspQhBrThPxezVSsyH3LNRzvGKCPaN9LGe09TlNB9R13A6gCzf1rlZCJN1vQCCrEXgVwKVLl0QEyqpSIKlM/gK/55zDZz7zGfzar/0aPvjgA8HMvB9rjxBn0rIssbi4iOFwiIWFBSwvL2NpaUkEWbwnOGnzt8WPhisxm9P5xJz1IK0FmjffnEdwpuoGEkzcVAUQKxsETdlWjK/HQLnYPOf6oE2pHh4ohvDVFlx/D3w9gZ9top6uwVcboPMpUvqEutcVRnedbYsIzJ2EDw211tkm4+fk46zpOJ5/d4owZNuikFuwiQnIjOBVB3xrNZBWQPOw8s2bN/G1r30Nx44dE36RPouA2ml/hpjkyJEjOHnyJP7+3//7ePPNN0PYWO9o5RvmeB9U4UDECMSyn7IsMRqN2ghlgdQUY8QiaFULJmb/7yCFQ6114pryQ3xnLK2Vw2Q2a4MSobLGoqv41/UW2gGHMdro+nBF2a6rhCsGcL1FFL3FptVsC6kW02sGbG2Xo2XZtrAfynWSGwQd7XeSdIWhynUTq61EvmMSXu+Q5QzFKx34oSNccpIZsrm5iT/4gz/AM888gz179gQiodIb3heNwxmMR+ecc/jpn/5pzGYz/IN/8A/wR3/0R0JjErOQI76wsIDFxcXAVLzshvqndXrvMWmlv/cZ4aT9JTMD4aRgdhG+kTkjghy8OMSEw0Wb1xwftOV8Op22UT9N0IpoXY6rc/TqG6YqF+F6C/DVVqPFkjNW5mncHC0rIW7mkczcUoezlW2nn9GMYwBLwDCn9ew5+Do9+IMXi/LNaTyXxLcH8OjS2toavva1r2FtbQ1PPfWUMOcGgwEWFxcD8ZN26/f7WFhYgHMO77//Pr7//e/j/PnzuHfvXsgtAY0GvHnzJr7+9a+LwlGqfCBGofkBDbMtLCwIBuP7gBbaKnSXJTq0ET2Fa+2DevZbALEdCfRwIhJJQoyfFETJ4q2trcD8FJQZjUbNfqbQr4zExuDDDqyelul9PYWfbTWnVPnmpChXLsBX661pyNtmXAVn9N/hOxp5JD5pbS+mkTLxXFZZGW19RkMljm9Xf/IqCw/nClRVDWAaom28XIi2SAMQ/gkRgvceo9EIt2/fxre//W08ePAAjz32GPbv34/pdIrvfve72Lt3L1599VXhTznn8OKLL+Lnfu7n8NFHH+F3f/d38f7774e59ft9/O2//bexsrIS7g0GA3zuc5/DW2+9hRMnTmBxcTFoNB5J1AlboDHpeNUED4C4JITURNcQ/vJ7ijBEWsEINxNDhYqQQpjHZLrxLfq8Qp62nlDYnqoxip0kVzsjvlEIu2IIFIOGiaox0N8D+FnjU2UPUMnlRHPKQT5v5JFyuQbr+7z7856h0Koet+vKA3Ja9VDXFYpikGwj56X/OvvOd78CwEcffYTZbIZjx47h+vXreOmllwITffDBB/jkJz+JW7duJTOYTqe4c+cO/tE/+kcYj8fitz179uDgwYPi3u/8zu/glVdewZkzZ8SuWZ5H4hE8QJ6jR8ncoiiwubkZNKJr//NMznN4N2SQybnsxIQKzBaDP/w4MJ6I5ltU+B6nEN1Em3wWJrzly8wLEqT3nOsDvRK+2kAx2AfMNuAn91AMV+GnOzn/cd648XvmZEZN1LrDeUkuqw9jwTwUGzQjtbX2neQW2/wZ9mdi8x3XQrpESCdG+V6c1dVV1HUdfJjBYICvfvWruH79OpaWloQP8sorrwTtcejQIXz7298OTPTMM8/gE5/4BM6dO4fPf/7zOHDgQIjm9Xo9HDlyBN/4xjfwq7/6q80S2BxDolLt4OUHoZDvsb29HSR8M5eUGCJjSbxwbSXhzDVEzuxpGI/7pXwbRthGzuoISUCELfXBl9KOWZeGcvDT+0A9BXwF1+84NBUlgGnrH7lGMxV9Y605GqZHeUCO1o5gWRlnNnRlg7t+00DPRUQg7W0y5Vyuj1ykhWuzFri+kea9fqz+5sEAjkyK2lHYmIiTnjl//nxgiC9/+cuBAQAIM4oO+6Ao3vnz5wEAy8vL+JVf+RUsLCzgT/7kT/BP/+k/BQCcOnWqBYHD/v378dWvfhX79u3Drl278JnPfEac3aDDyvzcN17RQEQJtPmsFihO4YC+e0NHeWWRpAxm4SBefHcxEHf6EkzJnCOTb21tLcB9Op2hDgeoZphX0EEB5+omctdOx1fbyi1gtBNMOh01nlepY7k7bD7sVmQkwXFdAyibuTP2nulLRINgtNVjGv1Z+RG0eZy6hmfEziUhr51zzjX2OZP2tKfm1VdfDe05ExHy6frud78bPn/iE58IBLK4uBhMtLfffjswwerqKoDGDPzhD38IAPit3/otHD9+HJ/97GfFsVY8HE7+Bq8a59UVPB+WXlIg8YCDZyzEtVZ6z7p8gC+A9vzzmFag4Mr29nbYSUu5JRIUzbONzkz9EksrIeA5ROCqMVxyRmKcY0NqLEfmckxq0eM864vySKHtQzBC+Gxom+zFQq+JQJvniznjn360tf2NfT78+GF+RjdFjkhS0ll4ly9fxmQywTPPPIN+v489e/aI2XCNdPDgQezatQu7du3CoUOHcPLkSQDA9evX8eqrr+L27dv42Mc+Fp4fDAbYt28f9u/fj5WVFSwtLQEAVlZWArPxLdp6LxNf13A4DEdf8SikdMwl06RYaVMHcEwXxbbay5KAl6aoZ/uZ9KlFPO/GD5GJFgKft0auQfi+BhXPumII11vKtEUTdKj5UV8sGmjSsTf7kYCT2r6XalGtYTjQ5pl21qJZH2Y5vtVOj8PaWu5be2Myi0lBHvnSZUOEaC7dqYRoMpnghz/8IXq9Hl566SUsLCzg0KFD+MpXviLa0nX69Olw2Mfq6ir27t2LN998EwDwT/7JP0mgsG/fPvzar/1a8CMePHiAv/t3/65gEvKD9Lx5lbeI0rn0SOEE9sQgpuURgxBpuwhfaRrGfugsCdKQ+vw9AGLeXKPHSnFm6jPhmMvnuMF+oB4DmChD1UcT0aFhOLA6zWIIeF7pYF0514IRnzL1ipS4HyZBZeQkskzm0uc7mchol5iE8vdBT5ptvD6Nl+Dwc+/4aT8A8OMf/xjj8RjHjh3DcDjESy+9lBzwzoMN3/zmN/Ev/+W/xFe+8hV88MEHOHHiBD7zmc+Y6Hnuuefw6U9/WpQErays4Itf/CK+853v4I033hCJWb6FnIpZt7a2sL29HSoGAISzt8OOVAF6ytHp2XBTrwif4r34X2BCKK3W9k1JYF2DyDc48lwSP2nWpBXH+jctmJSGHP/u2/X5Cr7aRrFwGH5yD97PUAxX4Me3Wfuc1sv5UTCf73U6WOa9nNrTeSQr0pPJEYj+5mk25H93MpPO/Yid7Efa3NzEa6+9BqCJuBExr62tJYynD0sB4t6lz33uczh9+jTOnj2LH/3oR3jmmWfw/PPP4+WXX8bS0lKyH+lTn/oUfuu3fgu//du/jWeffVYwO99Ozo8b5hsXeXVG8xwHKUVHSVKT1GZ7ikx4Si+puSNzUMRcZLLRnAku/IRWgjf9xsPhkaHYXBz50h6p79RFGx7eT4B6Blcuolg41DJO3fajz2CwaNmiR+u3eDHTriuPtJM8UaDm9GsXg80FEJkR9HPmGefQY2cxAHGfDD+OC5B1dbSJz3uPH//4x6jrGk8++ST2798fEPz000/jzJkzgVCKosALL7wAAEm1BBHI8ePHcerUKXzhC18QR1YB0X8AmujbwYMH8bnPfQ5f//rX8cYbb+Cll14SmwmpMnw0GgktxYMQ5Ht4YhhtHdD34IdYeO6KlpLm4oZU058uX+JpB0BuuSfGp5OPtre3m3lbOA/M1M04epbO9YDesJnh5AGACr4ao1g8Aj++hZ1dOwk0xGfz+5ESDSInmzf3dB8yRL1jTRNqvtj3eWZne+wtfzuCPg1UF64CCPtlyLc5efJkqG/jLxfjxE1hZ/qN7tM7lOjQSH7GHTGcLv3x3uOXfumXAAC/8Ru/gXv37gUzaGtrK5Ta8OJbLvn5YSsUis+b0xzGCq4OgCh4tRiO+0uNgCOG0G/CoG0VxDzc9+NHMhdFgRolUkbWtGPRI/ftSFiUjbb1FXw9brKSC4/BT+4Y8PhJLSAyO5s+8vuRvCWxoL4b9qPJNJYPZJlm2oR0afPs4hxmM4gtzkAMC+tqAf4GibqugzZaXV3FoUOHhEnFw87cP9L7lYC0aLVZVpTMFNLWu0kPHTqEz372s7h+/Tpef/114WPws+L4nOURXaX4bsFHEBvHgYtMEU4Scsj0kYbRiyIGOmh8Yny+Vl4qpIuInUjIG+N6TTf5z77abv4BcL1lFOVSy0RWmHunVpeVR4pmJ2Mkt8NOaRI1zLaJ0PCZtgQYNgWqckhqvdh3bi/zSmWQgIin6+jTRPnxW3R4Ivkhb7/9NgDg4x//eDMSO/+OTCfuJOuz7zhj8BN0+JYKMr/4zlGeK/pLf+kvAQC+9KUvhbfZ0Zy5RqL50Ro50xYFZTQ8bKHVEc4NDFVHOAdn3wrwkGkXfSDSvnQ+ON+ISLig3bLTdt6TyQQ1iwKaAsABrhjAz9YbjVNvIdTPoW72IpUL8NMHYRuFQwn4CXy9zSwba/FzcpY7yiPNA7DZsAs5mXChkIQ8jq+f78opFY3pwcO4IfTfJN70S6+4ZNSvJwEaDXb27NnwLqJHHnlEnD4KQDCQZkbaCkCExAmel/rwV6twZuBRxWPHjuHTn/40rl+/ju985zthWzm974kX2VIVOH/VSmBoEkg7YSB90Qa/YOJREElL74hbve2eV2Pw3JHeduLZISlRgFpzbscqeoCfIvrMynylpCwlX7MmrhUZ1uMJoFiAEn8Lm0MtztxhksrMFeW+qwlReyIEr34XU/IMRi4QAD/Bhp+9oDffkTl0//79oI2ee+45YcLpnbBEJFzb8SO04tTk2XSUYCWiIyblBZ2kzT7/+c8DaLTS+vq62HbB9zfxrdz8jRVlWaLo3M6SI6zcxQjc8p98bQZz6Duvw+PV+DoI5EkoJvPtoIFwq4OmxBopesm1bFe6Rl95HijyzpfuOBPz13Z2NjCRW6SHNCsQmTEXYCBAtIwWbHXMQn5lc3MT2+1ppNaZ1qRRzp07B6A5+P748eOBMfjbHThTNMO7RDsRM1CAgfYF8VOI+LnkPOhBUruqKhw5cgQnTpzAxsYGvvWtb4nwMAkJIGozvj3dUTW7Lq4UeEgDBzDySMnnZBt6vE9L4aYuP5+Pm9p817I+lyLinPdv0A8Jz4QHrLXpAAuzhpzxe7J8ZRFlriLde8S0j+uQBGIQ13FPm3b8OUMyZrLycoF8frFajNIR+khiusedcdp6cOFC84rOU6dOhUpqYgj9NgoAQoryTD4xi97AFgCtDpDkpwMNBgN88MEHIbL3N/7G3wDQ1ODduHEjVAnQhr7hcIjFxcXAsKFUqD3HoSg0zC3/t1B/c7jmdEG3pKArini4DO2Q5Sch8cAJaWF+fl/II4mNhHy6GY2TBLasPGVO2+qopKJbr8aaE9XL+EjUGR8kt0XXK+mguZbaZpKt2UhNZt1Zk8+hrmMkjTa+8eO0dInQ+fPng2Q/fvw4Hjx4EKoF+FaFBhQxCkh/+fnePOnL7xHhkLnJiYubbYcOHcKXv/xlXL58GU899RROnjyJ7e1tfOMb3wgakrQtmajcR+OS3s69aC3flZTcgcnjIoORFqfdrrRNnofl9b4k+kzWQ52NEKtxTXq1SCcXufTyX7aAVSdjLf89/tZxrp1emDIRuG8i8k7WRJjU01pOMAVfszZFNBJTsBVFrKuj8+u4T8TzL/fv38e7774LAHj00Ufx4MEDFEWBffv2iXPs+IEmvFKCR8v0ccQ8KEB7b4ih9TkSAMLpRL/4i7+If/yP/zG+8pWv4JlnngEA/It/8S9w+/Zt8SpOnUPiG+UAB1dYBG/RRw7Gyg/KmnwFHIoAIzqHgTRTjtm51qKzHryegzDx9ZzVX2fQSEIdMJ5htDzXJ8r0OzePJJjC4ExlBdpIMfoUQQI9PyeH6VpD+Im3ic6uPpeO/pLNTrkaALh58yZ6vV7Y6g1AHPKoE690cQ1H/dPWaR4A4LktSyoT441GI/ydv/N3MJ1O8bu/+7sAmmTn7//+74sQOIWPeV4rnmY0gadT9B0jSG6OcR8qgf+8iFUaZQ3no7cRRu4DkenK/U5+RFmAqxjLSybKEoDyiRIBoefsM211n11mroLFzvJI1mB8sdZCu8LXJG28/G49q4WimHgDOLmdOib0+AmrvMKBJPi9e/fwwQcfhKFefvllrK6uij0yvL5Nh9D5EcW8aoJXNug3BXKJTOYhVU3zMPloNMIXvvAF/PIv/3KY3+/93u/h0qVLySsv+VkJxPRN7aCLyUJHaG4/k7nOq+kJ4JaD7SxERLx5xAjnjJ1itLS0FPZkcVxwP5W/TdCLEHuOLjokKk8kcz9atMu0F2VVvO281Ex85iHzSEzVJ4GI3CDKHBMTzo3t5Fr4WC1iKcwgQOVjKJo79jxJWlUV3nrrrdDuk5/8ZIjW8cMemymnfZHpwn0VQAYzeACCb3EgzQbEt/Dxk1l56P0v/+W/jL/yV/5KmMvXvvY1Eb3jCV+6YtDDyUhosCB8XuBy7cWlmEngkkgLtV2l3+8H34eXOOm9SMRM0+mUTYXP2Wfo1zLvmPtgknI6b7PtjvlAzmGHeSS6LBWaW5yaWOIAG3arDnV2rIlvg24s1CbHwR1dXrTKtdHly5cBNDtan3rqqSA1dRSOm05cE5FTzWvF+JFaXGNwhtK5LX4YCBWn8hq0L37xi6EG79vf/rY4oZXnrripVNe1Cn8TiIlg+EGMHNAeXQI/3QwX2/aYz6aDOrqsigu2MLL3LNjAEO+UQDBdIIPewjQd8kLbigNwk9LyPfKRwCLtbI49mo2yOWQZK1GZRt+ieFIHM/TT8Vnu5rkimjo63EzS+6233oL3Hj/1Uz+FkydPigMNLWbg5+Hx47xmrLyFzDIgFnBSkSb5C0Q45HyHOTNNyIMTo9EIe/bswa/+6q/ii1/8Iuq6xpe+9KXgG3Ffi78ZrygKlZDtcsQJ3oUK+ngFe07Esm8KNmi/lGsnMm156RTdm7Rwoq0aErcxRxhMUm/NI7MmoZ26GAOQ0ebcM3kXRp1rlyN2K1qm1aA37oGZDEZ/4rNXP+XFI98LE8PvHr6KDMNfHUImxb179/Dhhx/i5ZdfxunTp0XtG4/o8aJXyo8QgROxU0mOLvPhr4bRPhJ9JvNuOByKIASv2+MvNPvrf/2vY//+/fj1X/91vPfee3j66afD1goSGmJfkrl/x8qXaAks83N2CirCmwQgrZsff8aFCzd5+atd+GZA8nrlwSxkzeh55ujUok0r6ugzz9MYDxOcaK7caRkWBNGc8GLROI/yqUkHG5vb4MYV8Gup4i5AuCBNXZsQBWJEjSP1Rz/6EV566SU89dRTQmryHan6YHyePORlQ7xyW58fzo+g4uYfJzh+ECQvYuVb5YlRvPf49Kc/jclkgt/7vd/DqVOnhAYiM5GijgWZcZ7jZI7DnRAUF7CMqVBEJmKIq+s6bOGgl03zc9R1dQeZw83vNdNERi7LFYlPLJVDLijGGFDQfyLZ03taQ3cyrs8dx6XvYY6myGkjRew5JnJKIsBDv1FOnihQGM830pGXqHAJefXqVTz66KN48sknw6tdCNEyDwMhSblpx00q0l48LwTE9ysB8Txvfn4EMQh/YRlnXCI60nh1XYfD51955RXUdY3z58/j9OnTYQxeRNuYpk7C1nvjHhWKggk7QhonKKaBQjc8CR81EtesPEhD9yeTSdjOQuYgrc27iOfoPSn64pqJk50O6evf4dC8wYLmnKEfTriklbiA93lN1rMFlGIKMV6XL+Uy9/Xt+T4TbWam5yi44Mx2Lpp3zCTj59TNZrOQ5OQaRJ92w88Z4JqHTDLqr8dyJqS1dLUDjcG1F/e3aDz6R33qw0H4btqf//mfx0cffZSYTTxkH8EiTTDBFInZpymQ9RFQxgQe64Kvn77zLSLD4VAUAvMIJa3X8erx9v/EUMHkM12LDmslaCNLA1ntrYszlOXONFdPcm0mjySsg1wYER1tM8/o8GwSsLM0kpVnaAHe+ov87O+6rvHgwQM8/vjj4WD8xcVFTKfTsAuWVyQXRYGrV69iYWEBKysr4iSi2WyGmzdvhqOy9uzZg+XlZWG28DdE8Bc584AAHaBPAQX9NguuHRswNVKfzns4ceKEKK6lurawfUPQizKZdDI2KXDVvoXhXwVUNOYfXzsgXyTGTxLiTMSDDlEjSdohYZo9V4+0o09uIqsIxFosWs74+LpPRalFtgNB8GAcyf8az5qL1TdUlI6bDIZ0TM06O3ria7T+UKyJW1tbw7e+9a1AeG+88QbW1tbw4Ycf4ubNm8KOJ2K+evUq1tfXk+0RVVXhO9/5Dq5evYorV67gy1/+Mq5cuSLMMgBC8pL5Qj4R5Z9++MMf4vr167hy5QrefPPN5Chi7k/xjYHch+KVA1TjVhSFgQkG12xAiudSXArnXEjdy8Mqaa+UdY4DL60CkFSKSAGZDzVLonEyyivWmwucaY2siFSvNdCmWjsDaM+crDAJcmvRAQYXn+cIC+agtr3pPt2ep2KN37m5AoeiVwTziydDAYhDTgCEXNB4PMabb76Jzc1NLC4u4vTp0yiKAhcuXMClS5dw/PhxnDx5UuRGnnrqKezZswePPPIIvvOd7+Dw4cN455138NFHH+HRRx/FCy+8gO9973uBiX7mZ34G+/btw3e+8x1sb2/js5/9LJaWljCbzfC1r30N9+/fx8bGBq5fv45f+IVfwGQywQ9+8IOwY5ZLdr6XiofW+X4fiR8GP4Kz09qJSXXhC3Bi1X361lWK4Xft59FnHgXlARRam+Pmo9Ia+lRYOS92Zd0OZt5lNbBiWh3F7tAxdNnvRxLaB4rbxczT5yxizzEBayhyBuq+HNNHCQQPvr/EtYji/oNzDhsbG/jud7+Lb37zm7h58ya891hbW8P6+jouXryIwWCAl19+GdevXw9m0u7du/Hcc8/he9/7HtbX18Xema2tLUynU+zevRv379/HhQsXcP78eXz84x/HuXPncPPmTbz33nt48skncfjwYbz66qu4desWLl++jFdeeQW7d+/GjRs3UFUVnnvuOZw6dQrPP/88nHN488038fbbb4fTU3k1O8/XUPKWn2QKtGeGi+BNh+QNCc8yfhdbzFWAQvu5LanoAl59WlJZlkFj8pItSgs07WjK2pxs/km6zfnifI40f0Yz1L9ZGZ+BlZhT3iIrTJXNB+8KICSTQcZeVZ+F1LMkjmahnEMpJaSQXizCtry8jFdeeQWvvPIKDhw4IBz8Bw8eYGVlJRw7TOYcHSfMiyuJQMj3uXfvHvbu3YuNjQ3UdY0PP/wQx48fF2+1OHDgALa2trCysoJnnnkG/+yf/TNcv34dgDx9dDAY4Pnnn8cPfvADvPbaa3jmmWdCgINMt9FoFPYj8T1J3B9rtpr7TjilMPUpcYUdqwyvIrnZ/vUyoUxMT2di8C3ndI+u6COxt5qLvCbHbfST04CTZ0yjyJjPl+g5IfkMnfJ+gyCxA2VGHompTRFu9B0DUsCAc7vL92uUo/ConP3uHsS+PWkiDnDX7HpiJT08OsTzLTxKd/jwYbz99tvY2NjAtWvX8Oyzz4pt5byolHygmzdv4tatW3jjjTfwsz/7s1hcXMQ777yDQ4cOAQD27t2bmFrr6+vYvXs39u3bh1u3bondrleuXMG1a9dw4MCB4GMcOnQoRrRYyRHPyegXAwST1oS/ZXMbl4h0AeFsuQBq3W8dfD8SNjw9oItseTSPnwUoIosWw4pEbTJpmLeykTYtaHL3rPFtxZPPIyVx83mBBu3EGXbsHF/Imd9iUi7+ZPfhvQy9UjX1yy+/HBD59NNPY8+ePUHCLy0tYTAYYHNzM0TFHnvssXanaYFPfOITgSj6/T5eeOEFTCYT9Pt9/NIv/RJ2796Noijw8z//87hx40Zo95nPfCbsb3rxxRexuLiImzdv4sUXX8SpU6dw6NAh7Nq1Kxz6OJlM4JzDwsICPvnJT4rThXQ+Rkf4eC1fVVWN/E6iTTkNlcEXj8zx33UOCk4IKn3kMoX19UEwEZWkX5jW8Jrwo7mn80zye9ahl4siXylJ1s4LbPBnJNzsygYrSpE4ZkojZZmkSzPpvoFY/qNsfK+0UtK/Q6+QyU2ShIcPHw736K15S0tLqOsad+7cwblz51AUBQ4cOIB9+/aJiocjR46EfUa9Xg+PP/54cuik9x4HDx7EwYMHQ7snnngCdCzVrl27ADQHT9LWi0OHDgXio5NVv/rVr2J5eVkEN/gbzQGZ++JhZfrb6/VirR0n+gTWOYFmJG8DOSgib/0HCjTwPBIVCfOyIF7xTc+FNfC5ieh0qkFJ43p4mKHxEFRp21mMIgQNp6Ou8Di/Z5p2LtPGipVa0aCcJGATosWRV5lksulJl7aloILnC+BFhnFsnhjV9W5kcnBbfdeuXfjUpz4ViL6BsQt9EML1VnPu6FMuh17oTH2QM83r8ugdqsSMfCvEpz71KSwvL4vzILg24qVHuoJAFsd6xkAMPz4vwOSlo7HkrFvSWO77Cj0wBiLY9ft9UVBMQYoGFx7xOANnCHNt3nGNpOfLiT5DsyI5bVlemuZ1V9Lc4ytPYZxcWppxrtcOn/GsLvGATrYp5HEmshxitdBer4d9+/aJt42//vrrzZkA4l08TjAZR7wmWmJIegaQr8u0Cl2tl35xH4aXLllHIQMITMrPG+dlT8Tk+/fvxyc+8QlxWGTz9rvCAJXWRFzC6rIZ9ZxpOUV/kx9ZxqtB+v1+yBvxXB3XWrGsSZ1U1BE0kaEol4oDEQ4HksmHIAKUgNGMZWgoVh4VTTvN+Wa42vKBnPzJjPCxNr6LEQgwWo3n8gZa9Ta/lUXcukx7fp588klsbGwIn8M6DVUcCYX0tBvOKLofThi8zo7X0dE4lKjkuR/ehpiHtwdi8pJ+owry0WgUXisZD6O38kNQwSAw5tIw1vAvEHKBKgflvYQL19Jkxg2HQ5G01YdGNkEXK2BQxMCSGV3WVKRIJPhEXvl69JsyJdMO5HczothcvUR9Z/0cw/YjTZGYgbyp3dahhG9VecpEho1uOsiEZIFbcQ716uoqdu/eLexzfYQwz2lwE5A78ICxKa1lBn4aEH8J9GAwSLQZP36KGIdH4qiMiELfXDPx98pSX2VZhj1QZDY2MoGb1PwzIwr6TL6UQFPOuWZ4aYmcb+3nJ8ySH8nPBrTOmaiqiplY6iXcTn0356bNPDVfpT2Si+g3vHHQOsOP02IawSu0z2IDz1L3DBnCpNN2rtZgzWJoT2SacGWOcpJlt0KQUUJWrXScMU1z8+ZNfOtb3xJV2VVV4d1338UHH3yAfr+Pzc1N/PEf/3HIe9y9exd/+Id/iI2NDVy5cgV/+Id/iHv37uEP/uAP8P3vfx9XrlxJwrlE8LzEhxOV3koOILw0jJ7XO3LpIj+CDj3hIXG+HaFpR281tzR4Cy+ePggmTsE0VEdbjkvXZPtIkPCEMdBUk2xtbYXDOulgGG3SRk1qBJngFZ3lo75ynxqjDy5AsqFyr4Q+97sMeKpuCj6elEZWnN3LwQFDghnn2nGHjgHD6+d0eNLwqWzHsem3cEVzWGEr2RcWFrB3715RRtPr9bC2toazZ88Gk++NN97Ahx9+CADhvIHLly9jY2MDly9fxv3794OJ9rGPfQzXrl0LB41QtbcVjKC/+lhjOpKKS2wiQiI4Conz9x7x6BdpUH4QYxNwmLR0x4lGfXYOzbYCBmdfq99ht80EKHjggywCMkHpoBj6x7eixG33JlG1wxZMAyJ5hls03tReji0jF1zwTJDo39j9EMyRtNyTtqSl/gxbMYQXcz6Mauvkor35nGcfmcQ052EjtCHKKjn7gOc3ZrMZ/uRP/gSnT5/GeDwODERV2OQcP/7447hw4QLu37+PhYUFTKdTrK2t4dKlS+G7Nu2I2HldnNY0/Hl9YArVz/GAAzEI97UAiDwNSfi4jYIzru1PSrDmfFgrDCz7cXAh8EFROQ4PYhguAPjZgJPJBFXdFaI3CN9RBJLPI//u9TwtK5r2/BmLIb2UKQwuRfKAJmzrMjc4WXPVjh2p367F5JjSG98l8Ku6En6O3kBGptrRo0exubkZKgx2796NjY0N3L9/P5xm+thjj+Hy5ct49NFH0e/3Q23d008/jRs3boRdoNx55mORmcirujkTANEU4gcp8vet8qp08n/oOXG4oo9n5zUlQnF3MMEmkn0Gt1w7CTxqbSSDMs6lPiNVu/Pqd368GU8N+HZMW7iaRKW+a0aTK05ox1n9dV0ZDcetJ9CZDfxkTtOp12YXVASjY1y1OJ5ES4IMvssG1vNyit89PNtgxvfBPPHEExgOh9jc3MRkMsGpU6dw79493L9/H48++mjYwbqysoK6rsOZbC+++CJWVlbCWXV79+7F+++/j+effz4kaWkcnZDkWX0icJ7/4btxeW6FvxCNLr5rlh/HLA48UTtxva8CrMSJQ2YIvIUpOdyCmZwSnLKt905oXx5UoPXRunmklAQPCQzb5FK+WciH8cecYETzpdHe6FLQbEvLujwq28izP20QSTKDxUD8OzcBNVC7riYa41kbl/zOAZYz65Tm45GnFg+UbKXEaF3XOH78OLz3WF5eDucaLC0tYWFhIZhzTz75ZED0I488Ep7x3uPo0aOYzWZ4+umnRa0ej57pE131dgFAmmNcilOEsSiKoMnI7+LvcSJGIVOKmLF5vWaB2Yyeie+QknCukfqwyozKRV8zCfd+UYWELK2B75fimphv/uNwiibofE0j3YB4foRjAsKudlCKgNO4mzeu4ZerLnqp7Zx3KNPOrck6uHKBzYs0l1fLtdtK3OUQ62RIs31mVjdInEwmwjfhZSkkOfkOUy4luXbR+SWeSNVHD/N9Nbo+jidwdX0cP/GI9kzxsfkmP62B+PuXKCpZFAX+5l99Ef/6j95EWab2vnNlEzP1LEHd/lbV/M16cat97T0LbDmhTV/6+OPhnPWmnTxrncOXm6kxODJFVdXK4J/j8PPPgjGk6gn+eACDMlsTElf5VG8+ZF691HzL2KZ8s594nj9rhMtdNOmy4zhd7sM1n2FyighOEX67cnMWij+pDAeI0o9Ld74tnMwifv4dEQVP3gIQTr0u5eGn+vBz7Hg0SxMYJ0y+K1ZHwShCxzct0j/KL1Gw4sSJozh58pioxKYIIz80E86hZqcZ0Zl5Dc15FrxA8OMIRvQs3xLPNa72A/meKpoD+ZJFWaIWPEC45vkcReRwQkhLGuVBCIS1SlrVTMkUCPUfErmuo11zv5c359SVJF07nEEny02i8rUmD6Z5uiKG3Oa1w6AXb00CselK416vh6quUbEXLNPRUZwI4hBeMAoR2Hg8gfex2FKXG/HoGmdeYir95j8AwjQiAaDPiuDvZ+KJZL6JjkcJSSuORiP0B4PgP/b7A+zePRIagW/D4GF7/hYJHszY2tpC7T2mrQalt1DopLbeFs81P9UnTiZTLC4uYTLdUOjsihi2D+oAWVA4RGvq0BSXo3GLySwmsi4Kf5sPZaJmvCapyz1yBVDPwN/yJp3BnAOXkxpdmjH+nVUVfu9fvYnP/8XT6PcH6PdjsSi9JpJrAqfMxnA0lJLGvMiSay8iYE7gcXu7C+UzZP7xMDzfDlEUBTY2GkLildT8EEViEP4mQMpD8QAL5W1ImJDEH7R5tYaAt1iNW5TYDggHT4qXS7fwIf+Tv3GDCxuudShayU+ZBcCijLM2ErqMb/7gBlBPGW5zdOHTnwQN6DRLLsrANI85HqLiEOZdngF7sgPLbOPRMZ79VYPrglVXAr6GK/rwnr9ozPKt+JAdDJTNd8TH//TiBvwf/Bi/8O8dQ1kiiRZxW50u7fdwe18XtzYapSEE74GyjL4KESWvbiCtxzP53GfjB/Xzwlbqi+7x7eS85o5v6QAQGKnJn/VQFE1V+6w9n6LJrQ1RloWI9vGjmr33mM5m4TjhWVWFz2SOUdKYhAp/dQ2vpeOmHYdjr9fD/v378YPXbuDtq6rWrsPvEX+dsmpSdohRvJCbVFbRjn0hS/jHe2702M97V/RhawMVLxfErjrMELdDATfYA9dbAoqS9a8nBCkhwjYL9Uw2giLblkUfx/b3sWexCsCqaiZtWJu6RYRnEs6jbiLBZJiS5qmj0JCVK80YNWUT2FX7Rj6G52gVHgjJRYd41oJHOMecNIVzRBRyL3Hh4ovFnGvNvfZtFI76dEBZNIKtoABEKwRc0eSW6roKLrqntbUwqesaHs2W8KqmyCSS37xHs83dg/la8j1Sznl4FNgcz3Dl+lVsTWnrOWMSwTtccxjaiSNBbYmgkiEzisfdA5OR2rHCdpScVgJ8PSUfyc15OOdwkVOW0SJEkJO7wOQuXJYBrVie9rs0k3U/XwE4t5aLAhovKkymYa9XH9HlSGNbcxawtGBs+YOWyeHUPSsXxBdQq34t3LJ7viU651rrga0urNdwssOw3pgfWjiz/rzuQ8E45HPae14xi2Xi0bjh/UhRQ2WZKOkqFxfQPlrumcS0y43EnTXLP+FSxLZLXbLfhSEBUDSoidgZwQ62EIuRrcBIV2FupiypwSmdESMJwYnn5wVLxKQVHBybDq21EIhK22oG5XMwTBhEkzPpxzX48b5u1uSj3vMCVnqtiHM1K1K8es4ZTMFNNYXXnZpbgfH4cFYBqwH/pNyIMXTn+NzPEufa5aIT1LmySZMJ5Uwv41kOrIQY+bO16t+QECFUycwCER7PaS4e6lQIZc43lAaKxKi1Ykt4RIzhngUDpmEEcdWA52/aMSKVfE+R7+obag6teWo42M002IunufYKvgoSbSy0jVV1wOHtOOFxJuFw9KoP5VZ0WUpKW1NQK/asTcEc4yPC1zHGSjS9vIpUosHoXCOHHi/iI3oyApSa4KygRS7QobUeSVykz3CtFUw4ZQ60PkNwPAQiqG18GZfctFYwiR7besbgTpxupGDFs+sBphw5BUzmJwYA+2v1H9bNtLyeryHj5JqomYxqupw2D9sv2G9J/s9653fbNmgUZg4mOOK/s/bhvmXyx/l6LXgF3mkcfYIvH5YLcQv2LvcOWTYoV7natBI2rV6mE38TIJjRN8M0Mt02wx/zdTpGEpSwTAvP5pKRYolfI5EYW2jGZUglRg2M0tr1LpbziMikwIGeRi3hx/96L6crCIGtNzFFOQNyc9exZu16A9MWxricWR2bBGc+rhldHrdhypY5qP4GX033A0QNpehRa3x9if4yhN6OVWQoNV1gruLbNCPVS5IFkIiYLBs4pxHpZ0sa0IILxZgGAkV/2ix1akQ+t0Kwl/4tHZPPL2e2ADzPFvcF6fXye1yrKoLQldt8XKHlmCYw16Skuucju9aH4oxozRlI4e6QMLT4Z0v6wMzCD7ZgrU3LOG7zC6dHJTAU5tO16N/5nJuPRUq83PlnSMhVNYj1efWrPnKYmyi5w/AtM9PSXvbabRVMUhDSFDFCqqmZw3wLS3qb4/K1kqlSSP9NR4QcQ4U2xxJ/ivlyoa0WCo6N6yU4E1xakr5p7wLs47heM51j/8QcrMCIMW4iBAHBKALUmblSP0l7ZpoLulDmYE7ZCF/aGLNtW6SNIJGULC5ZmVB/aV2d7sLqt4tA+cJ92sbl+lKAEFKT/kpTDnCQkS2OEGuuxriJ38WIgftI2pfRZq1gcsUIHLnCvwBbK3euObExk8qEG18vC7oALDzuWIuMqZTAyiFx1rkp62uDmfSc9Vr5fBXtJGVBGsKW72VoxWwIXFo2BUxNYNjKyUAWcaWWqQQIPVSjc1x9W4ytnjFNSw421k5oAmvOVOVsmSpsK7Y5Dgc8IpGHHIeaqN4CIsbjFgD1z4MJGp+GqSlMPSYv9V4jy9TNmFthj1H7f7kiohXy3/hcNaIME47a6nUkQiYnANixxzwwllQ8aDy0/7NkC8djfFitqfnXkzfVRMUt5aAKu9sj3w9rE7owVKxuwwGRhMiZuaPnlTjRHFldhAM4V6gonWX2ML+A/85NKG6na4LVphmZmwl2c7aG+o2XvbhW6ltmkjZjk4CAkedTUM/lluQb9bq0Ob/P8LKTHJTAgf5uaRHN5pnkrIikooGfQRsSVul8eumPtDjkcUn9G++j0WcxN6cFcTWrIyuaCaz71viMaJ1uC9mWiDm04T6XlS+iSFxO+7jIAGGqdRyjc870mxES5lE88+Jt1TqDaWQRFc3RScbbUdKThnagpLpXZpYXsKoV+BkOuPbkeb4kB6WIlQS5+L0Dxibt+I62nGENZs2alfS8E/oT0MQj4KzyI449H1R+ysXO6lOMSRpOMxEgHFiF1PhoR8jZtN8LyUTtGLw0xqGA6biKeyxsrXNQAn+kDQpG6AVbG/dHdA7Kii5pLeeMtlxjOaTmIocHZy4NxwwsOXbbtslbFYMwVqaWwCE3Ofl9LjC0Bk1NTmEF8cSviiDGd3BZ5jE34ZRgDgZUXuOyjGqHnZ91RlJEy/MYVFvhayltpm19YTpK5Ek735IWltmon+e2f6NNQhLSTAI6NX96pNUioh1/FhG5Gsaeb/02kscCHxo/1Naztl1OI+GAfBjjXDsBKEtbRRO4+evCd3n+NqOLROvlfB2+NjUH4XNpAWSsMansUIJIB2fMwA9/PidI4tWzgeWMDg0zzHvwUou02tbD1xOQhHImEK1FMmmWXFZbXaGrnumwsT0DuG99N6FkmIkSv5IpQkKgAkzB4aJJlfiR1EelhIZFdJm2oO0blRqXw4450jyE7mctbCymaT0iVVktC1hdYuKJOfK2NTOp9cXNbcHAau01a5uYgNz3i1FFz87qc84wpTmMvb6nad+af1yrPLJY2N4O2pcIf43QYhyytZt9BfgKrhjEtkkNXM55pL6zoZQMk2X6FRZL+rsgczJVhBMazUJn1ZTxPE8S9KD2pXGPC6yc1GSmr5k6kNBvhJaq/i443MlMZesI0259LY6CYDp6dq8dTQVmROV4aMvvcYFAUTZaX82sEr5er9pCMZIeIx494DydlVG1NZAlFMdIHCbBDUUlpjBo5trxMmZ9aJ9GmLSnk6iIn8EVQ/l8awbJejQ7CmLX4mkfyDAVBWGq/jkVBMSReeJbrcmluyZwQpjUxNR37D7NR3nQfp9Ggjk6mF5oD8vXo3FbohPCzWBAP7UFHD9/oIWRgwtKE0V7hJfwE6QkDjzHZQzd8+1+K659CcaaCULFtcKr1sz0XZu2Tn9omCfQXz1llkMUjqII2roScrKEuW1WsvA3Bxx/I5u6wmNeLFy8r8ZXgOvH+77G42fO4Imf/jx6vQEQ3mCQMStNIrHmYjiiiUPNTI2ku7ygkPsLDcLkORWhvLX2yNnzKXxdQixtNXlkQRWS5+tUMGnXLEYOeNPEOU/TWfiZh5OMAPtJceLZiXzOXr+vZ/DVFNX2OtauvYcLP/gutjZbEzbQqd6rpX0wDg/DdOTt2L/8fiSTiZzqM7foZot584THi1/4m9jz+DMoB4tkXbfrJ3OhlSYmPg1ppIicuwCC0dFFzE6Nwe8pGz9rgjIzKShE1zIW9yk0GKPgCifPegDJ9gs5R8/6T/0lA2y8pdiM2N5jr0vROMjN3cKDhZMwdgKHh8GJgQ+NE7I8CZrVDH5pgv6ufVg+8Dje/5N/gyuXrjcWQG8JbrZuKB7N6B0LDF+ZRvW5/UgJf/AAQBdsZR2WR42nfuYVLD9yDEV/CNfroSAn1Xmh8XNDdl2pdPbdyE+AlVkv35mZC8FTWDvzuzbWeH8NYTXzFXLOucgsJGzQtUHNBZ/N+xRgFpyT+YX20ZXK4mQHuElxUtuKpwsnGY0jNGqmwsO5AugN4HoDOFfgYy99Gg9u/V/YWJ/BlUP42QYAOsvPGEeQE9c88U+i5pttFHzhmqg4OTAJmHPGwM0Tj37PYeXYsyj7C3BFD/HAPoeYHGz/Oh7CZSab/tc+74oYco4/Odkf71O1D/8Knt9pnyvK+FxRIhR/8rZFKfuZ94+1DS9Lbr+7ooRr+2tCyQi7ElzSlxNzb5blIELwrZnSnOVgz8EVEYa+fcZ7Bi8LJwGG3oSphRMPBbegvdlfjRONN46HopSwD3hqYOeKHlCUKHpDlKPd6C+v4smXPwm+ZyzhBa5O+ZzA1qpvq0uFv+dpHse4NhHjUXa2ZsKe1X2NJip7CCYYqXmSKEUB0OEYiYQ3zD2rfkwwM9MUWmuI6FoKx/wzLv6u5565XIuUZFOZ6jtuoIuh5aCZ1BxE8MKzk0ThTRPKUQBEz4OD0SmYBSGmzFvh+yjVFZ5Lo2JhTty0s6K+uSgswTin/fVWC8fSFL0ByuEyFvY9wkg2epzmS8lEZFkHtzixSJpLE7KCiTST+cyCFfe2QBvtWmwkBCvg1KZXcB4TZPG5dKh9QRyWDSOJVvTf3guSNNPWZRCenI3H9gX5uo7hYLUJT5+nZ1uj2hpIn0/rAtlnBmvPJa7qROSKeHvnmLaGZCo9aZcjMoUTK/XAGWUnOFFrtHHSwM0VZWPi9UfxAKuuwAoFwKLzpB+QAoHdVkWr/K92Brm9mA4g3y7NmvAxKSLAkMElb8LrRQE+pxhS1gd5GJpOATgQVkLEhmRVbeWpQcxU9nOQ4lzUtiHEG7WGQ+qM6/Me+AGUfGpN97KdZ28yp2oDH7mOEYPqiK+31V4SJ07NJ2qBeTiB9/A/CU7E/qsMTvhY7QxlAItMzl4MRnH6UhFnmQe0cBsVgiDumEfis8kxEWRjLSWtQWlyLm70Deq1teObSpnmwJAY75fj86y09+kJpzzyJJAESWyJyabvW7/r70URoaC1a+Fs7cJNGdanIb+FySXfPxthnu6Zim904CkpBwddnRBgS5pAa13X9O/ruvGjAk7kyUSu6MBJzY7Gci6BVxYnOaEmQJQ+T3NxbIzoJ7Y+qLZskJq7O4pwxZHEnZ74MYpa5QepAXj0BGC2OmEwvneCdpg6x536CNjGjCDbmkvNVsIVRZC+DaIUQoPkUQttk8peATtBtDK7hBTkkrH9nRMDZ+YgqGpjGwPV47Hf0pCwhA0/0jhG+RQZcMdfIsfWtIkJVChhwLRiIDzPxvOhm06cFIUhJaj0KkYY6RBMUwNp4cPxIbqVOAlNxHF60STKvme2K5LAnwvDcwvNzCM5Y4D2s6mijX0eQZ27NpriRDNCAl9oFDI2oUpEkvni2FRSaZ5KdbK/yyhFLS3SEUxI/Rsf18ud3lweyjnBIPSbNuH4q2A0QUTt0VRIRKazw/8kjOB9Q7wmE0Hca0pqSMP4VjZx868xI3M4Ic3G8cGZKeKLhGw087RFNy8oYZr4YaLR9IRgosy7C4X2t3xu/XOjgArzQW4f0ITij2oxlh/F+ZveWh1fNtUAMX63JW7bey0z0Zz4+Iu9onSOpgaCNtSY8cwhNxCSMxctmBNyWaAhQbr6S6aT7MtnmUYe6ihBH80+6cfFto2fWRQlirIM372oLvHt9+jPuXAoZuwwKoaazckJYcFxEvvm83MSztqvtnCiYCsFEb/sJHJUIpF2OT/ILnjgSwnBJEQQ8dqTXeXUm/abbJ+Ju35cS5H/0zCM9n9kECM5fIRpBYrGdEZeEIlLvEOVvxS5roO2SaJuyuwTTi3/rk0Rw3xKfuMQbQMpwjxU0pRrWJno1LCKAQrHCCVqO2rD6aUQroZLsrYetFVD4sTPwQmntIhbjZO4D8xLUxscvCp0rnASrIGAIwVvIdgcRSPCLFsoJ3O1TGUxsXA7/mbkkYy+sv6RnoRLHkf2TRRSk0WCIscV2AkDu2SeaWkOd4a993DsRWCEDGI0cRHgyLfR+SlCVmsuNuaJAXTrO6ExGdKFbuP8pUTn8ON7ghJnWsgACY+mElozgIRl84wOJlhWikR6lxaXa2qrPPiE1dqzPpMVKNJCjhK1Sf7TEsSc4Th9q+czS+slzBD4wdmDuJz0QevIqeOf+DuSwr6d1DeQM9WLzSGGym1SM8k510g67otxhuBIoWcjJdiEz+8Xhfg9OrGGaackowuhYmlZS0Z2iXIjX9Kug/NGX7THKuIqBgeIQVLfuBsnKePsBCcJDpovbSBRmcAt/fha0Zm2AIQZJvEp527NMklRQzCRN5iIPaaAbb360mrl1CM5H6r9LCiA+ysl82V4EEAGHqRZxvtP55fWmEWN5JTDHrSOIcFcUURmSkLGkPeBJDpnuq6mRuK5Mzl3HYCRvOJN7cIGEOOTGa0jy02/jUYiLdb8Jt9WaONEb7/P4SRHG5A4ac3LJNdFWrYgASdsUK1qJbwTZrLdAO6MiCdYsKT5UWkmgbY4Vs8cxSKKua4JG+H/10gSKf+/Rkpx0Hz5d6aRCGcRI5B0K3ymFL6Gj2QNaDhcYQcYEkkr80hKyoq+5ZZfe4tBoYbQDGVLQuGsB78lvqIk5JvCnL10ZBkig9SEJloePWLIVaFrsHbcqY5EFvuzcznztRV/d63lk3TlnnR+Svdt4SRqKUvApdZMGu6WAYbkM0Xc6EwJhiu4MvqOGic8omf6ZjqAkNKT52fiiXaa5jKkCGiNRBoFsF/hwt8e4DoGkiZh2HOjgC0d5HZRRh5DjiPH4wQa7gtkAfHdTF4+FxDF8x9yd6tMbMo2inKURLWYC2wOcf7R0pTBE54fCrAMcJGOum+lewx5k4COZUPNPTkvvQw53jycyOfiHLm2lbiSEUgpQJyDFHaG8EivVKAFHOgggbeEACASysFaoVsZJpIPWechEXTzqlszmNe/8ZC24xJQt9dnpOlkZQRitL0h2mvmIES5UIofxzF3l2bOkUsqA7T/JB9WXbpEO1klTXp9mkh1KoD7lVwiS6bw4Z/Or3EcxVfUSFPbGo/PRye4edUAb6OTpHmcGPB3Rco03ssxA05ydOrZ9LmZTuYcX6sWrO19B2haz7k38hC20IkGYrM4FZdMgC+bsgBF+08n6aI01vdrwTQEbOc0gtr9O8K5jZOIhKSTmi60jwTbsSNU2+GALR1rSjIjPMNNsJD3AIQAiYxhWQE+y5TyufaTj8nuOF0+Z0lQFk7ifYh+I8w4TpwSZIViOI0TffSzZET9fimrOl3gRMEmgYtoLwUGDzUE6vUWDlgLwXfCR2ILCX1oguJOnCdDVQFBml2WnOBvmI4ERgBOkRGf5T6mNo1qxGy9BKJ+/2k0fSLjRF9G+TU0FvWmkCQDF4YzTESgzT0e4OBrYSYFwURq5/TVlam24b5RnJdO+srfYl+c6cP8w3NaS8haP11YLE27OOfolxmV4nAM37UQREldI5CYc963h60kJlzuuwwWgfoM0T+rvb7VjJ/6SN6l3B/sRyCrSUG+UPSLPP1lUs8J7eCgHW7biXYJM/FVcdNPttE+mQ4ecCRyRHuBxABfeqM5ZyLOLJbfxAc3GIsHR0LkKGG0mP33fM6+Ni0NLkDisNHHEgLPRfjK+1zQRLhL+ESml8EhjZOIq8RHRQ4nMsGscRJdGObbFPwcdEI4faE/nHkk9UaFAfZXE7nBBF6/jDlwoY4cKfs5YSZ1MCS38Wr9Jgb+nlVef5eq5liPJ5fuFQGLql9hOnAzzonX1MvIGZ+bglwgakRm0Ls2c5eljYz7lN8y91TRXC0GpIsY27lEKPAgRVw310wxr2NH72TkTWt4YhYdeUxxkprWGg9cw0rGdhC45xRlwd9gVp5+4JaUxSudV+ARRg9OayShrnLqTDuXyUihc9eaOz5MObb3vkqcf2l6NH01gKvZs21vhRE4yIaRpVlH+RMLiIUoFfKA8KPU8/M0kP7M7HUe/l0pp3hiaYrV0QR7BlMs9acYlDUGRY2irYGrvcOkLjCpCmxM+7g/6ePW9gDvb/Rxa1qG/jUjSn/JwYqURmarYJ1IqkuUyCTX0TcZLdTjW4TMcFJ7pNho5lYUTggAMg2F4EuEFMdJqkXiG/zA0jeeBRpS8y8FTPwYGYlzWsIsZPK19zhgQx5J26E0WZk/1tEzHYbVibzUVHNwznLQqaJbazbLqY3JzsSITZKiTOJmQtwShhlJyNo57/HkrhlO7d7E4aVN7BpMMe8qncdCUWOhB+wZTnC4vf+zANYnfVzZWMT5B4t4b6MfmCkU6LZaj8OBiJF8UwsnJsVAwlcyE+HFNhEVsGS/DkzY5nBCv9dKe7mk8JWHqFMTTq9OpgjSR6VQlg8093qyEdmJat7hgTSPZG+SYhKARdoaq0hF+hwbN6PtyIfiNrsMT6eb6YTPBQ/UXoWluWMrHXpJIGD9QGgmu8IAzFllPhWAxdLjE/s2cHLvWsI8G9M+7m4PcG/cx4NJD/enPWz7AlXd9FMWwKj02NOfYXd/hr3DKfaNxljqT7FrMMWpwX2c2ncf65M+fnxvGT+4u4TNKpqT6b4hTohy+paJJxPHunohDSJZgkb2FYuTedSVggyxub0PTVfLJ+axpUh4hC9hsPSZlB4tZmrupRv7nNXAq874LzHAEF6Z4eIOWYpAFmTmCeLlc8+ZjB51nYaoBaE7iSQKYHCgxYwZNys04egkoPKpuOnkfcpEVtDBeyz1gZ/Z/wCn9j9Av2j6rL3Dzc0FXFpbxI/Xhrg103GfVPs1vD4Q5ttqv8LJXdt4YnkTBxe3sGswxYsH7+DM6j2cv7sbf3xnNzYqdaQvi7TpXJOZiBa+I/dVXKJ9AgydTj1IrSdNTGnqhb8tnE2ctGmE8Jc+e92npGu9QzZhjeBaGBaa533xhno/kpWwDC0V9XPbWtugvtkxypbfLkDatdLq4Qj0TKjbDN0ED2IeivchVylBJcwE3+4YVf3yIEuQrjp8zdbKFiHuF0WBT+1dxwsH7mJYNm+O2Jr1cP7OLvzp/WXcmxUpcjgRtfPVxbd8rFvTErfuLuGP7y5hb6/Gi3vXcWrfGhZ6Mzy7cg8n9q7h1Zv78N27SyoknRbFyuVorZTiJPXz06BA3iRKTcioaVomE3NhIfqQHFcFrQIntm9Dwl6+5dxah6YjRCZLXS6dR/La/zQu6shZvwSF6WiS7U5MF0yzPPIEgH0sLLIQkkadNcLyNrmIvpvIdUg2uhUs0WiFvsWwDo8MKnzu8E2sLmwBaBjojVt78P27i5j5RKSJyFvOR0m0hfdiq/z9qsQf3t6Db95exif3buLjq/cw6s3wqUO38OSeDXz96gquj0uj37SqO8VJ3aKeCxybWKTZZeFECi1OF9zk1DnE8JlFHJO6Ox4dbZ+19yOZth+kwthZoAEIjORVXy7TUkZpJICk+ReYqJ7B11V7UhBJg+YZyfdRY7nghxEzNhGlaN7wmAu1aKRT4fj4/HzN9qSi0Eyrfsf6aqU1EYJrZ23a3mzdLUJf2ruJv3DoNvpFjdo7vHNnD/7vm8vYro1ABecpEfWL9zzNL7y9gv0mIsvNszMAf3x3EX96fxE/t/oAp/ffx+rCFv7a0Sv446sr+NH9BUiBWKvAEEE+1khyhe/hQ2U21TM2YyutEEArq81jnbzvwIkMCAmc+AxOnGYYBsuAnznM4XxYj+niaHOv7Ze9H0lj1ZI2GTNGASDcrSr42RioZ4DvA75gwLadPcEAAZBMEnsVFAB73zgFIgjBPiKh6aA9S8Clc3VtVLJpz+1opXkEEzsG8GZF//6hNTy98gAA8GDcx7/+aAXvb/WQvBXdigLyv9y8CUlgQAAm9JNC3wPY8g7/6vouvHN/iL/42F3sHk7wc4/dxIHRbvz+td1ttUYNvtXCJz0REXsh0Pm5eXTsl8ZJI/Ta8yEETljFta8iBSkNTzioWyaj9skrhwITk+kVj3uLfq31kmon6YNF+hjx6CYC5y0w1CH6oWGX1kkXTFOSzmzzXD3ZQD1eb56p+wBJIOFvkFHoRfckpGqgzSVIm1ZEaNronOfrIECyBcvABkSui1/tGTntfKitT5fegq7ngP/wYw9wZM82AODSvQV85cMljOsawASI01HMHShOunUC3mHBChPSD6EQj2aGi1OP/+P8HvwHR9ZxdO8Wnl55gF29CX7ng92Y8qixyMGkOOEygFeJcLIWdXahvZNEynDinWsV7XycCDvExEmEoy8KwJWAK5vTfk1fxXjtjRBS+nnOF/JH+X4kAqBCnHnx5KLhvDk4PPX4fvyFUyvojYZwZQFXsrPtgqXCD+HwRv8R+OGGoxHS/JWdr4CQlmJTh+EwCSVBjjbkPKKZ2vT25PI97Bk0THRlYxm3q0X89KMK9oI3dHCCDc7NE4OA41Uwpmx9gSBEeGF/09/t2W4MNns4vLiGI3u28R+fBt5b24vas+0NrW8agwpcMyNhiHDDxAn5Mfo8iRg8SPwmhmNeniRoxEtKi1FNlaAtSnjsxvjgYbw56OFBJUEdGU/5VglStJkn7HEAXe9HEh20n8MLfA1/yHA6f/aFj+Fv/bVPYjgcmHmZxLxiyIv+PDMpIGmMF2jyaJNVgs95UYbfeZ2Z/J1Xoef28dS1x4UL7+L6tW0453Dq9FP4mZUVMbR1pYEXbt3Ry6Fb+KqQrswFcaLkRCfXRX3UVYWzZ9/AxsY69gy28UvPAsePnxApAH6FqGiI0KZzl4GfmCOiORU5IlUK1557yyQtrGmtThEFM0BYVNijripsbO7G//k/DfHgnuWCOLnk4BczxWJZB3HGALLvRzKcLDjIxKdl+snaJVc4lIVDr4yVw5Ig0+peym3I6nDZLq0I1otLj/S18yO6JCh+b+5ZW8FlPx9duYzr167BOYennnoKq6ur6Lp4vms2m2Fzc1MmFl2sCdQFvPQMnzOtazgcot/vB0GSVhM0/b597m1sbKyjLEvUdY3r165hcWEBR44caTcSYkc46T4pyDiRSeEkt1Pasihovc3ZlrLvBCdCeAAVHHolN4YjM6UWjbIEdNTYfB1sM34abIghFNmJ5kotxS0btOVu2ulZsOwzZyxO5FyaWFUDhc5g81lq9W4gh37nDKMz5RpRlhBwzuHOnTu4dOkSAODJJ5/E6upqMje7SqC5d+7cOdy5cwd/HtdgMMBP/dRPSR+Fra+qKrz11lu4f/8+yrLEmTNnsL6+jvfeew8XL17E0tIS9u/fb+KErrpOz2HQz+0UJ/oZjhPrN70mTgfWuBKHrL/o+TIqJ4JmZrXy36WWSq/0XDvxpl3Dq86ZKtanDPB0Sbz1nS6L4DWSNNAtRHfdSyWcnKfVfnt7G+fOnQMAPPbYYzh06FCYrx5DM5D3HuPxGHfu3IFzDouLi52ENu/a2trCZDLB3bt3sX///oR4Z7MZ3n77bcFEy8vLWF5exubmJq5evYpz587h5ZdfxnA4fCicWLDZKU4sIWW1sT7nGI5/J8YvCi3mdcCAuy/tbafdFctKixfLI8lwXnzYpYMmTBaf5TVMwswzgKf3HcWjbjFX0nQxg6XhLOTk2ujLuvfjH/8Y0+kUy8vLOHr0qFib1njW+Ddu3AAAPPLIIzh58mR2rJ0w2Lvvvovr16/j2rVr2L9/vxiXNNGDBw/Q6/Vw5swZ7Nq1K7Q9fvw41tbWsL6+jvPnz+PZZ58V89Vr6JqjpVGsttY9InxLeHHmyWlLjsdkDuJzBzzFgzrAEIMcBoHwreZedai1j7IXzTBgjKRwZqLFk3mnF8sZyLrSauNU4vMx0g19Lvt3HmL0Vdc1bt68iTt37qAoCpw6dcqci56jvq5duwYAOHjwYKePYDG/JvCDBw8CAO7evYvxeBzW1MVEhIuyLPHUU0+hKArcuXMHN2/eDOv8SXBhzTvdJOmysNmJgOT3LWFla8sk5Jk6I07fVMGJXAPnjEP06XdvMUr7PeFWPblahZZhEkBOWlvAtqRXDvjW5b0Xr0rR48wbn/dz4cIFAMATTzyB0WiUEAhfp+VDEMEvLCxgeXk5+V3Pw7rPYbq8vIyFhQUAUdNpJnr22Wexa9euRDN477GwsIAnnngCAHDx4kVUVZXiVQkqi6gtnGgccljXdR1wYjGZZqKiKLL4s+AS5gqWe5KpdgVQdCgPk6rCp0I4WnEmiBGMBKIIzJRENmJOwyOVpBo42u7WSNKfNQA1QXAEiRBosJXlblD9fR6ReO9x9erVwASHDx82GSUNlcu5X79+HQDw6KOPmsGBeZqR5l6ww+zJR7t+/TomkwnOnj0rNNHy8rIZSKHr8OHDGI1GGI/HuNZGIXMaXuPA0uwEd+szF2o6AmkxlYVrjeccbeh12sYdC3mbGqn9bHJeU/akTDsR0bexSMxDkY3coAB8HRddFGm4MxdhomcJUBwJvI/cP44EzqBiGRmtoRFO98lU+vDDDwEAR48eRVmWgqgtQaDnNh6Pcfv2bTjnRJTPEh6cMPg/Pjca98CBA3DOYTwe47XXXsPa2pow57Qfqgm0KIrg63344YeoqkpEyLjQ6YJTzurQa7G0S85/4mPpAJVmHgvvca05+uZKxKZl+3KgFElPPhyyasoFkvF5GdmgG+1CEE80dS2z5aIwOYnDgdMV2eFETgDXEs6KwvHnc3a3ZnIAuHXrFqbTKRYWFnDgwAFzHuvr67hy5Qo2NjZMaTmbzeC9x+rqKvr9fkIEmrA0gfA5h/xKUWAwGGB1dRU3b97EeDwOv7/33nsCZsPhEAcPHsS+ffvEmHVdY2VlBaPRCNvb27h16xYOHTrUGZ2ziJjPmxhARzJzTGCNpXFS17X4bkX7LNMwfs67JfAW0+TiAfKZntnQjA7q0yhZbsn7NvustFiHrasXqAFCBGOZSRxYhXhXj5X0jeNY/eWcWc5IRLAfffQRAODxxx9PngGAO3fu4OzZszsKWhw6dMjULhKvPtHOfI5ccMxmM2xvb4v2k8kEk8kkGfvmzZs4evQoHn/8cWFi0dreffddfPTRR8Fc1PPJmekaJ9Z6NNwsQap/ty4uEK3Qt88wRRT0PLhGZp12V5SVFhRMyljq7G81eFhEPkrHn9NZ48aPskPM86SHNo9yERmtOaxXRmokWu000vQcNjY2sLGxgaIocPDgQRRFISoQqqrCuXPn4L3HoUOHQj7HmktZlti9e/dcYsitRQuM2WyGs2fPYn19Hf1+HydOnDCJ0XuPmzdv4tatW3j//feDBuJjrK6u4sKFC9jY2MD6+jqWlpYSTc7/cg2hcaIFxDyc6PvWbzv1mbmmrcW4Rj6IihA8u/eQV6+zUUgjGbal478j+Z32j3gQL7VBCK5iHbMOCRgi+dQC1avpUHjdAxWPFKHZNct3vMQ5NW2a32l8lrtAe1oNtaWptF3cvn0bALCysoKy7LXtWuFRe2xsbmIymWBxcQlPnjjBatN8eAcrzZGmVFU1Ys2gDwv03mNtbQ0b6+uYTJuzHQb9AZZ2LWF51zKad8e2mxGqSjDRmeeew+LioiBIiqD62mPv3n24f/8+ptMp7t27j0cOjcTYRVFi//4V3LrVMNzi4lInTuDi/jLCCcEmEjPHiaYViTO+1wmuqdPzFG1Tfk6gBRKIVPndBstq76UCQTxtUSZaGaI7Kw60EokWmfF+JGW2mZldXf3An4v9vHd9jD86ex/9/iCYflIKRQBJDYC0PxeJsPZ1ADo/cNJ7L6bpqb6LId1xAiOlyZgnDieRXq5dhwNwfWMRV1+/x8KpTftitoEegI1JgW+8fj8BN81PH6JJ8yN4lOPbKCY34fzMxqfroRqsoh6uwPkavY1LcPUW4HrYGBzF996dArjfurA1yuldAEDV3we4Ah7AoCrhMMX5y2t468ZIwANwKKcj9AC8f/kG3r23J+LLNFqam83ams9dOIkDebbu+JzIvCjyMsvQBL4ZTlprqKpnGG9vYX08k7RM5hyfkzo8MwK9fTacT6H4wuV8JFNyKOLm26UTO7YZaHNc4d7GDL1ecxxU3CkpCRlCXbODS7w35YNkscjUUUIxgMRBLLJsmVjPnc0JDs5PsVo1W8bvTEbw0ypKv/b5oa+wF8CsqnF3Y9YSHkOYihJqAuu5KfZVl1Fi3M6ixMQtoXIDOHiUfoK+34TzM/TG1zAb323nN0aNHu66j2G23YP30zD2/uoSSr8JAKjH93CneAIewGrdlP1vTzzWZ5UgQOeAwg9xAICrt/Fgc4wKvWhKdeAkQDkIh/ireeY3CTninhZOXTjhOI7ykeeKmIvRBpTGWxVmNQ+GaZqdF6Wz+EG2SV99aXVASDdTWXpC8ftzTyzir35qFcPBIEgUrX1q75sy+xZQhXOil9r7iJx2LpwQHVy7nwZCMoUuDQbybD3RdIhI0c/evXsXZ88Ci4uL+MLLj8Q+ELXZvXslzp4FDu4d4jPPriJMWYE0rIdd29vbeOON1zGpJuj3+zh69FhrQpZiblVV4fbtxr/BtGG4wWCAZ8+cwcJoIUptB0zGE/zgB5uhbd9v4q+8vBv9fh+vvvohNjbGePaJRTz++KpYK6H0T390BZubm/j06T7271+JMPXRIlDcw5jRKtPxKBztkDYOccvkkqgt4dI5JzQ5CQFOxQTj2teoqxrrGyP8DwsFbo+lHx9NM07LXUyVifx5sbHPsv+QkeZcrakBE4fZhbPsLEexx0KjvmUITtwuOLoQkioC24OOynNFyjR6PJrivPAt/21zcwMAsGfPnsigNF9QpCoKmaL1IwKxMWIpnBynrmu8887bmEwm2LVrF5555hn0+/2wtrhuj7IssG/fPly9ehXT1nfq9/tYGI3UeYFAv98LoWwAGI1G6Pd7TQEnWwP/HHS6c9izZw82NzexubkZtoZE0zSul2DuW43C5x3HYPhESgPzcMKDOryP6EMpfLd+UtE8gDKcyptTAETDLv3MNWa2bZJH0g95+dEZTCVcq9SO5k/rPEju4qUmVqic95cr49HP5O51RQ/p+8ZGw0hLS0siGmSNqZlSR890+cr169exsbGBwWAQmIi353OezWZ48803sbm5ieFwiLqusbGxgWvXruHw4cNhHlRDd+bMmZBAppC9ff45xJje+xCw2NzcTCKlD4MTSztZONFVJjrUn8NxV1SP0gMiDJ9YV5xgVQwg/JxRMuzqWTfNK9j7/B6Y72X3o/0CDWQdKtWExvuxcju8vbVHxapeyP3NIX1rq/GPaIvBPEHQ9bsOuxOhHzt2LPSv4QcA4/FYMNGZM2fw4MED/PjHP8bly5fx6KOPipC0cw6j0QgnTpwQ/cwTPHRRWHxra0toBJ3HovXwYuSu1EIOJ1byNAfreQyWCC7eRreNJo5iGPodsN0eMaFM0WoSmmnvdZhx0V5MB7QSoTkkdlVAaIRwwFlmQX7deaa3LjKj9F6deWNwwrLWsLa2hsmk8YtyO2uprIgz0bPPPovhcIiVlRX0ej1MJhOsra2JcSwtkpPenAno32AwAIAkoWv1aVWQ7MQq+ElwopnU2nqTMGgSIPGQOU6vSN6LPwqziNojPl/YDpXiwJAQMpfK/uiQolzUTioOdElMV9mMRkJX/RVVGueuLhOFGIlq6/hl9WtJWF0zRrkiANi7d29SBUDXdDrF2bNnBRORtiBfBkBgpJ0kOa216/nSfGjtBA+LeboYxbJAuHlsVUnoOefadDGfDFbA1jZxZkDi3nDri5t+Bg15/X4k9tLiJKAQElKZwIPTP8foFF+wznJb6j2HBAvgFvK0qaj71Jn6rrot7725rcB6Ts+D+4NWeQ8RKd+KwZ+jKu6tra1gzg2HQ7EW2j4xmUxMba5hpc3l3Jp4aVLusjYvWv3ygAGfhyUQLZxYwtPCYdd67B/a/5mWFRSpW9HpyIA9uxXnUM4oztA8NLBLeMz72H6e1uDIsYhTt80xkH5uHiIsm74rKKL7pr+65i/nq1nztdpMJhO88cYb2Nrawmg0wpkzZ4K5ZRFJF4PsZB45Jviz4qTrPjGCZrJ5ZmKXwKDSLfFcV+IrMbVyIXArIMfM3PhDLnpB9mR737l8x3xi4ed8NIsWm5N6XZJG+13aXraYSveTM8lIA/EgBkeUtY7cvC3Tj74TY1Awg/rSTPTcc89hNBolfo5zLoS3B4NBpzmsYacva3sFX6/2SXeCk7quxXYMS4BqrT3PNJ0njOznjfyooM+M2efn3Ah+lufBBqtDxZmO245a1TEGYoEQwAki1xEVDgBLM1j2N7/0vhPLrNO2tt5bo8fUEphC0kQUGnFdjMTXpddA277v3buHqmreYDidTgUTPf/888En4msgSX7v3r3Q17yAixUJ5VFQTpwkTGjtdF/7SNY49IwVydsJTvhfvWbNdLnobj4Y5NPos6ZlU1MZ9OeiFVbEh5RfJDrQWqarYxcG8LnnOpBtAZH/tZhSI9Fy3PVuynlBDM5UpDlon0+XGcT7t/wufu3evRuDwQCz2Qy3bt3C9vY2Xn31VWxtbWFhYQHPP/+88Il037Q/ajAYhB2wek1dTjz/rIUJacl55qTefGlduUBKrk1O62nm0f9yTCiKCzqDDswi4+26Qt/tlam1s+6xaILPPBYGzUuTedEjM4SpZ8OddnolfEf/oaSE98ekZDAvrFxC69A/ePAgMJI179w6eD9W8OXxxx/HhQsXcPHiRZRlie3tbSwsLOC5557DYDAwcyLee0wnE1y8eBEAcOTIkSSHBqR7tXSFgP7M10FrpUCIRazz0hJ83tbVFUDK9Wv1ybdy2KYhM5Hofldo23F6Z/ez/pNDL/g/zurdSET5Di4ilZg0SRcXCbr5X+Jg0ljOxVfCMGLk7hsAOB/9NxNxTiG57SuYFc5ZqwW8x8JCk+WnCge98zMZip11HebH/g/G2IcPH8aNGzewvr4edt+ST0RjaaKaTiZ46623MJ1OsWvXrnD2A5jAotwJr7gvCrlC55piYi48iFFprQuLC1FDcHy1q7FMvJreW8vmYWmCRIu4ZodAgKtzZtvgczLBpzeChmctrRwXgmy6J+EHg4kY32SidmJESM6URJYWs8Zw+YONCh/emqDfVxJaaRmb0STB7eTitW11HbdacMTJ6Xt5LjUPUPqoTTerxry5dfseBnuaM74dQz4AbG00icvNcYUPbm4LQslJZ+ccZtMxtsbxfbLjyRTvfnATy3tXQ0EuvzYe3Ma9Gx+iqqYoe33sfeQELt+eij6tKB1f+2TWEOLd9RnqG9sCB3Tdvnu/Wc90iA9ujhM8dRolHCOMNGpfmzCICGlYVAsoF2iM6KtlUGLY+FAQvkQDVVVhe2uMaVXLoBmbI40decWwTGALZ/otFq16mgyPkdeQ518zRoEDnNF5GMHjm+fXsf6NGyh6vUZKB0nd/O4TYaDP8zZUq6E2SDA5Z8ApeY6cTfUmB2Iil+7mXCxm+OwjwHSyhf/9/76GzbofkEZ+4GOjbbywD7h+d4J//t7tRMPS2I6ZDXt6M3xy5SoGxQzbVR+1d1jEBHeuXcSNq+/jwWSEraoP7x0WelPs6W+h176DdnM2wA9vHMSDD+9DvnHPyndIc+uzB2ZY7AGvXdzA2ddvIW6xbkCz1Kvw2YMNg33pR9vYrKcJTDhOAvw5xnaIE4ZsFRGOB+nnEvkxIlyoZ2LYu65nmI23cWujisGBznC4OUH1ABMjLRHbh+jnGtF3fssDSTFrC8HPP78Hf+sLj6E/6KNwBWzTzket4YFerycQn6tkmJf74PaumH1HpBBQ4V6PMLfXXr2NjY0N/K2fXcTq6oHE5Hhw/wHefPMqnnhkAX/pM4920IwPYeu33nwD4/EMi4uLeOnpM+j3e7h+/Ro++ugyMJlg/3Azad/vD/DYY4/hwMFH8NkifWUKZ1TL7PLe4/XXbmBjY4Kfe3YP/ubjjyW+4u3bt3D+XFOk+1/+8hPQzNj0qV/V0p3L0rDuyjPF5xpmqmt2OlFLf45ZEc7J80Joa0vta1SzCptbm/ijX+/hvbuKNnZ0aasM5veokZxulItacE6Eim7IPorSYdAv0O9ZNVlR85BEresaZdl8bwAnTSzdXveVmoH58LR0uK0D2fn8muOuNjY2cPfObRx65KAAAQCUZZgVemUXwXAmGmNxcRHPPfdcqON7/LHDOPzooXCM8HTabNTr9/tYWlrCrl27wpskmv4t89cHyexc3PLQwLdg2tejLJrnXeHCIu7eabbVr66uole6wJwcJ0W7NSEXZOCwt/A+Dyf8uSbtQPcoWZ7P5dFQdQ0UPYdBj72E2msa90GrpDScuXz6nIza8Q6tLRNwmc9cS3HzkBCWRndyh2bw34CfrGS/K8ytkbsz7dac1XDp0iXcvn0bVVV1npCTizhRWPn111/HZDLB0tKSqFjgGnj37t3YvXt35xpMHHuf5ME4PLtKfpxrtmrQ+RSrq6umnzevisLCSQ7+Gs8WTvh9TRMWDnaWg2TwE5E8GXU2RmH6hUVIw488vNShZZJOxS2lxZizqxFRliXKskSv1xPA78ot0N+dhEetbDn/rvMfuqBUj7Nr1y7s2rULdV2HY4HnEbO+tra28MYbbwQmohC3hfyu5KkVLibY0d95+6X0b/Tvxo0bqOsau3btwtLSUujLwgmHHe/bYjSr6oE/w8exclOW4NKVLLlkvJx7hlGSW5oHAPDt8korFZJpcnEYo1NeLiQUECNoSKLIlZtYr0IRoxtSXhNBV+Jz3neNdOu+9z5snrt8+XLyPK1hNpsl/hf5RK+//jrG43FgIl41kJsbX5/F6HweXTk7XrkwmzUHqzT+aPytruuwP4oOh+yC0f9b2yi0YNB5Lf67fjYNiVsMosPdGT5wzESEfL7JI/HoG6k3Edbmf9lg5rg8JyERbGXU+eedlt8Q0i2tlDMrrGQkf04XqVrPHThwABcvXsTW1hZu3bqF1dXV0O/i4iLKssSDBw9w5cqVcK4dVXm/9dZbmEwmGAwGOHHiBGazWSBovQaLmKzL0szzrhs3boT6PNqCQf1TdUW/38eBAweS/jVR5g7xzOEvyfGoOrudrs+ipZw5KNtqzYRoiYnhjdwS0qb8hnFApDMY0kOpHTlQeDmZ8o2QEngui03/LAaxgNeFvJy05v1w5rbqs7RvQNuWjxw5EioRiFlIqx49ehTvvfce3n33XeSuyWSC1157Df+ur8OHD4ctGLQ+evvgkSNHgslt4Ywu/RI4jlN+8aoK+t1Kns7DCe9b/54z9xsNpcw5EavXTMaZSDMTD1aIWemiVYpiwOhE55jUAJTFlHcBOJNIqSZOBxPmHdhuJRt5e40EbjZayM4Rgba/6ZlDhw5hOBxie3sbV65cEWt57LHH8PTTTycFpP9fuZxr3g745JNP4tixYwKWV65cwfb2NgaDAR55JJ6UlMOJ5Ud24YTPIR9ts9tb68iZhppm2l4U0yANTIeb1sVNLyNIgdy5dpwpnPqt047k3E2n+0jNkGat81rAkmw5wNFnK/rDkaJtawEuhgRNODT3fr+P48eP4+233w7H/tKrKylMTqHy119/PZTxnDlzBmUbXtbMOy8KlbvXxawW7HIBh62treaILzRv8LO0UZf5ncMJh5sOwGhNYlkQXQxlRUS55kvoQxhTbbbYCGMrKLLfjIAb9xdZ7/HBNgdhc6tLBwnpazmQF2NGSZ+LlPE9MVYI0yKsnWyj4MDPldBwpOrwsW5z4MAB7N+/vz1K651kvPX19cBEy8vLgYm6iEGPzUO9mgBzUj0naPjatAaoqgrnz59HXdfYv39/8I0sAuahdcsn0Tj5t7GNwvqNz0/DMLQj359oO9A3+25aW6rQILkoaidu+PQZn+mUf+eTy0jRXB7COqGmy2nVDGgh8c97G4W1oe7UqVPo9/tYX1/HhQsXAqGsr6/jjTfeEEzEo2MCesr0nBfy5e0sGGqN00VwdF26dCm8S+nkyZMimGMxivZF/t/YRmGZfDl4WD5b8xD7S2ae1z8C0C4Lq7pRg4q2hmnHR/NRDQIyumeaeWQWpgSpEakJKBfCNrWLQUS6r9zVZcPnpKxlJg6HQ5w+fRpnz57FRx99hNFohD179gQm2r17N5599tlGEwGmBpmX25F4y29hsAiVM6luT+2uX7+OK1euAABOnz4twvEPo+U4TiyfqPY5J93GiQ44zfM3LVgkeBQaCbBdEx1wcOoeYlu1nh7EJF38w7nWrFjQUQ0e7fPRvwN/MTMdNUy2rGO1UyoSKRgojuM9P/SW7sXhPbVRSHZETNSbcJabFxf6qi1sbGu7XOGiu+gYAbd97du3D0ePHsWlS5dw4cIFFEWBqqqwe/duPPPMM61voBLnbO6SQV1Yg3NOAqSdQ3PbteuJeGhKnGqJbg/IcxG5f9i8XYOii8eOHcfKyqqAJ1lDiUnGAd4+T0cE+xxOPOFRR9YcnGP1+d4HpnNFU1RcEU5avNPx1oG8aw/aCeKKuGcLpkB1cWHmzgYdVPAqWJ2j/eS1LoFiWN+8JyMpy/961rkDProzxqsXN9DvT6CLHAWBdTiVtoagZeTODpACozPj3hY38meDZmLCgX/3nh9RvA+9xXXMNm8128V7I8wWjuL197dbQsk4yow59dyS7x4iJ2c9F+bH8eh4iiKicLZ1D1t3LgDeo7e4ipvjvbj53lrECRtPwioKqvk4kYQWcdJsbkE2tC2FDLig4+O2c+SwTPpr/fGtrU1sTWsExjCDC974PC9MHq9eqnEY4wQV4VMeyuWUWNv3b2zje++utSaDY8iVmPUC2VHyuZZqjQOKEiAIWg2CoH2VjK5SVmBIZhSIMxKAE4iUE3LYhycGEyyXD+Bn27j44TXcmO0BcZ1kgtg2BkeZCghzAJwrIzyUREco2uXEyhx2R91K4XGgdw+P9G8A8FirduP92/uA2xsqfWHjRIwrQKAhmgoPAqI2kam9xlKCI75Zsu1PmOLOmI1v3h812d7ExsR6ZUvO3NQCyFA2cnH6XDuDmfSYgekAu228fvrUMv6Tnz+I0WjYwtEJgiQJRCaLINi2j1pJbC6pyGSrE6ShRbQmeDXD1oTgporTpgObi2d9yyilQ+0P4uKF93Dt2jU8MriBF472cPSJY/Fgf2UeCrQ5F15GxjVkQnRc8mpTn8ESytdzaF7I9v6lS7hypXmj+qFDj+IvHD8eAyk+vmUigpcxIdiLwAgmqc3KQJsyVlEU4lkLH1z4kYadztpDKoUQcoGtQnSOSyg0Zl9VVVjf2MBv/XcF7t+zaBbIM5RAkrLO5D0VbPDqATYrYeZZXJn24xxQOA8H35bvRx8pMo58g4FzzfbnkAxELvwZiaxUjmlX/onaSyeatlGkm/qiAEhzHZ4BtkCBkydPYjQa4dKlS7h65QrW19Zw+vTpUEHA1877cQ5wPblmItaCve2BZHbhGLO1CW/p67bCsO1/ezzGuXPnwsmu9P5YGhto/MEC6UuT6Ts3TvgaskGhnwgn6QbFpm16qGguqCD6LRy8r1CWOnCg6D35bkTxgnnHBZvwkfjEffJA6MU74x4BLBPdUDmCCJjU/uYA4ZE4nn/J5YVyfVsI08jVkbp5iT+6ZyVznXM4cuQIdu3aFQj3Rz/6EZ544gkcPnw4Qb5FjFYIWwuS3Lr48xT4uHLlCj744APUdY1er4dTp05h//79ZttcNNGal8bfw+KEYJiLtuU0t4UPC55izl11c00PiAEGdmsu48V7ve6H+H2yTdh4wt9JtVSIQBkA1lUGdFmZaQ1gArwFzHkEkMvUWyFu3o4/qxHGfy+K5h1GL7/8Ms6fP487d+7g4sWLuHr1Ko4ePWoelr+TMHgu48/nToRZ1zVu376N999/PxSo7tu3DydOnMBwOMyOYfXXNT8+t3+bb6PYiQDpzkNqBaHtc6WBfJ5hWMfC1JuTR5p3WRE9aXfm8gMWAnPXPAmXY6Ic8G2HNz8fvQZONNazzjkMh0M899xzuH79Oi5evIjt7W288847GI1GePzxx3HgwIGQqO2aGyfErjeIO9fsJL116xY++ugjcQLrsWPHcODAgSw89BneFq66YG1pdes5nfN7GJxYwmsn+SX2hVYG6Z54pIwF2P6TEYhrL5VH6pwWYnSJ4qQ6rm6YfwzIOfVraSYrZM0R+e9iGwWQJj91ZYZGNJUTXbt2DR9++CG2t7fx7rvv4sKFC9i/fz9WVlawd+9escFPz80qraHP0+kU9+/fx507d3Dnzp0wn36/j8ceewyHDh0K5nEOTpZg0s9Z5qXF0F340zDl2zC6hJIecycVG8l3n9E+yaDsseTnXKQatB8JmQc057IJeSBWOliTc02Czsc6Oo1IqwohB/gcoqx71qHslvS0mFmPxxnRyrLrPrSv55xDr9cLRH3z5k1cuXIFGxsbuHXrFm7dugWg2c+0vLyMxcVFjEYjDIfDUORKfVVVhclkgvF4jM3NTaytrWFzUx6QsrS0hEcffRSrq6uiPYc7Fxw5wZKDcdfa+Tj6ua5tFFzwdOFEj6XN+9wlgzEdIfDkdhqmN2MBMIMN1iCZySZ8pNpmiNxSz1praSmcM3lyCM+ZHbp9zqbP+V8506ZrzBCNKwocPHgQBw8exMbGBu7cuYPbt5vTieh9rT/JtbS0hJWVFezfvx9LS0tiTA5TvR3FWpPli/GqdQtuOfjbyfJUUM6DveUzdQnn3NiRRnMKYF6OKZMaSvNIYsVo9qhbJo7OMZGpx008O9KWuyyJthNtpQH9MNsodP/cB8lto+iK9vF++ZwsZl1aWsLS0hKOHDmCqqqwtrYWGGp7exuTyQTT6TTMibZw9Pt9LCwsYGFhIZwjYW1Zl+iZH8nUGmpeIKALhxwGBEsOU/1sLjjUFUHtmofJmOJ5I9Bg9mfZdzvKI7GHPec8Sx0y/0gwEQDsDNg555S/48YCkNWfvjePALqiUpph9eZDS5qThLSe0fPSfkdRFNi/f38Sls7maNBtdmntn4N9rr8uc1Vvd8jBVn+3hJrlH1v+mYafTj0k4W6jXXqRr48dXgZTsfXYeaSHiJ+nzBa/OwcURbTTc5pAE6plIuS0lH62c7uEc80Z4awtFVwCCFUOXSaLHldoIAVrzVh6PqJfF4/eder3LsLIMbUWAHruOSffx4fkq14AeF83tNPl1BtzF6/DYeujK7yPCoBX56pbKRPuG1kM3nXkmFhpwBdZXh3+05z00A7ySF2XY01rppmam3UNzKoaRelR1VVgKk+OnENbEc4icEAMYrTPVXVEYEQIWjfMi6kIoIeK6uZv4QpQtXkormx5v0Fv844ijzpYq7wUhcuJoi2kDMWTIIKjz3pnpo8WsEgRSmTxk5eoMWfUZi3NRIjGXPuMrJeDwIcgvFC86CMMgxxs8RGitAxODVaVkGFjOvbdCODyt4LEdSqh1M6pKGpWDcOZlfXNAgJOwDnuKqiqGrPK0CRifvrUWMsPsmj/ofNIlnPWdb/56fvvrmP4jevo9Qeg85l1aaLgPR1NbwG4MakxqWQ1NjEVjylK15FXQxNdOfE8Dcm1En8uXWusAyusZ7w1G89aC4yzn31ynzNSZGK1Sm+0Y+WfZjJZFbkJZmchYl60KoSDGpf359sAkwVjAYO4SDbv2K0HMCyBxWEpcCi1fpCAEa4CIR6+9qjrGabjbdzemLaTrOO4SWSOz9jyj/Lui5FHygUXuhyvdgDlVj22r48XnlhAnzFSXHPTHz9pKEKU+XEARn2HslTbG9jwwsfyUITEbOEIe40LQTyOATrVGvkcE82Fz49L83CbkC76iRovaEN2jhpp8YZwHbtPDI5gNiXCCmSacent1HfEvhxSeDKNQmviZp9TpBMcfNaHFoQByQY8ZxUwnsYIrxNrjnCUdMPm306sqmbY3iqw0C9wb0KLVTQRiHKeVZaed05Xz+a6iISEqrPPMipor8f2D/DCsV0YjYZGvV1LGMIPcWyfT3NZ+Y6uUDh/xvpMz+eiblaW3xpnXjTScpZ5O74GHVzhSV5rTMtH0LmY3LFm1mX1kYOllTeyLj2+lSy3YGn5RLQJNDIIgwn9jwSkjxX9tfeoZjNsbDgsDgpgA2D2J0T96Fwm6l5vT2iRFO3QzJEfxIfnPXyQUI1kzUffLMc4l+jjv/G2cx15a8aZyJImYitQkAt4dIXErdwZb2MxcC5/pedgJS45U+pImzV+LjrJ2+UEVhc+uxK+dPG3Deq/woqh3xTlBc0v/OwYWBLjeR6I6KIRbaB2P9vL/8iZw/qNd26YfEaYOBdF4kjSWXB9CKHWUFo6ZyN2CpHzNE7Xm9atcXjOJDe2lXzW7S0mtULp1qsu9fNWKHteSiGXOtDJXStRSvPSQmMeTnSSPqdtc5aCJQT4b93ak/u0XdZZrm3zd4fBBmqgC/7EaoLmCjKD2fm5RJ8Ow+aqv3PS2EJmV6Y9J2VzBGaVoVj95tp1aRJ9L2cK6jXmiIkTpMUgXczdL8h5ZQAADvRJREFUZVZa67PW3QWrneKkSwvn8JSbnwnTxE3ZicYB5jGaca6d7lSabfGq5TPemBDzgziiuoBrLsFU9fn8idWe/urxuwjMQoYuUrWOlMrNMScUuiR2128581QfH2bBmj9nmbGU28nBJJcbyzFMl2bi9623Tljw0vPllko6HxGmRHrpaN3DXA1vPMR+JBrICnn7pEX0kWwfRwM3p4Es80ebeDsx4bTppQm7q/p7HqLpeWtNXdpsnra14MIva845oWSZdjnt2KUJuvw0DQv9vO6Tlz9ZWncnfpoFazuZbllZOVq2AgeWhUbP7di08x2/WW1jM0sSW8SRc4QtROX60OYJ/a6JSDOyRWTaRLKihxbSLSlpzTP3W5eZx9tbforuQ7fpEmD62XlzsHCSG1/7vTuJOFrfu3DBr9TEzH1OZk4zxsP6TH8OeSR2L8Qn03FzUSX+nTRGzpnNEYuF0K7QK2+v+84R5k4IzhrT6tfyz3LzzMHJ+p2PndOUlibvwgcAU4tbgmMeTixY5WBu+XqcRub1x83u0IMHJH1rrbTz4ALrsIFRajPySF3IIKrfrc+I8fkw7s5MnC4i17Z4zv8AILYJzHOU9W+8vaXRLB/NmpM1Dy1R5/lUlrR1zoXtDDpCps8L574SX4Oer7V2PQ/dPmf6WX3T2nNmmtVunilsadN5Plqg8WTKO9VU1JgzkHy+191YO2idSSdz8ESHGcjRgLOqv7UtzImJAzkHTMu8m0fQNSugtKJDXVoyJ127zEcdOubS1zqLO9cffdYRuK5AhhU+tjSO9mesuVBfOnJp+TMWTqx1WMzC4ZdzDfIm4Dxazpl1tl+lGGmeqsurtqzz5pGVRjmAaabQvkiuDx1MsIhG92v9xgkjpx2sdpaW1YGRXDTLMslya+nS4HptVhsrxGz91e2s57rOkaBrpzjR9zWMcmvUc+H9xHtdtDxPG1nteFuHnmRKxghh+8MOBvQV01ppoMJCjnNpbVtAbgMFSVwc2OyzdkzF85lIVxfSclGvZMnc1AHgufRnNYTW3hk615ram6aWb6pDLC1raSI9BpCJMDLYF86OQNJzJLM5/B2bA7iQ+beIE36/K5pIZ1NY/hvC7NXlHODmGGZisjNYuSfjyOLmWl7cj0FZS0BpidKsDnc3x6ina+EuFSnXlcdk5oHCwzleqlKHKuWwWA9RZs/7J0Cl/KRtcv66F5vxheaDDqOk0rVpU4hxtSSUyEqB3PQftye4QvdlCJTgJNuM3ZyfXaCgg+Pbk1oDDuBQtcwYCbU5tJ7A6lwtYa9xgpR4Hw4nMudj4YTGr73ESXxW40QGQOh7eIlAwEkzzbr2GE/bbTgWLMuRf2T/we/lzbyoIMaT6cF7968cl3zQfO5xVMerwubl38G4LFGWpWkO0QvDqqqC3/VxoLcU+mm2u3j8/tkHuPl7V9DrDxspnAs6OPnWhyAFw0TVIp0LvB+Pt21dwJqhou3Uq7YCEGHsjJlKY0FK5sZk5SYbm7tCRbjH1poQk4YJl/iBsVoC1kEgRSRm/oWB0qmxU5xwPNDwynm3NANNi+PEIzKRwK2EMZQWSi2Dh8AJHY3sa/i6wnS8hWtrM6SXgx/fqYGDf2G+eedx+/K3/5Ny15H/DSjYnJuxewwTYoCiKFCWZfbFXRxRddBoAFDAtaVEP31iEb/ys6voDwbN6zhcu59HEDIRjt13fO0LmYINEIVzzJ4JrwUJyOCMJc2uPMh8JDqnQvo0B2aaalcx2UMDwyxhROdoLUZ4OTxexLOtI1MS8fioUdr7jg/Srsn73B4tBn+iyVriKJiq/M0dYDhxEGd7x3m0vkvGrY5exhycsP5S64gzqgvwIR9pa2sTX/ufS2yu8Qk8rG+UTEh8zeSR4gt4SSPl4v7S+W81Uvtp71IPTxwcYTAYZKMnwYYGl1bShLBsY5qXFU3j/cqx4nuE5kX49DOm79RKRl10ydvE+2xHq+EvJmvhjMz65KTD4RO/ppUfOb8vZ8JZcLVwr+eWKxzt8jtdUQj/UuCEmasWTqxzPXgKAmhKnTY2Zhj0aG5zfKauK/G3hI/kzf54fkLXbhGQQ5jaCHMTtskEtF5ELIgJag9LC2Q+n50gJ0t4rXayBIKY8g7vtT+0+/PsvIyMJDFN1hFGD+FlxnTmHJRDHceKOaRcPo3mtpN9TXpca7tLLrxv4SGBa1dYXpmU8wIPev62MOAM8JAayfCN6DLCFV0ubgocchC7Jma9TJgvlvbM6Ndh6ucBuzrccvq7wqQa8FaUJ4fcnNS12piwyhAArc2CwU4iddY9K3ejYaXnRszFj2Z+WJzwGjoLhl046cKVvrrwTlczBysY9PCX7/glH/djZpveHKb/KXSCidOwUH3qJ/VlnUPH/2km1HVUFuFbSVfejxWS1n3w57qISc+lqiqTCbUpYhGTnuM8prbyPvM0Kj9jLndSae7ILUtwWDjJ4SiHk1zfFpxywtBqI7Xsn8EfirMyPlMeKXNRRE4vhiZGJltd10lcjXQUOaBdwQoOCJ2QTCJPSqLmJFGub/qtLMts0Sj/Pm/eFsy6dqPqdVmawSIyPS/+LK8Cyfk1WsjkBFKOIXMFuxa+urSDhU/tI9JzOXzO+67hIBlPJjse9pIOTNa04xwma8SsN5BzZipEYIvnT+y9LnyB8xxh7TRbCNcOs4V4i3G6tiFYY6WIkfPV7fQ6tabsMhOtfqy15piH1mNpNY5bPb4dpEnhq4XMTuZprceam+5Xv8ViHt3wdlIb6c8PF2zw2bs+l0dymI5OYZpswXWAo7i9B0rA9x0cysQK1bmKhwEAR6jlX2mpaTGp9ne4893lb3Sd2TAvisX76wqM0LpyDJczoXJMrwWNtS595cp2/qw4yfVj4YT7yNZ8NTy4D5ZjXD7vWL4EpExD7kdRXrn8p1N0Xm0ke7DX6Xuk5TJ5pAJuuMJBIQdPp5O9U9e2qZaLBlkOsYVQ6z7dyxGy5VMQwC1/gSN6XoTKktA55spJ/ZwW5ESRM2s0o3XBg6KolgD588LJTq+dRlFzflEOJ2TCV1WlTqaStOyKAcrBYIc1Ql2mnctwanKPc2AmqeVk8tJDvgNV12DlgKkP9siFPWXYF8kzXf5Fl12dI2Z+P+dQW063FhyW9rB8OU0sVm6oS8NbRMaDGryivEuT/XnghK5czi03Lu8/Z3rn6MgWLjktnVplVqFC7vdMHkkzisVESAfyxj09FcOc4VcuZGoBWj+Xk9aWOcL9PG2yzHvnbc4/02NbBEDBAT4vywebBxut4XKw5nPLCZOcpp6Hk3n4sOapYa1hZO2LsgJWucCF5YvKNVk0bDCNGZPI56Ae8v1IOSZRbYOTZEdnNDA4wHOBAA0sTQA6EML7z+2L0cjSfXJEaeLImVJ8nrp9lybSn7tgwH0s7Q/QWnJm6TzTLIeTLl/EYkSNE97nTiKSOlCitV4u8jfPVIx0yiN5JhJhM50VpOg8/MRiyehcxSpTo227mMlk2vlqEQ4ICxG5K+eUcgTkokN6rK43NvDPuWhdjghymtTqp8vX08/tRBtqWFommQXrrn66opDWxTWtdaoR/02PbeHEwsc8nPD1j6daK+nP85RErm3DE0V3Y8Y4equtqfaav65t+93vn0NVVeG1HtY/DRhAbnsmROck5k4AmWM8bvd3hX2tcaxxzb1HhlTXa9fz1WvIwYI/x+eQe7VNLuK5U5zw8XXVA10W0/D++Ny6rIedwHveM957zGYzbG9v4/Idqv5OtUm3O5IPtPF2ReyI/6shbUevOtSDS9uRwo3f+OGHuHX7NmazmfAL5jnavPJ8HgD1FmxLvVs+gpUb64qcafPBIkjLNu8KIvA56nMeckylv+eY39LQ1px5f5YW57nEXHJdw92qCMkJQv6Z48R656w1nrU+fvbGbDbDb//zf4G6ngG24wNJ21aEjz5bfNLwihsd/rR3xcBoCCAXe59zeV/BuaYk6JNPH8KXfvO/xdLSEvr9fuehhBZyuggwHTd/JsI8s2zePR410xog91Isfi/XpzVvzQQ0Dm9jBUFy0a+usHgO3jl86Pn9JDixfD+rzbzIJH/WegnBdDrFO++cx1/8j/5rzKoZitEq6u1bfEXIM5a2yvRv7E495YyUU2E5+zALbng/C4wEAC88uYJf/1/+Hg4/ehj9fg+O7exMENlAJ45s+ALee+kuciLks3TxdSfNgut0DO/D1m9PY3gf23ifQiQT4epkVppLBqKWCxtgYsHDOcDHbe5CE7e/gaQ1m0fiz7G1O8DGCSfotu9cRFDAfR5OjACQZ+tzas58zU71y+fvvcd0NsPXv/5H+M/+8/8V41lT6lYMV1GPb7YtrFe0WBHqeWFwNPQuGWkeE1lTtwinQny3DyG3xJknduPpk49j375Ru0HLs57ZhFnXAYZ8RoowG6KP25kD8XNJyP+nCLPpy6PZA974f5EuOBLpecy/OFNRBIi3pf6yMI7MHCfD7jOiVpQa+gzEzmAamMW1GwVdB1FmluZrH5fnXNgE6Ix0YwRjhGN4RK8DEEwjcOhreK9mZazfe+DDy/fxo7c+wo0H2+Buihuuwo+5RuI4ziF1vo/kfaVNO6uxpdrQ8XvLoeaBEh1EsyPq3Mm8crJwHkBMfbCDtj/JZZFs198cLLqk5k7mUGNnktmC8Txfo2vOmNN2J7jd6bjxt8hIFsy6NFH3uL6e0YvG5jW0gGbF2J36rVOuIU/0DzMub+uNtjshkhzyrGf4PHLXPMFgMfi8v9a4uWd2cmmY5Yioi2Hm4Ud/zglkqy2QZ9yuthZN8eDYPLrIwadrXKAHVyJP+DmAdCGltd9RSvPmoTSb+tzYAbJtQqtMt7uutvQMH8YYN5hhD6OF5jGbhnGh7ltwysDYvLqIwYJx1xpUGw7XuTD2ErY/SVtAmrBJ2xys8rB0rlCrzgkzSxh0CF1XojdaeOTcrBid9tVWCnQNjOxk2aQc4FxRnzo0+kFq4z/MFQz6h2xHvo5uu0Pzx/Rd5jxPY1k+TUK/7IvAN8Fc/S7w6eWYydIVoYklGL4FzS+BVeeCWxi3n73W3Dvt5idsK2D8cG1vP5ieuuVX9smqhQ7GNIUth6WDK4co/eTy/wOM2dw9IOzeNAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMy0wMS0wN1QyMjoxMjo0OCswMDowMOwTjRkAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjMtMDEtMDNUMDE6MDA6NTgrMDA6MDAcCt4iAAAAKHRFWHRkYXRlOnRpbWVzdGFtcAAyMDIzLTAxLTA3VDIyOjEyOjU0KzAwOjAwwVF+kAAAAABJRU5ErkJggg=="></div><span class="fig">MEG-4 Flopi</span>
  431. <p>Egyéb formátumok is támogatottak, lásd a <a href="#fajlformatumok" onclick="c('fajlformatumok')">fájlformátumok</a> fejezetet bővebb infóért, hogy mik. Amint a flopi betöltésre került,
  432. a képernyő automatikusan átvált a <a href="#jatekkepernyo" onclick="c('jatekkepernyo')">játékképernyő</a>re.</p>
  433. <p>Alternatívaként leütheted itt az <kbd>Esc</kbd> gombot, hogy behozd a <a href="#szerkeszto_kepernyok" onclick="c('szerkeszto_kepernyok')">szerkesztő képernyők</a>et, és nulláról elkészíts egy saját
  434. játékot.</p>
  435. <h3 id="parancssori_opciok">Parancssori opciók<a href="#parancssori_opciok"></a></h3>
  436. <p>Windows alatt <samp>-</samp> helyett <samp>/</samp> karakterrel kezdődnek a kapcsolók (mert ez a Windows módi, például <samp>/n</samp>, <samp>/vv</samp>), ezt leszámítva
  437. minden kapcsoló és opció ugyanaz.</p>
  438. <p>Kattints <span class="mouseright"></span> jobb-klikkel a <samp>meg4.exe</samp>-re, a felugró menüben válaszd a <i>Parancsikon létrehozása</i> menüpontot. Majd <span class="mouseright"></span>
  439. jobb-klikk az újonnan létrejött parancsikonon, és a felugró menüben válaszd a <i>Tulajdonságok</i> menüpontot.
  440. <div class="imgc"><img class="imgc" width="363" height="416" alt="winshortcut.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWsAAAGgCAMAAABbt7Y9AAAC/VBMVEUAAAAAATQAATkFADQAAWQCCAwzAQA2AAE6AAA0ADZKAAA7ADozAV45AGhbAgBZADRoAAJkADVeAF1lAjtnAGaHAAAANFkANzcANIIHOGNTKBEAOZA6OAMwNFs1NzQ1M3/+AABdNAAyNoc4OGb/BAVcMzQ7Omg6OZJoOABlOwD/ChJfNWF+NAFkOjuGNQCDMzVsPR9kOmZ/M1hlOIyROAAAWqOPOjgaWYUxWjT/HB8EYKmPO2gAZ7b/JSpVV1QWZpA0Xqc4ZGTwL0I0Ypz/MjRoZgDoOE1lYziDWzIgd3gAedtjZWI9a6e9SoWlXQCkWzGSZQT/QUHTTGeAaVePZziHaVY0fp7EVnNKeKL/SUm1ZwFgdp0rg8v/TFCqY4O3ZjmbaIuSa45/cZW3ZWd5e3ijdUmDgTRag8o3kLX/WlhWiKo5kNv/XmFjia9uiJ2DhIFjkJD/ZWaTgpzCfzVlkNuwhVT/bGyvizWBkZ3HgV2GkKXQhDaUj6VboMGSlJH/dXVdoOKqj5G6kF2mk4eAnLT/fX95osLdjzqEp4Pdjmdlq8xYrPP/goG/mXCrnZifoZ6ynoKMpr3EnGf/iovKn2Vht93JpF5kt/7/kZDhoVqQtpKLs9irraqxs2R8wn7FrJV/wZ6QtPz/mpq1sLB+wcOttLyduMx8weP/n53zql6dwn7/oaTdsHXctWT/p6idweGrwc7BwX+Bz8+9v7zquH6IzfDRvab/rq+S1Iv/tmPNwKirzoPnvIG6xNXDxav/tZDfwYCwzLb/tbaN2bPKxcTgwqK+zMzww4DQzoX/vLrKzMmN3P3MzvK63JL+w8Sa4OKx1/nvz4e029zh0MXvz6j/y8rQ2OLd25HA4sPb27jX2tbB4OP/0c7i4J3Z2///09T+3I3i4b7/2rXf4d6r8PLl4N7/2tvL8Knf5uzQ8MvJ8PL/4eD259S2/7ez/9nx8Kv+6OTw8Myy////6+747+Hv8e7Z/7f+8fLe/9rX///4+/j//7P/+/n//9v///9F6LSwAAAdkklEQVR42u2dDXwU5ZnAxzSH4ZBr0JzEyxXQpnzkqLZHpI2Gqkcq9OyVi6UtiUnxeraaRktTND3rRxCB2BoOIUCC2KNdrySYssV6NF38uNxa1M1eFrmyxCOxWbK6pe5VQtJ1XXZ2fvd+zs7szn5/b57nB7ubmXfed+Y/zzzvOzPP87zCoyDpEuFRCSQ9AqyBNbAGAdbAGgRYA2tgDQKss12EQfo9KIRkffH0RfRxLnJd9c0RixgEoXDSe4U5yr3zFgtCQeTCtlnmXGA9+GeDii9N1udexsAPYuLhj7goImvb7EnJ9tNg1kFL2AL81V7mCXs6rjDnjGITyirUAaxdB48cPPjywZ07I2i2b/mqiKwNhFtsrCPAzCXWmLMadQDrd5/FsgP9lxV74RLhnkqhGWkyvsLRp4AYGqrbm5l+C4XvVzZjsPjnpMomNBM8TxehrcmGXeivVQKSaslXif6kdF8txgtk1qhI4SQvLW+LjRHdFBcjC0gV2Q1bjVrN+uL2A9u3o/+/ene7yJfNMiMLaVv04XJ0iIs+rOxCnx5vySRljQ/c0Owt+WPJJP2pUv5KzKu4zGNApIq7sKXF/HFBX2Wzkq7ShpAivDQ6g7PMrBG2KdvA0GyoznrFDs3abv/tr+zvui6KF0Xx+P/xpYs8NvxvGGmaUPD0Ig9mjUBT1lj/kFIaEFT2k2kht+pMd83YeEv1/C9iy4NYF+O+1L+alkZftGa+Ka6MLIiiy8heG2J3vfzyy653ye8/vfSnANaEjo2w/rASX83NrP8jI44u/lMt7dUxsPZ/KUr7KrtUheXKcO3ZbEPC9412186VX3TZ8U/xV7uPiyrWxHrMfp/aEHycCPUVZmaTiQ0pDlCz/ySmgvMsJmeDA6M2BHGUDAUarHlpVCX7UrGWm2pvzm7Uocd89tNfXLmOspYu/nb7uyrWyI4q+kbOmvx9EwLXTvpGoTpgvFwtI6JdK7UKeHEx7tjQCPwLaEm93DfyL156Fen+SM18U1aZUE2G77l6L2N/eSWyIXY+JPnXUGO5tPVJOTXEi+0e3X76DpfLdUYe/8V/bwesI7EePPOzwcHBM9mzb3nMGgRYA2sQYA2sQYA1sAbWIImzdoGkR4A1sAbWIMAaWIMA69xjfSZOAdZxsI5vQA+s41HUOFnnriSTdVbq9ZkUlY3jQgbW04q1rUiY+1PqoQOsU8vaOwc7hQ2pWdtC/gmsFXXtvVQQPvNemE1OXvOekjXlaIuN9clL0bUQyxGiDYSP/CjkzgSXfTKq2i9c+2RgJWlkfejjb7pcD94QPWtf5X2/QzQXrhUKuiTbYuGqSdvCz2NPtPHFQsEe4m25cLEgBwyQVs7POeo6edk72rW/oTryM/5GT13bEAA4oLCibBC+EDwfauAfEYsmn/V1RyNtEsBaGkeUzbZZeyTDog8r90jt1bZZ+xFiX+X90vgc6kU8HKDXYRXpZCjW8hpFiZMhWJ+//J2ojh+XvRD5mFPDWlaZq4Wrjp78+Gp8NbLfqwp/fCn6M5A1ksNlwzJT8kn9LSXuRRzI+sK19/03b8N16mpkHaguvvHxVcJVVwul30fXVf2TQawRQLzJL68VSt87RHcF6fVDwkfuDmK9F9dV+CJugF5EL17zHt72Hab0fCPM+SRdRY7wW2j5SV6UHj0vmhLWhwSh9A9kH96Y+SPXoWv47/2qy1bJ2lsyFBNr1yl0FEfpcf7h2rtdp+Y8QVnP3E/qR/aFK6aS9YXrfkl3he4B/vHGNb9HJ+CydwLtNSI3cz8DWd/geugG3NCPyDduyL8Rsh8PNVzgR4jPJjotrCg5erloivQatYv2V/gII+D//Ql0GgJYt9/kkfWa2RACmtqQV0vM0uFg1rgPLvXXy20sxkxI1j956AaXhl6/GLgrbyAuc8lFElCWaCspffQk1hZaL//0b0RX8mov4OUhiqbIXqN2yKlkBPjv83P2B+u1bz3Sojep/npsuBfE3tqVhZOkb5TahYLbFn1QKbtKy3uMwMltBLE+dMOao1r2OmhXcOFTqwvf0WZNVffCdb/m9fJP/0Z0pX9P0PIXtYumZhxyqrgUX9n+M8t+n7/8qOvBUg0bEut940M3IYvK2qA25FVU9V4/6/NXl76nMQ558kLgriAbMuco79wCWdPS77kemtfg4jbkPGlIsRFe6a8WL39CbW540dSMr69CV9Mp0lvQMyv/fvBSYV4yWF9Yg68F1yl/34h7oNso699fi9SovkF7fE02OY9KsF1BW6BfDdo2hDXgOjmTd4DoDJKGFBvhlS7lETbwouzoedF8fR5y/m/egXv09LA+JDTA8xB4zgesc4t17K8ppt17mUTf5/hZg29jigRYA2tgDQKsgTUIsAbWwBoEWANrEGANrIE1sAbWwBoEWANrYA2sgTWwBkkD6898Rv4F3FLMep3866Z1AC6lrL/9beXvbydxHyJOmxJbMF/us962TfrONiTSli3btmzb9p3vJG0XIubApxneow7my3nWWw7iWVCY7ET/k7YHkadNiTGYL+dZnzl37tzpc+fsg+fOHRk8cxr9fCH2xsJOm2JbIlxlxlOmzJ4kPxVnQxXMt0QRzLdEDuZbIpR58oX1V76M5Cv48yurv0x+fzn2xsJNm+IjCz319yzvYj/924UL5rsiKJgv11k/8MDabz5AhHytldY+8EDsjYWbNoXMX1Jg9hZX85+SxCYwwBJDMF+us969S9q8e/Ou3eh7165dm9GSXbvjZ601bQqbv8RWRKxIcP8YfTBfjrP++Uu7Ahdtfunn8bLWmjZFwgYBm5c965vpTz+7sMF8VwQF8+Uu68HB3/zmBfQPybM/U6546fV4WWtNm1IyOY47xHYyOcp4QN+oCuZbogjmW6IVzJfDrC/65Vk169cTbj3rp/JKL+vfXLx4+otEAlhLr7/+UiItp3falFxhjWCvRHLx4jPKkcmuXf/xcwkkmaxfkFm71Hq9effu3ZsBYNJtyEoN1tLmzZsfAIBJZn3fSk3WkvTNb64Fgkm1IS4M+sgRDdbS6tVAMKmsz2HULtcRDdbSpz4FCJPaN65buY6subgjePu/AoRJZX165X0hWYMkkfWzeMy3hd43AusU6/Wzzz5DJ0tHArxSyhoEWANrEGANrIE1QAHW+c96B0j8AnoNNgRYgwBrYA0CrIE1sAbWwBpYgwBrYA2sgTWwnnas63HskJBE/39DgIN77sc+J1GvvSUhIlE042kjyvrbmgNqUccVyQFewDpR1r4b/7gsbHRz/up5tKwNRUJBl23hqsKhxcLcMjy12lUnKnEYlw99fh+ZmPrvLsRTkZIJSc2hz49ku9m33GxbSKctJZ9Yr+n0bLiRPai+YTJ3Gy5AwqKnoV4jKLP2+yr3SDzKeZjrtW32pLdkaLZZaq8Oim8OlPYuqb3ZRsqyT1TPh2TaQTO3KHIYIwmL9kw31rZPClTfaJSsHOVMr/n6LkO1ck3o8C4fjtMNiHce5hbb34iywHRj7Z2zXw5NlpRRzvTTUL3erFwTWmw34zD/pzVZKxqZ1qxLzNIPscphG2Ig17zChkjexTiKnNiQgPjmIBOCByHtt2jakFd5I4pQ6GnIWvphkTCPXvpFuG8cxz2gl8Qlk8/6Zsk2j0zIPR6+b1xOjHLRXDJt6Tw6eancN5JGPqgsHPLPazrNWAfJ4aA7G++nJ2OCEt/IfNqxxnH4gV2fgSSlANbwPARYA2tgDayBNQiwBtbAGlgDa2ANAqyBNQiwBtbAGiR9rCP6PcX0FNpWVI3f75Z5SI5roUsyCII/I3vESSLyXq/j8MUJ6btkm0deo5Xx1Qb8Fs3AYEecJAJYa7MOtclas2S4hZ8K33Jl6uWIk0RME9Yh/Z6IDhOPp7C+S+yE2RYdbpbWP63MyS4LnyQC9DqM3xN1MPBF47uEV32wDK/G9hq/MMcWm9gQPklEysTtdjscjlELFVNfXxuScvzRtkBLWtvKF5SXkwK9fUjQRg4HqiTlrMP5PQ0rZwwI77uEzsCNP662qfUaT78hVPNJIpIlojjhdFit1v7+Tix1dUEwa7DUdiDZqkfS26GWWry6KvgctOjElLIO6/ekZB3BdwlPvDGvy6a21+S3j08SkQBdt9vpGDOZ+nW6lpaWAEKNra06nQnJmMPhdBOJsk63e8rhsDgsel1rayuuqs2dWtbh/J6UNiSC7xJ1tPQPU/A4xFvMB31x6fUU1t5+vX5rzYqKchltXV1bZz8So9U6OjEhIglSezdeJooa68JeLaKYahsS2u/JxpyUpLC+S3LfyF1bi6gaG2RbFBtr0e0cNRm7m5qaZLxVVbVtfX16i8XqZDorilMTjtFRVFCW3l6jrg1t1YRNShX9Kl+AFzS1dHej+tCHnpQcJTI1kQDcJNw3Hs7ojA7OUYu+r0WhwgvK61p1/aYxGYooiVNW06ipo0/XrbOaEDVkNhxWo7G/t2/UalRKd4AQ6GobXVHRiHrHvl4T7lEnEugak+P3lBYRndb+7ta6WoZgxb0dfXrU9TmdzmDFS0wX0dZOIhZUP+41Ozqaampk69TZ3d+P2nWL6dDr9Irbjbo7fSfv6ypat/aaHHEcaaKnGhstvU6HOsgKPiBpaWnTWd1R70o2sxbdqPNvlY1Fm85odUyJWbBf4oQFdbv6pkaq7FVNer3F6XTnJmtxyjFq1PFur7Gt12h1uqXsE6wNfb1tbdTCN3UbjZax0NqQdawRZksnv0qbOvWmsansv/sWxyy993LVqNGj28usZy06TB1VvOvT6x05QFk1QrLqO1gXWtVtDTbj2cLaPTVm7K7hN8EWhyjlqLgtvazzrO01iVnHWnQaW2SjYRnLWcz+AxrtpEPTql4xi1g7rbo2+lSoqcM05pbyRURLHxlAVXSKWcF6wqFvZPcHfWNTUr7JlJXYxMYObkoyxlq0sqfGNTqrU5TyUkQHeS5Y3mbNCOt1RL5x+60M9O133rEun2WMGMhaZ0ZYo/+ObjYwMuarQisOt5+Y7ar+TLAWrXTM0WiZynfQhLXYQfXKkXbWTmo7KjrzWKMF9WWsp899jWlmPbG1gtmOfNblANZG+vBsNK35nkR6hmv/Ab9lbCdeT5LkJUlyyFuaqJKykJLNamcHXkd4lyrvsjD+WSE8rgzV9I0o//bdOEQaVi5/Wu134Vu+NIA17ZwsyfDFifpeiozxVujFat+Nk+0IgrcY023vYjVFVxspFZgiitYRyaWqvSvMGQzJ+sZJ5XezjbOWlw8FsL7xz9WsdbHYkOSwJmOP8t5vSNL90j+/7/d3IupG8mKUTEbLOrBpVkcEl6rQih3S48qG9nXS/40AsxemiuUq1niBmjUbc9WIifs9RUdIEsnZLbeI61RnCW+N1Y15QixcUjhUJCB9xGagDP/5eWwNbAuXCPdUUn8Gv16jMgXEFjVLrI5ILlWolFwV3Zq045E9rsjCemyFuuj6QDVv1tAv26J/xPvovzKV9voOK7XW5VYpGX5PUQkZ+FQ46fhaDQKrGz7mArNtltlX2UXcH7pIa2beLF7FEBYRd6lhtgsflEzaZk/SOiK6VKFSNlYV3fpD0o6He1yxXFX191R2aaatwnZDg3VRl9oNRlA8FPk79kytQ5SS4fcUjTjw+KN8VNJiTdRNdmVQJSfyMAUnyxXqShIXkV04wdSd1BHRpaqdeQEpDwB7B7HVNpqryltczX8GqbWmXntCsHZsZaTv7Y/2Hj2C31M00k+uI4fMWmVMsbqFYO29wiw3G8iaJ5aqJ8l5SB2RXKq8y3hV/gPA2s1W22iVpH/VSFtFusPoWbvZYG9BkzX6Z08R/J6ikboA1pJ/HMLVje61yoZQDx6Dtl6T63/2EDI7BCpV2UguVe3fZVXRrd+v5JcUtSF8YX0z/TkZpNYhWX9A9lRmLTr4O+kVVjGGZ6ph/Z6i6xvpC5caP2s2vqZbe0uGZI6o+jK/6SDFtFl7vMX+vlFVRxiXKsyeVkW3Zn0jWY32BS88UVmNijXT9cHdFqm8Opi1B+3IXK7Xor6VPfG5XfkgIj1+T6PkJJfrRZl1RDGkybkq6e2If9nHfYwbp1SHmx6/J7GXw46KNVKqcPkUkybJb0cc65cdpDodAaqVpuchHHbvnXn8IES09MmugHXWKUlhMtP7rmCUmbDu0fzkPGXsXsFBr+jjjzEzw1pyjzIz1tLvzjPQTqOuVhF2oHDRyhBrrNt6aswqtubLU1VRHLN0NMqcaztMo6L6XUGmWCMNuL2D+Y81dVtz/MXMxKixu0n27Kxq6TUGexBlkjV+KTTWx8KEytt0Roc7B4GLTou+w+8RX9GmG53S9vjOLGsid97q39MVt3/9n3LkXfod37jz61+7dcWKCv/O33r718LufSZZyzI1Zuq81x9LqDOastmJz+0YM+laq1SBI219Y7FdlJn1MZsw6Ttqa/xacm+n3jTqzJ73vqLotFr0ujpVmGN5bUenyRqH7csC30nRYenv1al0pqm722gcdU5NhYp7SW23KlJfe0XPR7u/mrZOi2Mq7hFr1vhfi+6JCZOxv7utrlx1eB04OJmGf6a2eRIxarH09enaKirUcahVTS1G0+hEosF32RfDgaOwLHr91oDjXVBejuNDO3GEqNEiR4jGdfwiDnnBMmrtxyHUjXV1teXlC4IarGns1ButzmRdRNkbm+SeGrOMjY2NmnSdLS3lmtH55VhaiXTqmJhM+LMfR0Ob9CYqRlMvXdmNSra0tNa21mhXSOusamxDNSRgLHKOtRo8UkEi/brOtrq6ugpMeUGiUl5RV9fY2NTZ2d2r68Yxi0jVceh0ijqDHM33RGL3nQ6Hw4rTU+CIWr2+jwlOQdFNvtuaOvs62pigJd00M4XF0m/BobxOd3ofzERkvQMkAckHvc5JAdbAGliDAGtgDQKsgTWwBgHWwBoEWE9P1ndNM8ko6+mlysAaWANrYJ1G1jhA5qfJbJwGc6c/IF2OIs9a1t45ZhxvpTi0hCbcvosFc2ciIJ1HkWct62CyCU1rfheN2c5IQDqPIs9a1r7K+36HozHLPCwk/fMCm35jWDXDRmyNZyYgPevt9fhaHCrOtWl41n55mgLVDBvxseZKmZ6A9FwYhxymUaSKkHQpaNaH+FmnMSA9B1iToFhVSHqirDMUkJ7lrNtv8lC99vpn2EicdaYC0rObtQ8H6r6JQ895SDqffmNYNcNGrI1nJiAd7hs1xZDR2T6mD+t0BaQDa3j2BKyBNbAG1sAaWAPrlDQO79HBPyQNAqyBNbAGAdbAGgRYA2tgDfcy4BMM9+jAGlgDa2Ct6RMcjR9IVL4i2HcSu44l5ICZr6yDfYKDscbgJXwXnecCWEfnE5ww60Vru4B1SJ9gyUb9f/HUVJPMLXh8sVCwh3gqLVzMvIQ93k/uIWXM7dWSVN+l4RJ1l+T3z1tCKqMVL4ljFoT8s9fUJ3gWnVZmj9RebSNuwb7K+6XxOU/Lro6Y4f9+0swmehqeHWI2FMLas77LJldGKtaaEmp6jkOYT7DffVTlXSeznvXX1fJET/Vd2j5ilDWewEhVpdaUUNOTNfVLjMh69v/4ZxsyVK83h2Yttd+iZj17Euy1widYki97AprakFdLzNJh2YZgn1wfmb7K411c5gnD2ltcJldGKr4fbAj3CWZxWjbcC9qoWzDpG6V2oeC2RR8wL2EPdqsm01fRWVVD9Y0e4n+N+sMy5tvuGYe+MX7xfnoS7hvTw9oQKmICWMPzEGANrIE1sAbWwBpYTwPW8B4d/EPSIMAaWANrEGANrEGANbAG1smWZ6aZZJS1fVoJsAbWwBpYp4819WPqAtbpYI29OQ4nzU8Gsx6Y2YM+5o9o717sK/KLdWw5+CKynlE6EiVS5R/ThPVh7ncXT2rgYNbzV2/KY71+RvEVh73mTmZxpQbWYP38/BFEbuBq4coTAx9bJVy5Svjq6ksese+bIVyyiSAduOzE25ejf8/Nf/5jq9FCOyo7r5RtwdadyE7UZz63A3/t+NyZuPR6fHmXMqds4qxH1iCkby19xL7x+oGZ25D9xv+I2pLzYLefva5nn7AJ//H8THQOSNm9pXQLvi5btZzApqjjsSGG6iSzfnvZ8wSqrOL03ycEoZSwtn9p05oNN+9rGPCXkj9H2LqsNSIINkMdX9/4R9n5Nyms7RtvCWY99NFtXK/t+76wbGjZtzZpsmbr7FkMm6GOh7VvuZk4/8aVGliT9dt/wSzCgIL15T32B5lev/0XDfY1yDYzvqQs24Kvy+Lu8cyZbLlvJKZ2I+npShUGZP7IgzNQB0hZn126yb7ver8uD8wQPjufbsHXwT063DcCa2ANrIE1sAbW8L4xS983wnt0YA2sgTUIsAbWIMAaWAPr5AnEgUF8YzoOF1gDa2ANrFPL+odFwtw9wDodrNvL3pTG50TOexWlKwOwDsN6eZTpxYB14qwZQpZJdZVwz9qCPfyb5k4lKVH3VApl0fiNAOuIrH0s+akZ/1s0zL5pGlTqUDkMep0k1jZVdk/5m8QcKPPXAuvE7XUI1iQNqg1YJ3UcckKRSdXPmqZBHQbWSRxf016wzBPImuZOpXqNc6pC3wj3jcAaWANrYA2sgTWwBtbAGljnK2t4jw7+IWkQYA2sgTUIsAbWIMA6q1lnNlwtp5uInXVGwzCfyeEmgDWwBtbAGlhPE9Z7ZwhX9oSofGCGIAgNycgXqQXiwRnC3Eci1xdti2FY77ukJ+qqwpRJlPW+wl/QlKgh2+XJyMLuCk3xFBOIjaW/sB//6BPpYL3mcw1ZwPrsdRhzqNxWrN2BqFjHCIK2bE+HXp/9218vG8k864HLTpDP5z6GE27i5JtX9gzQRJwqvSYr/LtC0nPaj18tsFyejywlaQ9Znk++eVgQ/DzS0jQhqJwBdG6pqkXaUOjaI7AeuBmfWJJYdOijPfiYlc35K2dlUsaa5s+7/LnLemjCTYyWJOIcYfa68DnE+i2yYoRvcJam51x6NzICPXY5pyrP88k3j4q1vzFFBtABVYtvkYb+PXTtEVhv3GTf2HCWJBYd+VIDTgqoao5UTpqjyUdTrtc0FSTuCy95Yv6IEizJg0pW9PgXjfjNOM/lGZBPMlrWLGMfTwgq16Jo8Xl5Z0LUHp712aWCXPkIO4vq5tgoQHHkqbTX7EAoeQ3Wl51Qd5f+vXyb5/KMkbXCXisTgsqfihYTZD1wM26NcTx73b/NH3k7oDlZ51LKmoxDts/sGaA2BF1PysORWb9FVmjakJ/wXJ6yDYmOtWIcokwISmvZp2pRZUNiZ70RD0I2fpUkFh2xb5zXgGymsjla+d1y8tGUsWbj64F5JOHmcdI3BrMeOS73VPhiu36Al0a9CsnlObQU2XU5z2dUrPGGlzzCSssJQWkGUNQ3HtfqG+Xaac5sVdrsUKzpBUSs0mfxxniAq2yOVk6bo8lHNSpP5n1jqhNQx3hTt/f6lDeRuXv0bGK9Rgh9JwvPQ+B5CLAG1tOJNbxvhByf4LMAAqyBNbAGAdbAGgRYA2tgDayBNbAGAdbAGgRYA2tgDQKsgTVIVKxBUiVBrEFSLsAaWANrEGANrEGANbAG1qmTv0+W8AqT5vjIK3whWZKHrJPl0CuzHkyOZAPrpJAB1sAaWANrYJ1R1iwxDI7wO7u0IX7WJM1LbFkpIrM+8PAR1d/HHn4th1nzxDCYxpeuj1+vaXh1T5JZP75jZ/6wlhPDIBphwr4jsmZpA5Kt14/9lxpuTrPmCTRODMzfW3gifnvNYYbIuBIn62M7Bx87cuzhxzf8y2v886ktg4NPHcxN1iwxzImBGXNnbEqcdYiMK8/Hx/rAwcEDO49978jggS3s8+FXvvca+pfjej2zZ18CNoSzDpNxJQ7Wj2/YsOEHryC7gRjzz6cOHtiS+/Y6/DAkKnsdLuNK7KyP4Y7xsWfUrA9sefxIDo9DtrNxSMhEdVGPQ34SIuNKfDbkAGZ94FGVDXntlcd/8FoejK9Ziqu4x9c8S0xwxpX49PoxrMDHNjz6+IYfvHaMfiLtfmon3Dem6r6RjvPk0d4rYYZ9wDqprA9s2AnPQ+B5CLCG9zLAGt43goDPArAGAdbAGliDAGtgDaLBGiRd8v/3Gh2MLsG4DQAAAABJRU5ErkJggg=="></div><span class="fig">Parancssori opciók megadása Windows alatt</span>
  441. A megjelenő ablakban, a <i>Cél</i> mezőben tudod állítani a parancssori opciókat. Kattints az <i>OK</i> gombra az elmentéshez. Ezentúl a
  442. program helyett erre a parancsikonra kattints, és az adott opciókkal fog elinduli a program. Ha szeretnéd, akár több parancsikonod
  443. is lehet, különböző opciókkal.</p>
  444. <div class="pre"><pre>
  445. meg4 [-L &lt;xx&gt;] [-z] [-n] [-w] [-v|-vv] [-s] [-d &lt;mappa&gt;] [flopi]
  446. </pre></div>
  447. <div class="table"><table><tr><th>Opció </th><th>Leírás </th></tr>
  448. <tr><td><samp>-L &lt;xx&gt;</samp> </td><td>A kapcsoló paramétere "en", "es", "de", "fr" stb. lehet. A megadásával egy adott szótárat használ az emulátor, és nem detektálja a nyelvet. Ha nincs a megadott szótár, akkor angolra vált. </td></tr>
  449. <tr><td><samp>-z</samp> </td><td>Linux alatt alapból a GTK függvénykönyvtárakat futáskor linkeli, hogy a fájlválasztót megnyissa. Ennek a kapcsolónak a hatására inkább a <samp>zenity</samp> programot fogja meghívni (a zenitynek telepítve kell lennie a gépeden). </td></tr>
  450. <tr><td><samp>-n</samp> </td><td>Mindenképp a "nearest" (legközelebbi pixel) interpolációs metódust használja. Alapból csak akkor használatos, ha az emulátor ablakmérete a 320 x 200 egész többszöröse. Ez utóbbit ki is kényszeríti ablakos módban. </td></tr>
  451. <tr><td><samp>-w</samp> </td><td>Ablakos módban indul (alapértelmezetten teljesképernyős) </td></tr>
  452. <tr><td><samp>-v, -vv</samp> </td><td>Szószátyár mód. <samp>meg4</samp> részletes infókat fog kiírni a szabvány kimenetre (valamint a programod <a href="#trace" onclick="c('trace')">trace</a> hívásai is itt jelennek meg), ezért ez a kapcsoló terminálból hívandó. </td></tr>
  453. <tr><td><samp>-s</samp> </td><td>Strace mód, rendszerhívások listázása (csak ha DEBUG támogatással lett fordítva). </td></tr>
  454. <tr><td><samp>-d &lt;mappa&gt;</samp> </td><td>Opcionális, ha meg van adva, akkor a flopikat ebben a könyvtárban fogja tárolni, és nem használ fájlválasztót. </td></tr>
  455. <tr><td><samp>flopi</samp> </td><td>Ha meg van adva, akkor automatikusan betölti az itt megadott flopit (vagy bármilyen más támogatott formátumú fájlt) induláskor. </td></tr></table></div><br style="clear:both;"><label class="btn prev" accesskey="p" for="_">Előző</label><label class="btn next" accesskey="n" for="_fajlformatumok" title="Fájlformátumok">Következő</label></div>
  456. <div class="page" rel="fajlformatumok"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Alapok&nbsp;»</li><li>&nbsp;Fájlformátumok</li></ul><hr></div>
  457. <h1 id="fajlformatumok">Fájlformátumok<a href="#fajlformatumok"></a></h1>
  458. <p>Habár a beépített szerkesztők elég királyak, ennek ellenére a MEG-4 mindenféle formátum importját és exportját is támogatja,
  459. hogy segítse a tartalomkészítést, és ténylegesen szórakoztatóvá tegye a MEG-4 használatát.</p>
  460. <h2 id="flopik">Flopik<a href="#flopik"></a></h2>
  461. <p>A MEG-4 a programokat "flopi"-kon tárolja. Ezek olyan képfájlok, amik egy igazi flopi lemezt ábrázolnak. Ilyen formátumban menthetsz
  462. a <kbd>Ctrl</kbd>+<kbd>S</kbd> leütésével, vagy a <img class="imgt" width="32" height="16" alt="menu.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAQCAYAAAB3AH1ZAAACJUlEQVRIx9XUS2hUVxzH8U/uvXMzY8bBRBHRIhotbqwbBRdBcScWLCIoRQulVMVNoSqYhSWibkQXirv4wFfRgguXomALpV0UFyo0hS5asPgIaLSJ875zJ13cCNlYdeX4W53/efzP+X/P75wub9BHnx++Ag9/GNrmLdS7cXAr9M6dtwn+Prfnf9cF3rO6Xjew4eD3F+FlrbEcfjn29cp3SbzuwOUaFKLgJ7hxaPunHwaBfWdv7YBqkp6BsdFHA7Ckf9F8iHJxCdI0LcP40yc/Qnex9wZMTk6WoZKkCyAIo4+hMTE2DOcHv9jdmQS+O3FuFfTNX3QbCj0zu2FGLoignrbDqYpA0myCQhw1od0VxdBMElApT/wDvbP6FmakHg/Dvd9HvoVLR/fXO9MDd+//kUKc7w6g3c76W62sslyYnblWKTchXyzFUEvSe5BWx1dAGOay+flCAHEYTMK/Y08HYWDNwPGOIBC9agzvXT8EN0/uCLK7bIGeGXmQTqFIkhS8rNZD6Cv1gGKx8AnU640AKrXMI89fTLRg7pxZESRpe1lnvoJfT+9sQLXWeABBEIQQ58J+aKUZgTgKTY/L1cZvUCrmV09P/GK8ehU+G7y6DW6f+vI+5PPxYhjYdabUGR4YubZ3KxTzcQxPno1vgpG/RusQhUH/lAeqU/HM7Cds1+CrI9d/hgtDmxdCLgqbsH3o2uj0jSpJewssXTz7T7hz+Zu1HUHgP3tdu/uzdE93AAAAAElFTkSuQmCC"> &gt; <samp>Elment</samp> menüpont kiválasztásával (lásd <a href="#interfesz" onclick="c('interfesz')">interfész</a>). Be
  463. fogja kérni a lemez feliratát, ami egyben a programod neve is lesz. Ilyen flopilemezek betöltéséhez üsd le a
  464. <kbd>Ctrl</kbd>+<kbd>L</kbd>-t, vagy csak simán húzd rá ezeket a képfájlokat a MEG-4 Flopi Meghajtóra.</p>
  465. <p>Az alacsonyszintű specifikáció <a href="https://gitlab.com/bztsrc/meg4/blob/main/docs/floppy.md" target="new">itt</a> érhető el (angol nyelvű).</p>
  466. <h2 id="projektformatum">Projektformátum<a href="#projektformatum"></a></h2>
  467. <p>Kényelmed érdekében van egy projektformátum is, ami egy tömörített zip a konzol adataival, benne kizárólag jólismert és
  468. általánosan támogatott formátumú fájlokkal, hogy a kedvenc programoddal vagy eszközöddel is módosíthasd őket. Ebben a formátumban
  469. való mentéshez válaszd a <img class="imgt" width="32" height="16" alt="menu.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAQCAYAAAB3AH1ZAAACJUlEQVRIx9XUS2hUVxzH8U/uvXMzY8bBRBHRIhotbqwbBRdBcScWLCIoRQulVMVNoSqYhSWibkQXirv4wFfRgguXomALpV0UFyo0hS5asPgIaLSJ875zJ13cCNlYdeX4W53/efzP+X/P75wub9BHnx++Ag9/GNrmLdS7cXAr9M6dtwn+Prfnf9cF3rO6Xjew4eD3F+FlrbEcfjn29cp3SbzuwOUaFKLgJ7hxaPunHwaBfWdv7YBqkp6BsdFHA7Ckf9F8iHJxCdI0LcP40yc/Qnex9wZMTk6WoZKkCyAIo4+hMTE2DOcHv9jdmQS+O3FuFfTNX3QbCj0zu2FGLoignrbDqYpA0myCQhw1od0VxdBMElApT/wDvbP6FmakHg/Dvd9HvoVLR/fXO9MDd+//kUKc7w6g3c76W62sslyYnblWKTchXyzFUEvSe5BWx1dAGOay+flCAHEYTMK/Y08HYWDNwPGOIBC9agzvXT8EN0/uCLK7bIGeGXmQTqFIkhS8rNZD6Cv1gGKx8AnU640AKrXMI89fTLRg7pxZESRpe1lnvoJfT+9sQLXWeABBEIQQ58J+aKUZgTgKTY/L1cZvUCrmV09P/GK8ehU+G7y6DW6f+vI+5PPxYhjYdabUGR4YubZ3KxTzcQxPno1vgpG/RusQhUH/lAeqU/HM7Cds1+CrI9d/hgtDmxdCLgqbsH3o2uj0jSpJewssXTz7T7hz+Zu1HUHgP3tdu/uzdE93AAAAAElFTkSuQmCC"> &gt; <samp>ZIP Export</samp> menüpontot. A betöltéshez csak simán húzd rá az ilyen zip fájlt a
  470. MEG-4 Flopi Meghajtóra.</p>
  471. <div class="hint"><p><span>TIPP</span></p><p> Az egyik teszt eszköz, a <a href="https://gitlab.com/bztsrc/meg4/blob/main/tests/converter" target="new">converter</a> használható flopilemezek
  472. zip-é konvertálására. Az <a href="https://gitlab.com/bztsrc/meg4_advgame" target="new">advcomp</a> fordító pedig <a href="#kalandjatek" onclick="c('kalandjatek')">kalandjáték</a> JSON fájlokat tud játszható
  473. zip projektfájlokká konvertálni.</p></div>
  474. <p>A projektfájlban lévő fájlok:</p>
  475. <h3 id="metainfo_txt">metainfo.txt<a href="#metainfo_txt"></a></h3>
  476. <p>Sima szöveges fájl, a MEG-4 Förmver verziójával és a programod nevével.</p>
  477. <h3 id="program_x">program.X<a href="#program_x"></a></h3>
  478. <p>A programod forráskódja, amit a <a href="#kod_szerkeszto" onclick="c('kod_szerkeszto')">kód szerkesztő</a>vel hoztál létre, sima szöveges fájl. Bármelyik szövegszerkesztővel módosíthatod.
  479. Exportáláskor a sorvégejelek CRLF-re fordítódnak, hogy Windowson is működjön, importáláskor pedig teljesen mindegy, hogy a sorvége
  480. NL vagy CRLF, mindkettő működik.</p>
  481. <p>A forráskódnak egy speciális sorral kell kezdődnie, a <samp>#!</samp> karakterekkel, amiket a használt programozási nyelv neve követ, például
  482. <samp>#!c</samp> vagy <samp>#!lua</samp>. Ennek a nyelvkódnak meg kell egyeznie a kiterjesztéssel a fájlnévben, pl.: <i>program.c</i> vagy <i>program.lua</i>.</p>
  483. <h3 id="sprites_png">sprites.png<a href="#sprites_png"></a></h3>
  484. <p>Egy indexelt, 256 x 256 pixeles PNG fájl, mind a 256 színnel és egyenként 8 x 8 pixeles 1024 szprájttal, amit a
  485. <a href="#szprajt_szerkeszto" onclick="c('szprajt_szerkeszto')">szprájt szerkesztő</a>ben csináltál. Ez a képfájl szerkeszthető a következő programokkal: <a href="http://grafx2.chez.com" target="new">GrafX2</a>,
  486. <a href="https://www.gimp.org" target="new">GIMP</a>, Paint stb. Importálásnál truecolor képek is betölthetők, ezek az alap MEG-4 palettára lesznek
  487. konvertálva, a legkissebb súlyozott sRGB távolság metódussal. Ez működik, de nem néz ki túl jól, ezért inkább azt javaslom, hogy
  488. eleve palettás képeket importálj be. Szprájtok beolvashatók még <a href="http://www.gamers.org/dEngine/quake3/TGA.txt" target="new">Truevision TARGA</a>
  489. (.tga) képformátumban is, ha indexáltak és a méretük a megfelelő 256 x 256 pixeles.</p>
  490. <h3 id="map_tmx">map.tmx<a href="#map_tmx"></a></h3>
  491. <p>A <a href="#terkep_szerkeszto" onclick="c('terkep_szerkeszto')">térkép szerkesztő</a>ben létrehozott térkép, olyan formátumban, ami használható a <a href="https://www.mapeditor.org" target="new">Tiled MapEditor</a>
  492. programmal. Csakis CSV kódolt <i>.tmx</i> kerül mentésre, de importálásnál kezeli a base64 kódolt és tömörített <i>.tmx</i> fájlokat is
  493. (mindenfélét, kivéve zstd). Továbbá PNG és TARGA képek is használhatók betöltéskor, amennyiben indexáltak és a méretük megfelel
  494. az elvárt 320 x 200 pixelesnek. Az ilyen képek palettája nem használt, kivéve, hogy a szprájtbank szelektor értéke a paletta első
  495. elemének (0-ás index) alfa csatornájában tárolódik.</p>
  496. <h3 id="font_bdf">font.bdf<a href="#font_bdf"></a></h3>
  497. <p>A betűkészlet, amit a <a href="#betu_szerkeszto" onclick="c('betu_szerkeszto')">betű szerkesztő</a>ben hoztál létre, olyan formátumban, amit sok program ismer, például xmbdfed vagy gbdfed.
  498. A módosításhoz nyilvánvalóan inkább a saját <a href="https://gitlab.com/bztsrc/scalable-font2#font-editor" target="new">SFNEdit</a> programomat ajánlom elsősorban, de
  499. a <a href="https://fontforge.org" target="new">FontForge</a> is tökéletesen megfelel a célnak. Betöltésnél az
  500. <a href="https://www.x.org/docs/BDF/bdf.pdf" target="new">X11 Bitmap Distribution Format</a> (.bdf) formátumon túl támogatott még a
  501. <a href="https://www.win.tue.nl/~aeb/linux/kbd/font-formats-1.html" target="new">PC Screen Font 2</a> (.psfu, .psf2),
  502. <a href="https://gitlab.com/bztsrc/scalable-font2/blob/master/docs/sfn_format.md" target="new">Scalable Screen Font</a> (.sfn), és a FontForge saját
  503. natív <a href="https://fontforge.org/docs/techref/sfdformat.html" target="new">SplineFontDB</a> (.sfd, csak a bitmapes változat) formátuma is.</p>
  504. <h3 id="sounds_mod">sounds.mod<a href="#sounds_mod"></a></h3>
  505. <p>Az általad létrehozott <a href="#hangeffektek" onclick="c('hangeffektek')">hangeffektek</a>, Amiga MOD formátumban. Lásd a zenesávokat alább. A zene nevének <samp>MEG-4 SFX</samp>-nek kell lennie.</p>
  506. <p>Mind a 31 hullámminta ebben a fájlban tárolódik, a patternekből viszont csak az első használt, és abból is csak egy csatorna (64
  507. hangjegy összesen, a 64 hangeffektnek egy-egy).</p>
  508. <h3 id="musicxx_mod">musicXX.mod<a href="#musicxx_mod"></a></h3>
  509. <p>A létrehozott <a href="#zenesavok" onclick="c('zenesavok')">zenesávok</a>, Amiga MOD formátumban. Az <i>XX</i> szám a fájlnévben egy kétjegyű hexadecimális szám, ami a sáv számának
  510. felel meg (<samp>00</samp>-tól <samp>07</samp>-ig). A zene nevének <samp>MEG-4 TRACKXX</samp>-nek kell lennie, ahol az <i>XX</i> ugyanaz a hexa szám, mint a fájlnévben.
  511. Rengeteg programmal lehet szerkeszteni ezeket a fájlokat, csak guglizz a "<a href="https://en.wikipedia.org/wiki/Music_tracker" target="new">music tracker</a>"-re,
  512. például <a href="https://milkytracker.org" target="new">MilkyTracker</a> vagy <a href="https://openmpt.org" target="new">OpenMPT</a>, de az igazi retro életérzéshez ajánlom
  513. inkább a <a href="https://github.com/8bitbubsy/ft2-clone" target="new">FastTracker II</a> modernizált klónját, ami fut Linuxon és Windowson egyaránt.</p>
  514. <p>A zenefájlok hullámmintáiból csak azok kerülnek betöltésre, amikre a zene kottája hivatkozik.</p>
  515. <p>Egy hatalmas adatbázis található letölthető Amiga MOD fájlokkal a <a href="https://modarchive.org" target="new">modarchive.org</a>-on. De nem minden fájl
  516. <i>.mod</i>, amit letöltesz onnan (néhány <i>.xm</i>, <i>.it</i> vagy <i>.s3m</i> stb.); ezeket először be kell töltened egy trackerbe és <i>.mod</i>-ként
  517. lementeni.</p>
  518. <div class="warn"><p><span>FIGYELEM</span></p><p> Az Amiga MOD formátum sokkal többet tud, mint amire a MEG-4 <a href="#digitalis_szignalfeldolgozo_processzor" onclick="c('digitalis_szignalfeldolgozo_processzor')">DSP</a> csipje képes.
  519. Tartsd ezt észben, amikor külsős programmal szerkeszted a <i>.mod</i> fájlokat! A hullámok nem lehetnek hosszabbak 16376 mintánál,
  520. és a 16 patternnél (1024 sornál) hosszabb zenék csonkolódnak importáláskor. A pattern order lineárissá lesz konvertálva, és bár a
  521. pattern break 0xD le van kezelve, az összes többi pattern parancsot egyszerűen figyelmen kívül hagyja. Továbbá ha több sávot is be
  522. akarsz importálni, akkor azok osztozni fognak a 31 közös hullámmintán.</p></div>
  523. <p>Zenét be lehet még importálni MIDI fájlokból is, de ezek a fájlok csak a kottát tartalmazzák, az Amiga MOD fájlokkal ellentétben a
  524. hullámmintákat nem. A <a href="#general_midi" onclick="c('general_midi')">General MIDI</a> Patch szabványosította azonban a hangszerkódokat, és a MEG-4 tartalmaz néhány alapértelmezett
  525. hangmintát ezekhez, de a helyszűke miatt nem épp a legjobb minőségűek, emiatt a saját hullámminták betöltése erősen ajánlott, ha
  526. MIDI fájlt akarsz importálni.</p>
  527. <h3 id="memxx_txt">memXX.txt<a href="#memxx_txt"></a></h3>
  528. <p>A <a href="#memoriaatfedok" onclick="c('memoriaatfedok')">memóriaátfedők</a> hexdumpjai (amik jellegükből adódóan bináris adatok). Itt az <i>XX</i> egy kétjegyű hexadecimális szám, <samp>00</samp>-tól
  529. <samp>FF</samp>-ig, ami az átfedő számát jelenti. Maga a formátum egyszerű, ugyanaz, mint a <a href="https://en.wikipedia.org/wiki/Hex_dump" target="new">hexdump -C</a>
  530. kimenete, és sima szövegszerkesztővel módosítható. Importálásnál bináris fájlokat is elfogad, amennyiben a nevük <i>memXX.bin</i>.
  531. Például, ha szeretnél egy fájlt beágyazni a MEG-4 programodba, akkor csak nevezd át <i>mem00.bin</i>-re, húzd rá az emulátorra, és
  532. ezután bármikor betöltheted a programodban a <a href="#memload" onclick="c('memload')">memload</a> funkció hívásával.</p>
  533. <h2 id="egyeb_formatumok">Egyéb formátumok<a href="#egyeb_formatumok"></a></h2>
  534. <p>Általában a hullámminták automatikusan betöltődnek az Amiga MOD fájlokból, de a hangmintákat külön-külön is importálhatod és
  535. exportálhatod <i>.wav</i> (RIFF Wave 44100 Hz, 8-bit, mono) formátumban. Ezek szerkeszthetők például az <a href="https://www.audacityteam.org" target="new">Audacity</a>
  536. programmal. Amennyiben az importálandó fájlneve <i>dspXX.wav</i>, ahol az <i>XX</i> egy hexadecimális szám <samp>01</samp> és <samp>1F</samp> között, akkor a
  537. hullámminta az adott pozícióra töltődik be, egyébként az első szabad helyre.</p>
  538. <p>Betölthetsz MEG-4 Színtémákat "GIMP Palette" fájlokból. Ezek sima szöveges fájlok, egy rövid fejléccel, és minden sorban piros,
  539. zöld és kék numerikus színértékekkel. Mindegyik színsor az interfész egy adott elemének színéért felelős, példának lásd a
  540. <a href="https://gitlab.com/bztsrc/meg4/blob/main/src/misc/theme.gpl" target="new">src/misc/theme.gpl</a> alap téma definícióját. A témafájlok
  541. szerkeszthetők még vizuálisan a <a href="https://www.gimp.org" target="new">GIMP</a> és a <a href="http://www.gpick.org" target="new">Gpick</a> programokkal is.</p>
  542. <p>Alapból a MEG-4 a <i>Raspberry Pi 3B+</i> GPIO tüskekiosztását használja, de tetszőleges beállítás betölthető egy egyszerű szöveges
  543. fájlból. Ennél az első sornak "GPIO Layout"-nak kell lennie, a második sor a board neve, a harmadik sor az eszközfájl, a többi
  544. pedig egy fizikai tüske - GPIO regiszter offszet összerendelés lista (ahol a -1 jelenti azt, hogy a tüskéhez nincs GPIO regiszter,
  545. például táp vagy földelés). Példának lásd <a href="https://gitlab.com/bztsrc/meg4/blob/main/src/misc/gpio.txt" target="new">src/misc/gpio.txt</a>.</p>
  546. <p>Lehetséges még AdvGame 2.0 <a href="#kalandjatek" onclick="c('kalandjatek')">Kalandjáték</a> fájlokat is importálni, habár a kattintós felületű játékok szöveges kalandjátékká lesznek
  547. redukálva.</p>
  548. <p>Továbbá betölthetők PICO-8 kertridzsek (mindkét <i>.p8</i> és <i>.p8.png</i> formátumban) valamint TIC-80 kertridzsek (mindkét <i>.tic</i> és
  549. <i>.tic.png</i> formátumban) is, de a beimportált forráskódot kézzel kell majd szerkesztened, mivel a címkiosztásuk és a függvényeik
  550. eltérnek a MEG-4-étől. De legalább a többi kelléked meglesz. A TIC-80 projektfurmátuma nem támogatott, mivel az ilyen fájlok
  551. felismerhetetlenek. Ha mégis ilyen fájlt szeretnél beimportálni, akkor előbb át kell konvertálnod a <samp>prj2tic</samp> programmal, ami
  552. megtalálható a TIC-80 forrás repójában.</p>
  553. <p>Exportálni kertridzsekbe nem lehet, mivel a MEG-4 sokkal többet tud, mint a vetélytársai. Egyszerűen nincs hely minden MEG-4
  554. funkciónak azokban a fájlokban.</p><br style="clear:both;"><label class="btn prev" accesskey="p" for="_inditas" title="Indítás">Előző</label><label class="btn next" accesskey="n" for="_felhasznaloi_bemenetek" title="Felhasználói bemenetek">Következő</label></div>
  555. <div class="page" rel="felhasznaloi_bemenetek"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Alapok&nbsp;»</li><li>&nbsp;Felhasználói bemenetek</li></ul><hr></div>
  556. <h1 id="felhasznaloi_bemenetek">Felhasználói bemenetek<a href="#felhasznaloi_bemenetek"></a></h1>
  557. <h2 id="ui_gp">Játékpad<a href="#ui_gp"></a></h2>
  558. <p>Az első játékpad és joystick leképezésre kerül a billentyűzetre, és együtt működnek. Például nem számít, hogy a kontrolleren
  559. nyomod-e le a Ⓧ gombot, vagy a billentyűzeten a <kbd>X</kbd> billentyűt, mindkét esetben mind a játékpad lenyomott jelzője,
  560. mind a billentyű lenyomott jelzője beállításra kerül. A leképezés megváltoztatható szkenkódok MEG-4 memóriába írásával, bővebb
  561. infóért lásd a <a href="#memoriaterkep" onclick="c('memoriaterkep')">memóriatérkép</a> fejezetet. Az alapértelmezett leképezés a kurzornyilak az irányok ◁, △, ▽, ▷; a
  562. <kbd>Szóköz</kbd> az Ⓐ elsődleges gomb, a <kbd>C</kbd> a Ⓑ másodlagos gomb és az <kbd>X</kbd> az Ⓧ, <kbd>Y</kbd> az Ⓨ. A
  563. Konami Kód is működik (lásd <samp>KEY_CHEAT</samp> szkenkód).</p>
  564. <h2 id="ui_ptr">Mutató<a href="#ui_ptr"></a></h2>
  565. <p>A koordináták és az egérgombok lenyomott állapota könnyedén lekérdezhető a MEG-4 memóriájából. A görgetés (mind a függőleges, és
  566. ha van, vízszintes támogatott), úgy van kezelve, mintha fel / le vagy balra / jobbra egérgombok lennének.</p>
  567. <h2 id="ui_kbd">Billentyűzet<a href="#ui_kbd"></a></h2>
  568. <p>A kényelem érdekében számos gyorsbillentyűvel és beviteli metódussal rendelkezik. A programozáshoz szükséges összes karakter
  569. elérhető egy <kbd>Alt</kbd> kombinációval, függetlenül attól, hogy a platform milyen billentyűzetkiosztással rendelkezik:</p>
  570. <div class="imgc"><img class="imgc" width="694" height="256" alt="keyboard.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArYAAAEACAMAAABxpsUrAAADAFBMVEUgaWQAAAAGCQUPEQ4aHBkhIyArLSoxMzA0NjQ3OTY4Ojg5Ozk8PjtAQj81SzRERkNGSEVISkdLSUxJS0lLTUpNT01QUk9TVVNWWFVaXFmhTB1cXlxTVP9aVP5fYV5iYGRhY2BiZGFKbzxjZmNkZmRaXv9maGVpZ2tsaW1pa2hqbGlfZf9sbmtvbnNucG1ydHEzkQpagEx4dXl1d3R6eHx4endWiUV5e3h6fHlzdP97fXp8f3yBfoJ+gH1/gX6aeXqAgn+DgYaBg4CChIGEhIqDhoKFh4SJhoqGiIV8ipbTehiHiYaIiod/g/6KjIlOqSqLjouQjZGNj4yPkY6Qko+SlJGVk5eUlpOCn3fQjyKWmZWomVeMnalVuTmZnJiUlf6enKCcnpuhnqOeoJ2QpLagop94tGyho6CipKG5np2kpqOlp6SUq7yhov+pp6umqaWoqqeopf2prKjQqUusrLGrraqOu4mtr6yvsa5yzVKYt8yws6+ytLGLx360trO1t7SivNC2ubW7uLxy2FSGz3a4ure5u7i1t/u8ur75rYC6vLm7vbq8vrurwtC9v7zBvsK+wb3/soG/wr6/vfvAw79z5UiH3GvBxMHXw4DGw8jBwP7DxcLExsO3ydXFx8TGyMXHycb0wYDKyMyA6VbIysfMyc3Jy8i40rXoxKyC61nKzMnOy8/fzXvLzsruxbTMzdP2yH7Mz8u11OrRztPN0MzO0c7R0dbQ0s+M8mfV0tfn0K3R1NDA2OnT1dLU1tPV19T80oz/10jH2+3W2dX007nb2NvX2tbW2PzZ29jK3+3e29+f94Hb3drZ2//c39v+4FXx4Xn72MXP4vLe4N3i3+Pf4t744L3i5OHl4vrc6dbn5Onj5uL66Xnl5+T65Mbm6OXn6ebr6Ozo6ufl6f7p6+jq7env7PHr7urs7+vt8O3y7/Tv8e7z8PXw8u/v8f/18vfx9PDz9vL49fr09/P1+PT2+fb7+Pz4+vf5+/j8+v76/Pn++//7/fr8//v9//z///9HnSWdAAAAAXRSTlMAQObYZgAAIABJREFUeNrsvQ9wG1ma2LfcPzOn2pmMlB1RknXLEyOFO2R4hLM4hjJrQDNExOG5YCQDkseYvmMWxyikxcsWUl6YSAohXesQ2SNhXAWHuHxpGGhP3lXiGrft9nQVs0aBvA1rGd5YgR1zEF4GZgjRhIAaDKIG0UU0+09V3uvGnwbQf0BJ82+X34woEXj9ve9979dfv379+ntfO/naQSqdPryopOpy+JWQo8+3spSBHP7iSeolilFdX/vaUTqTy2UvKrm6ZL8Skvt85UtmzpegxS+1t76WTKO/8k1yEXuf8zB1FbnPueZL+UrK11L5F8X2Ui7lc8c2KTF6ie2lfKWw3c8hRgu5bD5f0JaLXLlbT4LGM0I+T2CdtP71Hw1waD2j8nmkIQtV0Y0fN0ohL1XXamaukNeXnNqFSP0E1znt5d+zedooHmh6ue4pdYdCTxmNBgvIV5Kn2miMwcisUa/+Uci8XCaTV+mXhj4q5PI5/eqlflRgCyWTzx3HMT2J4pvptgbm0PlJoKcpjAN4quQPCSwSDWtKBOxmc9mTWFhXVXQznc1ndnEsHKlJi6oodZCj1U6veERXeySehoUSIKwnGEhCbyZBSFcTeAyRzFKRqE6Lw3hc1cP5I4WnoIYWATsnuexxXLctofDmyUk+u4djEb3WkEnYgUbdhyeUgGXiUV1usNgRPKV2cdQx2sVAMpeBrg6EKqLaBrBXOztlbHPZ3TnL0P1hTRkaHB6f3G6P22X78NDQfS2BX43Y3DncYRm+PzSoLcO2uaPEjHX4/v1h+N+QulisU9vHS+NDjRU0yuDQmM2vEo1S8w8Gh3XkNyxWO55z28z3dcXiWM75bPd1VQ2PPlg8iU2NDg5CSzWKQE0TMwkVaoHkqYqr1Jxwf2I2tT83MqhjJOy+B1Ox46UHg3qdPHzfavPlvaj7dAR2n6vuzbQL1Ss3oFUQOFbHftY3BHXqOWhshMzGxoaH6geqMGgZXs00YEvn53sDERzTjhkAx/rnMm1gS29dXwxH8WBISyIg6nojOjgSwHDt4ADj4Hqnb+kuFsHDAY2zD8NwgPXNYdfWogBTVNCoyQ9rsfUctJq+dtMfjoaCUpvVQhCMcBYL/oYbugXTvihEws5OossBo0pIoxgGIzK+ehWbNgVQuNEKJxE84u9ytZ5eh0MW1M5AQP24EBaBnlpzdQfCsqdUBWqImGZCV71REMaCikuTUoJ4BHN0g86HqPuCOt3nfoOqhVu3OYDjmGaADIaDIfsEdc8D68S0jINtDy32bZvcsAlBLQTR52vdoDHaHvcECRIHsarEm4TCARnpP2on3M7PUgTAqHhMQyKApBauWwEBwi3VVCUGACBWb/eHCRDF4zGNctAogJtvumFhXEtTnIoAQNqwVmx71gERAVvqdkIL4HG4pXMRNobQakoMKqfA9Jt2ggARApqt1pQ4FcUpYvmGOUKCMNBysNTiYG+uxc64hSAJPKblzngUENTq7d4gAXDYmLi2p6Lmm8skoeOpWBiQhOPanFH3EdSio4rt/kCAIKNaDtqOUyGCBL/29jKAHtLs7c0oAYDN4cApEKE2NdpJ4ThFLc82YpseJkgqnGOqctYkn0Zg9eOH7WA7jZEgkmjRUJXyPgZPkA43BcDmqVYhJhOAvdhpgc0J56GqMqsmdBQWcrwOfwTSioMbypTpOE4QK8HWwcxdxEmORarLLcKUaWggsfgN2N9YktUSJhElqGDHGiCju6WyeltKzGGAAuSVGQB5yGs5+CwP3QJM2Zbbss0lyBpZYivea7EgA91N3ByC1IcLZS07aRwQ5NS3SYIMpssadp7RcUCCtQ6oL6rdfWdS941UzdwdgK2KfFJudnvNPIATlKVzHYaflKbK8laUIB9ef0hQeFxDD9R0BCOn35RRYps/tJAkCUSWpos0W+bPyzwUUagL7ENgawfbwjTEBKO54qf0M1bgGQEqEpRyGoBnXoeHBCBRZmj6GcPTn3IcyzcI6weA6hyDPYKL50w+X2JPaVZoEpGAmhyvwUL+87PTQvGZKLIM11RM/BgnibVAq6H3KIIIiAK04LTMFEo816R9D8Ye19dhswNlFtpZYsvQBLGxFFcIw5DdEQBE9Ihln3367BSqK543tZjzk2Dz1VmSIDaRh2mGO6VLgnDe2GQMkmVuHYJvuuG5+yHLFAvPihzzKdtkJi9Ad1I3h6HyKFSep0uiwLEiDytQdJ9IwXNi+goFT3C2XMrRdFngYEGWVZTheeQpfwdOkmGaZ+gCzbIc7D4mz4gKM5kArMpSxXZrACqmWI7Of0rzHIRLgA4twn7gKtXHobrRN6GNkQLHFnO0yJUZ+BWMFiLLFlnYqbCzDzCSXLy6AOP2AX/6CZ0/g58JvAiLCKzAiZzIi6JYgBE70NeI7ZGMbfqdkbHJPC8gYsWGLroYtqHimdtisSWElItuxrZUx5YjrGMPQolRCxB5dWxRZ6THLaOu3JIVcFrYAj9PT46NzRZYejHNNxVKQXs0sRWy46OW+Zx3xHEstGBLVbFl5i0jjsODSds+2wRkASMq2B5zgbFRa2TROuY4acGWkLElP+D3Rq0WT8E9jpWbTlR9bDlqzDKycTQzTrKa2EbEE5vFssSwWIzPztsfq2Mr0FMjI9N5Lr5yxhC+RmyjFWwxmvWMjUzsCEeuIrM0IvVhVc4asI0jbEn2iX1kdJEWOGaFTv1gxJmuG1nFlowU2O3xETcNeYZk8fAnz7p33AzfgO2+sDY8Mr6JwgOMP6LMoSzq2EIEcDHhgOcKu79OMgyFZcQXwJaZoMqnQnry3qkethurp0w5lEvez3ENXcgpsd1HRiU3D205PWxNqWJZKAeuJ8WLYMufWE5KTGnqiGZYbWxp8w5TLs1SuyFG0ML2CfPID8cWZSYw36wJYUtJ2G6Km4ulcomYTg1nhYtgex7wMKWy2522nOhgm7TTZbYc/F6YXfPGJ8oa2JoO6FNhzzJZjpumBQ1sGQc4PS2nJ7vofbw4TSrMLLdiSzH7liy9vLmLkb2ke5UJTp8eBbfYZmxLlsf0TIDdXk+lKaJA+JJlG+4oN2L7sTiPnSbspa11nEkel+PFvY2EkNvAi6JQgOO1JmxzR8PwzgMXktbH+xl6dm0uDVzLa0rgLjhIeMbY1pMnbAof/lQHW3bdtf8xz4pHg+nmnkad0TlGkSTO7z9IJGmO3bcW0LVCVMc230d8VGD3nff3hYthO/DTj4p0n831TNDDNprM0KNzM0leM9qmy4/cqTTP5acyoga2gNoU47PJVDk+GR89abp2iGFCB9uzwOJ+qrwQY0e2NbHF+QPrfoo5ja2HTpcSWXNaFVuO7if2C8Lj8Azz0zWnWrQliDBddvg+yrAf4/fznMguRhS2sgGqBVs2YUoczMceOMleELDF90DWuTaTbMb21Obajz1OTK/OrptAeMLlOJkAdrYR25To9CSBbX8qMLjnAiVLzLExm1tyz6xwQk4F2/Qwuh3nkt8xDcxnnOvxgjPFMcpx1IWxneg2L7FixsLoYCus3zQ5ikLe5WM1sX2P37/2fUtKoO0Tx5BwLWwLN3vM0fLyLix5MWyv9w9tZx9lZjFRG9viQI9pJdvzczBfFjWjLbt02zxTFGIrcOwmamIb6zSNZTOu4bWicBFshQD0VGHNFuzWwVY8uGayJMtiMFyaTeaGDjWi7S3oKYbfnyqL789qYPtp2dFlWmCFjKUklCOTWcEI2xsm8xLjiDFTOTrSNxjcs5dLLdFWpBcGrKnldZEJOrk5nLFtj0XtTDO2c7dgG+hocIhyR0sj1Exw98TkX3rAinTrIEHClgDC/jQcUAi7nsm9mSRb4LnnjrZ0ybYDRy/C05GSHra+dVio4FpjhcaOFgV4KUKDBBhtxcTsmcCWGHYBawy2jdHW9JQXU33vXl8+uwi252kLDW8gSmJwVQ/bwX1ePB0/ORhn9LCNwkEb53p8LupgG19iubJ3tTwe4y+CLedfg546WfWYjrQHCfxH0ywaDYYx1hVLm/Nag4QnHC9yqKvf14i2GH3q2IIDUD4zUmLDs08EA2zLieEy7GxHgvmtPCiIqTEwwT5jmrGlKVZcdbnWxELYxc2Ey7ZdKw6jLbwd/xhhe20RFkqKTiCIbMK6fHfTHc0PpnD3bMLkWvKyYkE12iIExORgBIDkAjmX8LrWlpSB8qJj25Ithm6zciN6gwTBvw7H+K6JCGDERuEDJFkZ28K4ANHf9uC2BCdqjW052vyE50+z6cEd9kLR9thSEMVDV3RqX2+QMIi+9awtullW85bsbCnECey545jVwza2BLsJn8XMe+JFsGVDa5CYkNc7W9bENiwkHUV4gRTxQBlzeud4dWyLaPTA8olphqfmtLBlHBS628iN0nt9ayCjjy1J79+HJz83vc84ttbdwD1zaA044y1j2/kg7ggDBzblWeYxx+qDo3FsAsHNp2DbEbZEZF+cj7CiQNnCJuCz++7hS+HJozmvyyUKeS1so+KJy/kD5zE5j5WLyz/Mic+NLUafY2k0bKH9uoOEvV3IWuihczGviS0u5gCEhdlwgubJHyW2zFqB5+HNKZa9ELZcMXjKieWos2WaomEmYf0p/OCZ+0c0rxltjzjiI3h5YnBG1MP2CQVJY33O98ULYcs/3oFlcq6lXJMTGqJtHkenFf/RY6646spz6tiW1wrQJLHwxyyf+kAL2/MoHKbD7gswiYfzv5vQx3aTOQlx8JoVybBYqLz20EWLiR+st84kHC86A6IIgU5ucczqD5Jl7KMI24jtAR9LQU20+4dYouhe9eX8P4iJR/MuWtDG9j0RXQN5dOPDCxJszz9IgD6rTw5oYstxAi+NBEUdbOF1BJ1AHPpPcyaB4zhUDyeIFxrbyk2UJmV0sEWTh7AA8oqgPQGGjEOe08VWQI4R+JYyRoMEdJyg4s0GbGGcQnp5uUHqE2DQTSgiw8ZIf6ljW+Akh6O6JBj0sQVlTq5M5ESpbVx9dK/AlpOhgpckOAwoS3ZK48HGaCvbJP9Azw5EeU5fB1tcLAstTweeF1uu4gtdbGWfikILt43YqtHfhK2gJQaDhMqZYIStWoEmbAVO0QzNCbCaWRfDVqh7U2dsq7RTB1tetTmN2J7XXN5UUBVbbfcrsGU2aXj7xcH/2TLP7tFwpFKBpI5t4/Sl1DtVQ7SxRe3+5cJWZIXPEVvilxtbawYqzP4c/txPFF3J0wzTiC24ALby2w3H8uMG7c4HgCTs7WCbn44ibAVOSxV6OgixpQjwkWZ11QkwGVtNo9rBVtDHVvu4PUCSrq/DXpGw1TCzGVv1UirYtjamDWxVpPHhbgtkKmNbTU0QW4rcqGCr2ZgWbAlAsGI72Jas8NauMDlkz38wMQLc2wFXZTqxHm3DBw3Bq0GTNra8eIntZ4kt2OS/1NjiF8Y21g8ugi3PbTmZ+R/PpXP7rlk3w3EXwLaAlkypYitcYvsZY8v9AmJLtI8tx4JlfsXtSAvMw8X5EiteCFviEttLbD93bOmx+GHmQ0fCHp0HcWwpuUxWJmY0sW2QguYg4RLbS2w/O2yZ6f6BeXq5d7mUHBxL+VNHy5VKLrG9xPbLiy0rouldtszzZxx6NMRVV4EqsP1InnnmBE6eXhLk3yvYXg4SLrH93LFVzIg2PohSYJsSUhS5y4pljhVY+TlU6ZCTngxejm0vsf2yYnvAzZumhxNsMc8Vc4zA0bkS5RRKMEJfYnuJ7ReCrTw50Ept4yBhHnBhz/7U9IHTvMLuPRjEYs4nruTlIOES2y8SW7WSDbdkzknv1Pb2MLMylzIlPbG4A1jnEsLlLdkltl9ubBfxH3t35tj5nrGuXWAZdICuqRx/ie1nhW3zW5z1C+EvMLbxAWgdYPn2sVVhV4FtknNipV379oLo9maiJ/fj8UlqLuBG5uTRIKH/EtuXHW2FX8JoK2NbfmnYpoSlfscEuedmjxwTjtz8/cVpYol+mJKX0hDB/pMLrUkQAPGysC0Fq9gmXhBboZ4nQQfbg+fEdreOLWeELWGALVnFln0+bB+/MLZkbQWYppUoT0IF20843ajzXNjmtbH9uIbtPkt/QtNCieb4Uo45LxWKdJnmSiWhGm1VsA3nmLKGFCJEmwsXJWzDCeaMURGk6jEGW9qxDP1IFisftSaFSYeq2Ibz0gfNcoYSx4QlbCENgTTLllUzqTBMHGhiC8JPy6fqUn4G+5iQsMUONbO9nCYiAIRRtAV7p2fqmpizdFDGFnZwoVSRlmK5MACEKaOGLQEIhtXoGOY4VMUWy0E3aXgqSlIIW4IMHOl7ar0Ddl8kUVLrPQY2hklgZPMKsEiOVe3tU4Y9hY0iRt70AxJLasJVikcBWLi6AM/rGMOUSuUSbEaZKTKIj+IpfYowYVI4IFWxBRFKS8DFBgkEBjY1NJFhAPsPRVsCZQagNtUkFgVVbEEkBj9Q1QRgQ6RoS4IwqVFdDMDooYktwAitFkei1aw0AFc3EpkVBhK20MxoVNN3EZwkILYEanhFFdWc42ozAjSxrZip4ykJWxCBbtLwFCAoYgZiC3BM31MStqj7ZDNbNKHuI8iRaq5Zab1tJBpT7+3NGB6A4KBouwnC2nBhsO3Sm7tEEDkothlD/1Mx5CUqRqK0YHECg0FKdZCAeghoCDS4PWwLM7ikCeAqAj+EDoQuhtiSaIFx9fMmwUmqii2hrkk6Crlx8jUYFklSsxTYJFWxLaBBAtAUHIUJiC0pF9JSjliTBglATxW8/EvYKhS1FoNfk+acOrY6TpA8JWGrVQgpR1jNXIGuMPLUekel+9RajboPoI4boRXY6nQRbBKkfOQ6vBxROv0IdYDFawhbAo+gaiT/V2rEo3jFPy3Y5k9GULt1hIRXGUd72AIdNUCigYTYQo0192hU2TlCGBkFyKnXKIWjNbT5gq2Zqu9tNsKmVsHS1ymCNGoOGiQAYGAq9eoMMKgNfmZSG9sCRfM0/HDjPmEkJDV7RW6Mvqc6wobd15QDjDRq+hjC1qjY4tVFwkgTgTVF2/QQMMbW2lbGxZmQMbZYhwudtfrYgs5hQ6NI3P4aAIbYelujbf4eYXhY7OE3oroGoOPI9Y41yghbCrzqAAa1wcjUd9KK7SPcEFtww2x02kALpq5IPtfH1osuHUbYYvWMi/3AEFvyfqcf9pRBsYXrC4bYkgFTA7bZtCkMJAy0BF6PMVM7+W0zC4tA9/KLmr7U6SBI/c4AwNdlwoBcSAtaCgSHbq0AReBWKwzAVGt+23zfOjAQEjzodBMGFw8SzL85h66F2oKAXL41ilP6nYLuODItV4W4LUqQev6E363dGcCMuAWY5aa35dCW9ky/OQ/qHGhg66rlt02Y4VhZt7MJMto7gu5klHSpmOdwTJJoKKrjRYL0zGUbom120oHhUW3B33sv5LCftBNtQZcb1x7HSOK54xmYjzSOvprkj6Nrg0vTjhCuuWWBJKFJm3tgFdYWre+K0LK3QWSxZ68Fh6zLsqFrZBTHnfeX763i+mzjP+pa6XHhYR3nRTHg63PbprH3dCsEIdtMtsXOpNkZwfWP2xh0zdmD+oVwbMrm7luF/3hP0asthRZ7PF3u+ufNDYlI3vV0h2pDwsWxgH5fA2zGTJhWog3d3FIq7PpesscVjejeIuBrA6Bpg6eEo2fUoiMjI70P9tvbSGWjb2h0bHR0dERFpI8t91ZoymKqK39bpcK3e5zHycmeUUnG1ASqsvRaH+eX7g3D4qM1aS5nNZmAyiYsaWeX8igVGRiMFZZ7hka0xfL22/d7/XT0vsmiq8lybym3Z+uxjOiJpdueVHEo+R9+/23ouDFNsfTMHe9P3R19W08sfdbHuaV70OC3G3qjQUZMpii9PmC2VqXV5dCOke6VmjvzqYc9ethYhi39E7vHq71DDbW1YGE24xkwaNJtw9hQz8pJI7Yon3nYry0bvnCirZ1y0CYq6Zi2okBgI0DCwUb+eDvkC+gIcYA2B9oP6xTxr4cTx3BYcohvrOsUw7bSqnZmUjgW1JZQcA8ed3JI+nUlnkKnwFYoGAho6wJH2Vwmsxfc0JPwnvrVLL0dXNMxIACSWUNP+cKPYWMyKeDfMPTUcax+XKv4NkDDWPEkFdLrxo0AbFU+ewRUldVkG3FzuKOnKeAHqWyuBVvdzcfy+QtuTaa93Vhtl7OGbalUtx1DX+T1dqoqtLd1WL69PbZaTJXb0tbGZEabc11gizNVU3QPq/7Q2/gr176nDCzKq7dOXWO24j+DfckqivM6LW7orDq2Gb3d5XT2elPZ4ymjs21aPkvXdo/L6hgp70KX0eMhk6er/GZ1t5zS0JHP6G5Cl5U9k23rPM20cSI/9/7QhZxB+6ClJ417CjbvhljFltbVJA2tsxnNnQlRPfmW3tZv+Ek7e/VlpI0Rs/qaVLF9eZLNXTBu6IS7r8Y2qvkXLvCC9efbLphvq/susCtkto0621N2gdP6s8A293KwvZQvBtvcxbDNvTRsc5fYXmJ7ie0ltl96bNv0ZdvbQV9ie4ntJbaX2F7KJbaX2F5ie4ntJbaX2F5ieylfELafiXGX2F7KJbaX2F5ie4ntJbaX2F5ieymX2D4/theqNZ/Xb0Izv5+Lm/MvsyO+ZEbl87lfAmzVVoAZrRqrL8ct6ImkXFrypuu2JnJVl9uiQvnWxXONZskdprcqFxaCbctm64dqx3vJLL3mVY0q6Jxy+Urr2jXKaP2t9opkSWi6oPSUZn2VaGF87TNaktvUA/LCSa3S2XwWOiJrVFU238KEWpGaS6sv5WRSZMBXl+aV9+trGyCZK6Rjft+aT1s2wvtQ1R62oVPGt4ZtZ3InycjGWlXUSgU20/ncYYNRrZoC4CiXP4oFfGs6sh5OZHMne6F1A6OOCxnJKJ1SAeolGpVpz6jsQdQPjdLU1JanfH7ZKH+DHt/zyBq2c6JYfH1I6jfBB5IQXsqvrzO0k0Xc/Fiv0IY/3vJ2Q3xizDoxMWGryEST2N4ZH7dSJ9NW60TLdzWxwuNGPdl569jEuHVcTaQaHkyMzmXXH4w+mFB83CjvvDMxMW5PbU1YrbXDmgV++MA6biXTU2Nj4yrfV4vZbeMjnsz8GDLqgVxdk1GolHV8bC4beDCm0X7ZCTbbuD0Zh2XHHzxQbx4s8uCdCSuRnjY2ajn7UDJqXKsy2/g7Y3MZvxUapanqHRvUYE9u2YyNAifQKG2b2pWJd6xztZXhJwdOM7JBteZxm9Q0617Wa3owYdMCB7Vu4n4ohw+NwgPG1RsBqRm3DbqyjdgeO/vDIBIJRyoSbpIojkcHp1ZvrePRMKYh4TAeAdM9WOdSFI/gYS2BGpbf3DDZcYArDm0UlJoEu+1xDqCKJVVYc1loJI5HIkOTazcDAEQ0BdYHZhqNai0UhUZ53vSb7CCKN1SmbB56Hzl02/uwPwxtilTswFo04ZHofYfvhqFRs/ewzkc6nkLti0KjzDZUJqLhdpS3BevyLvRhOP4eMkqtOsmoYcfazQ0cVDwnSeTiEpWMwqsX6+zCUBDg0VZg5CYgn4WnzViPD/pOk4goAXBPd7zHLZuk4Q6oYaM73IBt/qQXo4jw5s5eRXabJA4ICjd3rqL3flu+rMjeThSQYOr1RQpEMfiriuzu7GzjgNhcesNBACKytSNLa0EiShC+W30YBTBqe0cp1cqQUTioGhXd0ZDdrQigyJpR0qEtsrOLEvq4XkcZOKBRqqZDAWESGtWPUThG7dRa3dRAyahBZBQwMGr69QUdT+3u7uAo5+MbdmhUOL6zrS47IFzxlGyUutdlo66vwJ9gCx5VsX374oKMolz2KrbJgTAgw9SuhssexzCSwrsHPbAN+K6WbOEoT4LVAX+Gt7Q07QDoDc9UY56E42Ho5giNsghK6feaUwuWUeo6x+skQQToMsupph8sM3uw/tWOCEFgKYZjyozAtO7xzOaCBIF3oDyCWwysjWXUVH26DrHuRInJsCJXZs8Yljs/a7aMgayhjIskFSiU4Recml3MLkoUKuURPGTZc07d9gwMjtAo+CPGsAw0qVwun8HCytJMfgO2/8awZBQsoa6JQemrHFegjzfyyCfqhfYkoyJSImJBK5+jbJQLGXV6plGmTKMsMjdRMqUIzXGSxWctnioT0FNTVwiSDJyyiiJnLKeaffGsVUVV8iHYc7WsNNt9AFb8DG3W1HAgbLd0cHkTnjCWzg2UAJhF3KAUkC06E9AbC28ukPBER93Ils+loxm2XEI9JjcrgxPA35iVJn9sQfnHavtJt+YrRelIHK+jBKm8KLKqucxZXsqALOf1RVlMOU5th3PoZ5RxETY+ISVRLaupYjcAoDpH0b7doiDC5qJdzyXhGvLbImwpSAirnWEd5bf1yUbxIi+qJ4AtBkmKlLKXPoaHSJp4oUnjOecnCOqGBWUv5Xlkj6oqEnpq6jVqkwqcI0XsuWrad7ySJQ6juaJW0ltoFEnAE5wEe6jZqg1k6/ltcbFh+5kGT1XSMiNP8fmnT+nzWtESy2uLWnpi1H0WJbaAYFka1acUviS3Kh4F1Oh1hG0OVsUKpXOVFLxJGFQWri2SIJJkS+knWUbqgVOaFYtsLSduHnorMNCUug5hG+U5TXtREh0JWz8nCrmk6i71wmEV2xAtHGCAFtWwhZ0hYQvwhEgD8EydI78CW76UUMcWZdhB2AI/K+5j4Vw1U7EiQ7YoZROvYsvgOC3qYQtAgt0NhXBapqSBE04MVLGN8ucH0VRDVXWjCBlbInDOpbDHakyK/GEN24J4+j7JiJwOtgDXziYuiMF6WmYdbKGnKtiWrCbz4mml6Dm7+vTC2BIt2B64mi8ZnHtXalMN20ieWTgRc0slkdfBNiEs95rMQDqV8GWOWz9kBSNscbRNHy/qYkv5efFkekYVW7GGLXZadi1P+EVeD1sYbYklZ0A1AzZfwxaD2PrGiqrYvg+VOF6Dhf4ctEfvAAAgAElEQVSAZafmvEcqfS8KB/Ci7asENmxmflV1f4xiEKWBXIadm2D+2D1z9xMDbMWnjqWpnHq0RTnHvk1SENsT20OHWsp0Ufy4hu2nXHB6Kqh6ApQgkQCNXMBjiIBGdOcV0ZaVrpaCSsEPkFFXSAJ2X3EgRc/s02uuOJdf9+UfJQ83T1aXM4cRT4w9WPaccHuun57teiKMRjL4AAzcjdiSbMJRAsHlY3p9+YDdckXZvWBwwCXlGK9jmys+OBZP7HTau5JPR7wg4KMZbFm64iqirfi7QEiNlihP4GjDKbCunT3g3Rcq2JKq2AKR209zNHeuhi1JVrHlPZNzhtiyefEDW1kN29M6tvCykZhi9bGF0TYxYStyKtiKKFkrwpYMsKXB1R2GV0+CX8X2WWEaRA/Zsia2boQtx3NewOpjiws7M7Tt8Ew1Mz9ZwdbP79pY4GENsC06EtsjjGiALQpdvOqOCwpsszD0pAWV7hNRZuYKtoVeLDabjnrC1oJ3fQVbIlx7y/4owEzAnlrE3WvpebC0b4tMbF8I20zvxowbc73nObSDB3G3IznuK4uN0ZYewbdxxzPn2oLHPwJ6AzOb5EPcVmzGdnknNJmY+KCH8s+JZdfWw6k/mqLR4E7Ctl8t2goJh2OFYtWi7ft1bAWWdPL62IYgZvSjtbLaIOE0RFWxFdkju5vXxxYXy27SVuQNsM31zNz/OaePLZ0xOx94VeEuhmRsSZA4Fw6naUEfW0wozDp/SLP62HLJ4Y9/7CwbYPuJlU6Zs4IBtoUMo7ovgwLbiHjgnJ+PG2FL3zaPOtMnPtfAiS3Hnjof+M4DjzYKITe7Gt9bdbpxeKIRPR6Hxi4PKtgCiG1+OBeeJ38YzACz1+r1+rg5IKANIBTY5s2D1sHxzIOjQ4fPxTjSPmLe4TbD+1Y+GZGS4BMAS4o/6B61pfE1zhkLOMUz165rm57M6mILxCMmQarvFqLA9pwHc6xBtH0mPvO64HhaH1s4lP/ArnqpVWJLzaz3nxhhy3x8HnaxBtjmxvLJ4fyZPracuLbCiQbY8jHX44V9QR/b8+Jir33ZKNrStpOPzQWDaMv87iAMJ/BORwfbsFiMxWNZeGusj60pLayF1lwbphNHtngyH5nLHIHVYMBVXgRW/5IbuE/zYDC88pjVGtuqYXsywYDFHLW2SNjw5fgy4Oeo5rFt0ZoRM47s6FHK4V9j7Fk/9cN5bDUncDyKtotStE2J8wC6B//RGYzF0ywzvfcoXrAWOFEH2wjsGTiaNsKW5z+YE6Vxtya24Wen7ql0STTA9jxxnBw50cc2KlLvjl79QDTAthD7xLthhC0z9SH+gBb0sRVZx75ohK3gc+WcQDQYJNBUfgk3GtuW5wDuUJ2bUWDLwaZxapfBBmwf2x12EmKgi22xz7Ph2PIsrJhOXEtLy64Etr7kcZEBs28qOeR1ulKO1enH42uOON8utiS7P52xF/H50A9XXU8cazbKS4iLbrZpkFCyHYvH00Xn0tRq2FeeOglQlMPnyMN7l3q0TbGLOCdyR7a1HiplWfE6CvOzXifDirqDBBkOQ2x/+shobEsf95mG3WcG2HJx63CANYq2nHgyC6+QYmVmRRXbc3pxSOMWSTG2FfffMcc5Vh9btjidR83jdaNtbsYynVc9wRXYMg8HZ2kDbJ+JieGxhMgZYIum44ywlafIeINoe/pHP17dPH/yk/c+OM37/oD+sPDsp5mf/AETmfMlzrbWth9ze749PumDd/Ncu9GWyW+ffsA/+Tn9k598wn+4+j770dH5hzjTeEuWZ+M0X4ozOX+ISX/MbTGpNEv49ssVbB9K2B7we0/OeLa4NjXwmPt4dS3NPlpZf8qi6YR8VAPbKPKd+jmmwBbeZ7GqqDUMEtB8vXxjy2pjy7NMmVMfsimwhWet+kSxAtsyf3Z6xhtgC8eiLMuhCUbdQYJwJs1fq7Svji3Ls+gBB6+PreaklQJbGs1S16ftEq/sq2Crs52eMtpW+k4fW42prjjOqgcsY2yJM+35MwW2WhurKW7JwknpMPFgrG+VFRg05b3xpKIqF2nZl+wi2KrO6LmnmrBtLRUY5FqwbSxUXuj8xlErtk1Vff0NR74FW1FvO70qtgXtUgps1b52dzRH29YSd7JKbKk2sQ3TIneuxB/colWi7YWwVd1OzwhbePJoHv682PJtYKuYt4V+TcrjQA7eFXEoxgpcTVMjtlKKcISttHmpqNWz+tgef+vQENvyDWCALfh6gq32q7QLJNoppwVb7uSau4otYYitTMhnjS23eAVYbqafA1vs02bYPFOfBbbSvC1FUBva+1C2EWpbsN3pl8a22sW3cAJi60e7QLaN7bkAyeWbjdLE9j1e1ORWH9tHo4IhtoK3zwBbz416v2pjKwgOR23P3S8Htuzs7UOhPP9m6mVgqzq2bRtbXhvbylMy4cVEFVvxpWKr3oqXjy1zJdIGtkcd+/rYLne1h+3MRHvYnngXdbDdm95iXw62ZceIdGH3v7FfxfY1ivyCsFXV9tXAFu1w+nliu9tx1Aa23OurBtjeUcdWmo0ywra5EANGO64Fm7FVlDoe7Oj0pJ8TW52x9BeLrfAVjrafN7a+DlYF25aJmDF7K7bKQg9N7UXbeVMLts2dsb9w5ZuTMbZpkNBkT9pzo2MYL7WB7fK3vmBsm+7b2sF2p6Mqjl9sbJ/7lsz1evPDXdV1XdMDzfO2DQPE1Jvu9qIt/vVtVg/b4vrdDlOQbh3btniD3Zl95VVnsgFbNZetXftsseUvx7YvgC2Eg+OeB9s3mrEtqNXegm1DoY6OQaa9aCvMdkijEq2x7U7HFbLtW7LcMIxGRtE2dKcR2zDfDrbnfFvYCryG0zWxPUAx9HJsW8E2KmZSHP9SBgm0Wu1qg4R6Ifbwhrs9bME391i9W7Kir7vjfphuA1vu8fyrzdFWs18/G2xpzev/xQcJDYV+aQYJf8Q/XmafZ5Cw23HYDrZvrOjfkj1qd2w7aDiTkHh45VszW01j2+YV4sfemx3D0ZaxbfOYRAXbyMvEto2x7YeahS5vyYioUKafC1vmVawR2yD9XBNgd17iBBgDRppnEhoH3MfDHZ3LKjMJfBszCe1hy3++2IJfWmxZVnyesa3wyNI0ti2qPW7oFb7YedvGaLs39fzztnhb2HKfL7bRX15seY59GQ93Q/nWCTD1h7us0VOy8Mt7Ska39ZSM+xIOEh5/SQcJ+R1pTUJZ+GKxPdeaSNDFFv7inmwc26rMJATNRktp2l2TUJ0o+2ywFdu4JcM/50FCW9hGvgBst/ugdcQZ/wVHW83lFO/XX4HU0mt4SybLaf3N3eYVYPPVFWAKbFvWYn/9dUeuCVvCL2rdSGmPbbWwbWsmQbwotifV2/qTRmyDdFvztpqFmgcJ/OeOLfESsY3qYqtcb9vwuKEsVt8RVwiHnkKQ1RfOg2rPv6rzifUXzrVLnYZQnoRlAKIJzUKi4KtiG9UkUn63W3rhXHu9rSjW8iSE6GZV8sJz1DwGq74C+WF1vW2L/2SjGtfbco3JAZAqqoIt6Ss1G1R7G1tMRVvW27ZKMQSQUdV5W1FUe29B8JG1aMtWUW5xAwU9NX0FZWdh9N8nNxQmBEG15JXYgpKGJninFAMVbKNZUUuEfUx+u4HAD3i5d7gmV5xzYjZKqmMbzRYZplRsFZrO4ZX0HiSWKhZPS6pCb4IKtpGdIvqAUZNEGEjYwrOULsmlWlWlsCq2kYysSKU+9Oa8hC0VTJVKGhVKRknYRvfUDUKyH61GW7IA66rXpihTOsRq0TajqakAqthiB5qFaNibMrb4zimj4YNSIiJjW/EUw6h5PhWqjW1PJDUM0+oIyVMIWyqUVPRr6eLCQKMasSVB9ESzoc9QlqqR635AhLUrLsajlbcbQOyZuh7YI0nNaBuhKJQHQkVwnCBJiC28bcSBlkRgCIHYwh4BGHQ4IFUljBOVsa2siSBVqoSAEJVl4mFKOkzNrIiMLSQOl75WqY2IokIStiAqVdcq8NMwqERbQjIIrT+XRaEKNqqKLVQlHaeiCY9UsQURqTo1T0lGbUhGYUCzfREgYQsL4bKf1FRJRt20yJ6SbVKxK1KNtkRUcSzxHAKDTnO0jYRJLSRCQdiGEbRMHA9qcgNCoPIuGQjhkjuo1nrxQBSoY1txvKoQ1UECoV27pMDXASpqtPmGIzYPCYCBJhlb+aRREbmcNLY1VCUbVWmgul1Seg8CGLgAYjtCEroVoqumNLbVLwWAFG1l1LUaWB3bGrRPxhboOl3GFryowGpabskMRMLWsA1obKt6Rik1aWKr5ewqtoZnqDRIMHBPI7YqpSVNpHxLVvlNI0QgbI2jh2yUTgNRdVVsGwo1ayJvWAyAJNrF1ofy6TVZ1XolaMJWtXmVxw0GaLRiSzyfvDi2KkobsW2+hsmfNWObOxkmSKDHLepW2+uAMmgxIDwdGKnrEHgwFVV2hga2FOgcBvI1m0KDl6pQVUFXVgrYXwOkoVHejhBh1Esk3uEiWnzQrAl0DgHCoAukNJBKd6ueuaS3A82pEJVWqQ1wYJdDo5SwqTcP3BgEeu2TK3R8u959L4ZttJpxMb/XbxyfyeFOv6FK6uH1h/pF0PUwYGrE9ti0YXjSBMxdywaEoFRyN+ZwQOheD0hi/tZ41Mh5pLfb5FN8rxohSWyoa7mmodLbqkYBw+jnvDUOCINoS3nvIqPqZKkZRoYURpEaYugpmbX5WxNA2SI1TaT37oAP6I/eSBC4f8f9vKA2R8apWn7bIT9RO/VUW0lSkR6bmzKCC9hn7bChSr829yIZI93z2cZo67SuhTWTe0sJtn226dXeVZ0iKOVzwNkfvL0U1s4cLWW7dt3aGJwN6qhCOaW9Zu/8mC9aK6CSvTz8R35oVJ9Hqbs1G3UkMA+NeoRFwrriuh0Yng7W26tq3IrZ+3DU15CGu9VT6/bptZ5lXUeFw4H5PmhUONpYrKl90Kjg8Eyo0XvNgnnNnoURn77Po9BTP+5ZCb8McXeBKraFpfu+MPZHmhKOhIP2UbLXi+mrxB717/fPY+FwWKOzMfSZxwRyDdjmD503enqr0tfX19skPT03+0NgurPhw34zFGXRntu3V+Kum3f76gILDQ6a+/sUmnpuLMS9vV099Qp7+8xmk9nUpyhzr9NGRocb6zOZzYMNhb53cyBEzDQU6hsYhMX6FZ987/Ytb9x16+5bden99e9/3/z9t97qqX7Q89b3bixsrvZ2NahCzTMp23cXGoVbOnsVmvpMg0qjZE9hYKazpypvwT99JqSpRyGyUd19Cpc3eQo273s3HsZXem7Xj4IFoSbzgNIo6CkiCo1SOB0WGhw09St9frMvAGZu6nRfT7ty706Yrm2Uc+S+hQ59S6PsW709XZOJTPTOvV5d6TLHMpT5tm6Znu7uYLoR20zCbem5W5Pu7u47SoG/3+15q7+/r6f6Nfx5p8f8bnjZ2ntP+kCSuz2S/+8qjr438LYPs/Xd7emWVd+DpXr7+wf6pMOq1Q3cd0enzD3d3XVNPb1SfVVT4N99Jidwmnvu1Wzs7u7p6+/r61GY/Ws9JnvUM9qLVN+TpeeuZNQ9pVFmy2rI3t99r1rb3Xuwur5+pao73X2DLgCNultvX3dvxai6qj7zTOTR4L1uhen3egd6Zcsr0nXPNBnxjPXeVQhqXn/dKFjqXv+IL2yHnlI0p9Eo+NHdgWFXZMp8T/lR71t9fQ31QU/NgfkWT8H6FD17t9fsCHusvXLl3bc6b3W1I3du3xr0KfZ4Wh+Cbeiu9mSLdN25P5/KAKuia9Vk0LGd2XMMqH9Z9Vi/NZxrxDbnurkWDIWCAUn8fn/TBk9+fyAkfer3y1/Cn8GA6zVi7i46rlo8IH3rk/6qyuqba+vf8QaxQKCmPBDYqP5TkgC20WunXl/0KY8Lwjo2/PVigcC6/eZWj3UdC9ZVbaz7A36/QrV/Y+nb1OzdNelX+UP54/WgwqqA9/pa4Jp3I1A/Ev7YaNC0EfD12uKvL/gwrHbk+oZkVLCuaSNgvwGN8oUkayS/wH8hTwTqypGnyLk7a4rPZJUbNaPQJ6vXV/zXPApPQXU+1Nh6P0BP9ds2X3f6gzWRW7ixEVQoX3d0xnvHGjwVCK4HGro1GHB/m3R2r1YrWvVjWMhYsPDG1JW9Kj5ZX68nEApoSzCwZp2L9S4GgrqyMTv82DqzXnergryK12BLXXfjjdge9wYIAge6s0Ro7F2bjKIABn8sdJnDgMKVNzBofF2/g0HDdV//PS+ahtcalhM4TlFhc5cTPempzxOgOWL4NyH9hL9Lz+m6JmB5rH77QTTNU0Zlo/wkUDZG1lCfMYcHrQ70eCkCj4LanQ7VeCMAcILE7nfBWzmA1WYvCEqe1ajpxaAOR5cVbeyjuE3HgeIGqeapCKDUZkFrDicIX/9dT7OnSKBsLfQUPgyNkh/IVI4k5Rn62u0Mqt7RNd7kKdDiKfJRtykAyIg8a605f9woQXig1VENt6nBdfRYZVNrBgOaQkVu2Zdgf2jPKKOHIWB4zoq2jqFA0y1ZZe6IQAoo10LjLdnxEPRa6JiuyOmp9nPQyuPJYhKDVL46hTyQVTy0Qz/rD++OgrBF/V2wo7GD2vPLIlR+Wn9yWn5KQq4Wvgn1Yft0tdBpSbKidHoqP9AsxHCS8HeswRbGcrKqU2RHSVEdU0qGCQp/dRq6Cz85rYv0XfUXOg05AgNd0BfYYb1FZWgUc1r7NUtCHBa/CTsJS9D1Z4yVv6uPs7ejJLHRsUYBPJavf0ef1osyxZLkqSsOxEVG8XxT8lTN9nQAImy6hTyVVDxYLpZP6zaVn8ITZ3PpG2HJqNqj9xJq32lNUyEOPRXoWIMkbio8xaCnyDVd0CiAjIJF8ZxUBdRSZtlzVkd4ni3HgwQI1rYc2e2jSBBOM0VVYUo0ZA0Mod2u8MeaSNEURHq+0wnZjhVlABqeA8uFkjAQBQYbJ8DSaP8XXN7dhBM4XrK+qQk82sREWtiAcoSKrI8ExCuzBAlirCii9SFqghGAMt2B4SAgwGNQbjS0eFpZAv6+DQP00jcAxPZM2nDlXFpjU5ayUkEz5DozEZwId/hJCk9Le9TIGRF5tDymuiQD2rcBO+uVOch2nC2j1lb9LVstybmAfGnugqf0hsiV0a44UoFKq+UyvLiHtlf6OjyhQuXzM/Qlx0GjpERZtWJiDp4moMNHktG0UHdAgyt4nvGRBPnqDElCo0SBZQU1R51h8OQdvA0DS0CQl9vIbVJ6ihV2oadcHTD2YOzZRzl5BQsnNJZkcxhORDs2oKcO2Y9yorwMBxnS4PR12DNXZqGnKKH+KQJAWrzKyYsBueaFO+XiOkERtWXiuyYcnt6naAOccmVTHvlvRu6iMupaSye0JZxnmXqpc7Zc97VwECGJR9cWILZJlpH6X955CRWX8+lB63PwkhDoa5q3HYFk4UJkzjnrKULAHieQjU15yND/1fU58McGDA+vOGEMibP8wdxsiBFb08KKqDNM3QhbkUiIOwGmsFqq+rFWahcqWfoG2qiJK3ucs3OPVTa+4J6G4eW9I0BAQngw55yjqkrqHQZL+WFVr8zBy2ZMDM3NzK6eqSx1EsPwwgOxhWcvh8dYDmyKlZVT9ZIiwpaQsPWzzGpWpDFp+VjTGqdCGBCRjg1kVJk6Ymtv7Csax/PnAQpQr85CfTFeSC3NRBjl8qfqajR41SfNt6H5fqG44JzzMnJ3wYCg6Ic9eEl1dUB3BdiPezbO69YqBGJLQGyRp54Ux5eldWFi1aJ6vfAEp35lBuqLSbtCSNjSrtlZ50cowzGL5VAuTBiQeLZhETbTgO12PxzFUOyTRzNzUQYdVyazHCuyDFZmRZQteQtexS2dcAQazZc9c7POPXlzEJFWLkVLQUoWrz6EhfZFMDc3v4daIe5Ozzl34HmOqIO252EYqe/dUJm3lbHNJfvIkwOwxa6vUAdc03I6HWzTo7FDR+BcFNSwJSG2BOEX1r2sq//kI4e0FYUWtrSJOj4uqmIbqWJ7Ul5aO0rYnvH62Ob3e3eOeQNsk7bjY0daUMdWjrZoY4iEeOhQWz5ZgEbJ2B6zrjjPGmL7iZ16suRnlTY3YxsQc4O76UVQwVZyvBq2NlYwwBZPix8sS1VoYwuNqmErZgaTR8enRwnyKGcC5ThVFBJUU4LeFmxhuGYSgwfpqZiYAYmya5+JbdLJgSQd22IENo4jbP0ARD4pvr318ZPS8R5Ickwct9JKbAmELSCiKfHhajruKH4ce1wKTJ3sTKTTu+BEH9sIL9CD+/TUjDm5NjQ7jTaDUC4oRTkU5PNOerFfiW10jROPJuj69b8JW7TQUzxyPpuepqJotKCKLboInDOD8ad51gBb5qEvk5rMiPrYirQ5zRtgK7CBVQ9RzeuqSPrcgC1tfiym7GqZk+vYPim7dnheBVuOYyvYEsQmR0FPPbPTQgu2PPKUjK1wbN7PLAUqeqBN9T74sIItAbF9wBhhGz3kN5crtchViarYVk4QkcsOpbIFcWbE7ojfXMXsNk+ud+qJMbbs/jBznnDSztmxx0tJ/+REMNIJVhxWeEIosD217uZyrHvQcb8YHJ0bzos1sCRsry1Ag5OCcz23++BwYvZ2bMMpcmuBRZt9RtqVpnGnHGW05XnanGBwairmc5/NH+gvI1Ziu4qf8bSNbh62wlCBYojpDjpRRGZmc2lzyZ1k+WZHwxhCQmxRZ5z29ZomDvSxPWYedZl71ssGgwSe/r60bYwetjyfG58sqexB04RtAmKr5oQ6tmkUbXkVjpBR8EL6Kroeb7JBeC09tdGi0OopaNSgjG3m+oB5qsDWsFW8twlvJVwd8D6kLWzxJxBb3hjb2hcnPQODE/m5P/hkouBIjrqxkdRwjjfGlkPYpmYeD4FZr2vb7N9wZH4raw57Zs8EBbaFwT7zYMq9SFs+tu5mbJ/WnXUIO0TCFj8Q5m6bzTHCdTr903WnKGBrLupwQnrFMocDPWwPzbauTV+InT/QTq3UjC1YZdP7D4qcoIetsP4QHE8uytsDtmDrQtHWXy4NfogGEQbYLmJ5ByhrRFsC3pJJw8i2sOVd6+qve1WwJdF+JpYED6OtIbaCHrZwkACxpbyMeDL9KaeFLSlhazkpC+d8Y9R+DmyjT1iILdc+tulhGl4cnBTtyDv2zUO2mWPHszaxZbedj2/b7wddez2j48781HH32JiL5ZSDhIk0J/DuDXZ8f3i/4KBbsIWDhAN+PnIGR8Yr3LyErRtzPz62V7Ft3k4PYiu92MfBQUJsYutBbHVm036iuSGozJEfzSQ40U07d2jFFvtdKq8YKrDlhF1Tmpv2yBssKRWLu3K0Rbm8aFNgZ6cgyHf2GtgenS1Gxf3xY1Wj6tiKBYit6iBBuh5DbEmIreDWeH+yckuGsD2fd++63SrY8vlwFVs44I4LrKanqthm3wW77lWVrerguYQGCdKLcRlLnhVU3+LeI4gKtuXUhMZrYfwn4Sq2x0LMzXHqnbgBT5NmbJ+Y4nt79A8o2p61x1xr5HIa0sW3YAuaBwkJU/znc9TxVNwVW3rsDEdWc9aDOeDH+Hq0jeaLo/jeVta9wTxIu5fDbytokW7JJGw/4p2A5cTk5KY55p/Yi9kPXImMXWqoNraCUF46KU7bAnFqyUpwbWPLs8mRQc+MyuZaDdH2qZsXKYqtYKvMalPD9vzUOTw8jHF8y84nSmyZwK5w5t/h9LEViou5ymxIM7bo7qeLAmQQfv9eTB9bGNh4aJVTbe8Q7pNw/ZYMO2oDWybtGPapxW0xTCFsCYQt7aY1XkaVb8kQtsWPBtMaHVPDFj9i15Y59U5EnmrGVshNDb9tja8nGG/B5y7MjG4z3lJrtCVbsE1NDA/7ygIYeVjE08eOiX3GiSfHHU9EEWJLjkjYFpiFYYslHKYYT452LPyYqTmLr4xtJWyxbdhy1jVo2qHuW6ybbCRNr3JG2MKbkjN4mREUE4HtYCuVVdsXrwFbFECrZVSwRTMJ55ykSx/bJzy8iUDbQqp3BnhlVhpGSvfgnBG2AqsRtGRsSQLetHPSlr/onT7lLDnbgG0agSY3qqWUjC28uG5KU8gib4CtKGhlBqljm81MYeXWXbYasd37ZC7CnqH9wdvCVp7dlUZdqBOkv4Q2sC1L+4Kz52g3H46T+lDaaYgTOQW28vRJ9Q8vtGKL9iVDm6/xRzPvOKXdxivzX4bYVi+qrROLutgqy/7EFw5FCWpTBVvlPYs6tprvkyrHtgKvZZcSW/kJgyG2WqLAtuqUQuE4eXB4BOXwIJlJ7ymxPazV0lpKgW3zlfrGtcrgQ4GtoP3meB1blj17xhtE22j6/Bkr8Jqeaom2ivkxUWye79HElmDrzzvQRvfoTVs56vBKbIWGO1ahnv9IgW0SHi5wwhlNn8oJOOoW6GHLvwRs//Qf/0e3bvfZnC8F28OZq6+NxZomwBqxdc3KkmnFVv3Nag1sc9+S0osedOxpYMtkS8XUwWE6m6cZlk2vLxUU2D6p1qJSShPb/f4cPUG1RltOYXOwS/ANqGDbSvZiR8dMI7ZPWspgHR1dutG2oeNVul8FW5JVHlTPU4BEgS3fiK3iklzH9kBkFX1WnXJqE1vuhbD9e3/6e9/65jf6514GtoevOjPM5ms5HWzLOzvESIdrZ1d4QWyFRz2IqkmLVrRlkkdHsd39VDpLl8pcYsZxrIptaylNbKNe+U8Ttg2eugC25uZo+0QlaLt/AbFVncAxxrbhevKn/+r3XvnWNwdasW2cYGoL2/5R1PpEXgXbmmlFms6+MUDT5RfFNvctAt7VVoKtGrb7qaPYdyvC7U1rYItK7e7/sz/5k/+7WJZLaUfbARhtyS8pti0Qt4NtMy/KQYIWXprYCu0OEl4Stq++8q170y8B26MOoDK2bcS2bO7q6rrS0SoS9skAACAASURBVNWdawNbVndsuwjD7dSwoI/tryJo/zLEdsqe1sT25//kZ//iX/zsTxi5lPbY1td51dUythX5S2y/AGz/9PeuvPrKrakXx9Yip81a0cVWEvMN1Vuyipxhg1duPdpl6Oi8LrbZbxKpjl19bH/133z3D//su3/4q9zOpE0b23/2s7/6r//1X/3Z/yuX0sZWdSZBJ9PRVw1b8auD7b/6p//5a1f+rZsvAVthvYM2jLbCQXJ3oQPTw/bnM4fltH/41a6HGT1s3+jo6JmEp0neENv/8v/4Lrft0MH2n/zs1r/8l7d+9idyqV8qbBvlq4Pt//5Pf/uNf+dv3ZoRmP/2c8EW0tbhE/SwPW13Aiz7jVqwVcc2hbD9n/6rP/s/v8vFHeNa2KZif/+v/91/+A//7l//+3KpS2w/J2zbEE1s/97f/s1//2/9g7/zd/67//i/0Ma2QfQHCaQBtqVSevrVQz1s25+3td0QdLFNxr77Z3/4b/7Cf///fZeL2R9oYZuM/a9/5S/+tb/2F//K/yWX+uKxVWBiiK1BxkUtbNVbFccBxDZAAJ1EoSrYquSW/Myx/Zu//h/8rf/tn//Pv/Pn/8YLYgtvyQjjaItuy+4Mq2KrQYj2IEESnUFCIvbdf+8/+wvf/Xf/MsLWqoVtIvbz3/9Lf+7P/aX/oSyX+jJhK36u2MJbMkCNSth+chFs1fLbfsbY/u2/+Zudv/MP/vn/+Dt//n95UWyFvjYmwKT8rR1bL44tlJku/Wi7V58A27SNaWG7F9vd/0e///v/qFCWS11i+1XA9r/5zZn/5L/+T//G/0MLL4xt6pX5DBNTfdzQ4Cmux/y5YLtdf5BA2jSjbXOpLxxb8SJj268ctvzLGST83m9vuOYcXt2ZhDaxFVLTb7xmjRtOgAlkR/yzx3bvMVUDknGPj6pj21rqEtsvC7acNrZPfu83dwjM6a0tba1iq7ExBC+2tZQmr4ttxSihhm2sTWw1jWrFtggibpfLtfRocfHRknNkZDjNFVqxbS0l1LHltLHFFNhquAEZ9XKwlT0lY7spvCC2BCu0ge1TbWwPwrWlNCJ/cWzFtrlFmgOw319xkvB0bXox6h//JmxdSto8hA/VsdXc60Xcg8S65GXiWttCCGwhQpKRjiBJ4SeCuoPRmsAARVXW2+oYr8BWxyhAka6vU2i9bSUCFH3LczPTUw6Hw26z2cYsg0WWVsG2udSpWHsFclPHqBBZe0rGqp9y0KgEgV44R69AXGgpjdi0lKbiKepX0LlE8S+MrTY3VWwJPKsdRpKwa+VXIPcFTVUvA1vkRBlbGG03m7Blf1ux4qiGrc4OF7tE9V2ykna0zdWwPRY0HczXBwk6pkdAFVsdo34uR1sSSEZJdlGzUxKM49Yxq9UyCKBRCmxrt4fNpaBR1XfJjM4lCVu0ecnzDBJaFy6qRduGhYsozcULYwvKL4pttIrtR9oVa2NbZtsWjqWDRAVbiqm+g9lSjKmMbWEgLfKchqrTOAAytqEse3amkRjlKCphS1B4StuoZ0GU3mNWWrusaTsTBZWXcoJFVtMo9Ia/NEgI5liUcwRlvshLq2grkkdGSdj60ct7Z7VjG0oVZE9J2OIUo22UdC4hbAM0y56dqZURmG0AngdbTtVTJIkGCUAySuq8drCl/a3YFs80m7WJNniSsE2fnWkVexytvHCO751pdu1Jw5u7CmyjVGJ7pz2B5VBOJ2mQACJU9ePdRtnbgT1FUqZuAmWa2tnWULWJMkVJgwQQ2d7dVa9xC6XrgmNbQBHhePXQZpGMkrGNUtsasoX28iBMXfA6ENU3Cr0CiXJyxdVr296OY7BUGGELYKGtuih17UqZwNAggcRjmh6VMneZb8MfYbCztaPqhb0YKiQNEqCn9jRE8hTClgBYbBd+sNvqU+gplF8LnUuEZBQss71dNsZW3A+DRmxRpjGNPtvd2kRha0TCFm9yS13iGFSCsAUgFN/eVZO9vTjASVVs9TYJUdk6B51mMrYEaNgHRFFIyqomYUuQWtrxKPpCwpZQqmregAPlM0PYQpVArqmlTFROUY6wJbQ14WgXH4StoVEytgRZbbKaUTK2aBublg1RqkchT8nYkjpGERVsJR/oGCVhS6A0dnqegtgCHW9KTpCxhUN4yV48gjNtYIv2WWrCVrNViABKfrhLEq141FGCImMLw42WwVHY8S3YWmpp/9qSSlpF+ZZMezMA5F4KJVOS93FSz5OOvAwoNJNgtGsGiXUEUGZBSlaladSswcYE6EsUbVEqRlLHKOmF81qOd60dBSId69LuA6TWzgBSRa/OELp7WkibSZlvk1VPaWwyAAUOEihSZ/8AyVNw5EJJG24Q6hsDSO1GMwkoWFTz1ZcvjO1WPzrfSO09GVAmSLQvmTK5pEp+exI8urpQ2SOkYacORVZ8tG1iXyO2x5bnSuKPAhvQ3xED2jRwp7bVggYk8KuH3wDGm72EOvxNx6kI/sosYbS9CBxwd23qWFRR/ujrhicyhc4lmQ5dT706pR8VpB6Toi2ooq5RcOnr1S0fNE8AODxAaSB19rOQM4r+yhRBKWxvM9oCvJZxEW0VTZAGkFg6A6ThniOPri8oKNHwtb+/CVsT/jzYrr5pww22XgEA670TNMQWON7wGA5MwNK3HxFG2IKVq1ajxpAU1tsVMMQWOF5fNrz+gMUrDwlDbNeuj+HAINoCrL8rZIgtPvnGiu5mLdJXrtcekobYrr05Vi0jDdDawhZerFfHqtgmTFHj2NZv8lIG3FJgxjJliC3pncw0Ymubwy+6jcr7IGiev/9I3oYMXm41QmRk6t1ZG4YyzqJrsnolEEizc8BPVBIt46DiySZZubvY46kmiNY6S4LmueF5ebO9qJxHulUTCRyTMza0iyqOLvO42l4vklHz/b5oLaex6sWAWu151LMsKQKk+hkMlWHQU/M42rAG5UPG1bczw6fskqfgzT3Q8BQ8Hhpl8kmDahJdnSlSbStKL/TUMtqxE97Ia+3ERmKDs5b5sDSmgENd0Ga0jZLEg1pa5pMpB2YUbRZ7g/dDRjvleO9t3fXiuO6uQWTg+9Us+BVsc9uWQccF5V3brw/tr/cMvgsF/jo5pV7M/NbmZv+Aze5wTE29+1tT76qJY7TLkxzplcr/1rtT05Pvqmma6Jo+dHZbHfBLWNfUJDShVWwD95Mb3agxk9NTUByqqkw9m7GBARv8bhIVnFRt3+iveQ4e9NpRCWj59JTcziaxdU0fzHWP2aVfoE1IJZQmTw2YExt99+FX9sl3J6enNTzVQ8WhUch0ZLvD3irIqOXUg3tI6RRqH6pQpVzX5OH8vTGoCPlqarJFJKP6B/cDPfdRzVATDoe75fawJW3ztc0bEvZBx5SeTFqGN9MLA/qFpmzmtWOfaXxSp8j0tN30MN2EbXqt740LyuvXrpsGh+9cg/+8OTiz7Lh17Y2rraWuXusZHu57E/7rlsnlnu+5rqrrzdu/MWjqfOP11zt759wu0w1J0+tN8kbn/aH7t65evXr9zqTbbb2lZdT94bv/Njy427rsnbr9nasqRr1xvWfY0vcmVHXbtOSa7+5UVfWd28ND5hvwX5190Chz5+tqmq52Dg8N30RGdTvcLuutSpmrSoFGDQwO30We6hpxe6a7rqnVd/Va99AQMgp6agl6Ssco9BX01LIL+kzdqN+4P3QLfvWdLofbbe95U9VTb5qGhruvQU/dGV3sQntlt4ut82EN20Iq7ll2a4vLTSRy+Uzc59GVyN5JPrOH1zQtt4rbvbZzkss3Yrt+3bm84r2YeDxezyr86Vlx9Xw/PuDweFeWva1KVjzyn6W3lpM2i8urbTz8yjXsOHD1L0E1btXvPVKtjp49rGcWaW0p4pU/g2bM3ca3+h3wo2VV09HPVe9S//K+zeL2en+sbhFUB00Ztiddv76EmqciqytS85BRkR6nd3VZpYXLHvTpKjIqut1nh8V/5G2uCVYE/5I81ec+cECj1L20jP54vW6LLen+9Ucez49arYIWrXilwx09O4k3HO6VlVZPeSqd4/HM3V4dQttWMxfH9gsSGdtCZti1SbW354RymhSPSpOJFBkwdS8S0txcVKUQ+gPHWBtdLnuEVJlMrE3ewSEWbvlRX0j6p8o8oFwltQnmJ3u86BmG6iwf/BBtPUIs9zgeVSYMVUxHP+G3/i6XAyXFVy+FPoYmRy0/6g2iidOISo3I9igajM45elZVnYgOi8iTpWC5276gNglcncKMoul8/x23LUKi5jaKrAx5FHnqgbsvIG1/jiqoi+Ru5IUIDsfCD+E4Bt1hNG04IpdB9cGuAcvfuR+GI+CvGrb5IxO8fcGSn+TVJaf+Txiy6Xwuhe57XK/DO4nwXlbaaC2brVeQzeXRb4fIb6O3vGh6O1PIw/8UQks/aDqHphBdXTb0fCcNj4T/y6qysuSePoW/7kYpMnSrB96ThD5qaQ8yC1aZS2LwpuruLWhUFBkFFeWeKorJalPQKNJ6C95QRYgsTRc+LdBKkYwq5EgYiFy/howKH+WRTS1VwluTXdjtuGRUMCG1hVY2MA8bDD86CEEld29iUNNeJp99qhCkNZ/LQNPT6PHcODIKeeqTBil8CvXmob9yFMoY2mWD9WGHDZ0CBdafh9Xnc7vwjMNuvQ7vuqJbjUVkB8DjCrlkCHZfdx88hcnyVw3btLwmgRdUskqKTasxmt/P4lKwX9ffhD/wU5SMRMp+1vwCnbgD463j2gp08xGqROD4hm05Ki/hwKjlvjpDgoiUmVvKYC427yFRRJHmphliQvHyRhkN60B47hylrEN32r0QWwIUeSnvXMMjfF7KkMd/COOR45oXgHBazqYmNq64kvLjHWGAdF+dpojoHi8f19g0aTsTaBSI3higSClnnthodHVZk2RU302cAJFSy84Y9eUyYZKYREZF0nyz1Co/hER6kVGRn/PSLhuiqNCELBB49hl6dHvzVbRgjGlcwaAwSqAAQfX34ORXFluBpUP+BN+8XC6Rrud/F/P7zX7mn1SxBaccd5Qo82qvcO7C5krYhjJ8PhLYZbiGOuS/0xFEyAxJRBJc0h8I51AG+MaO43gaYhuVsI2L+UAwEDtrwpZFux2gR7cytrRwHguEMux5M7Y8v4ejcwkSgqW5vYLA7LLN2MLOPcQI0n0NEoI/5vnzvRzfKhxfAjVs+dwOexY/VsLG1bAlJGwJUGJ2ytrYkpPfQefSk5a8kzU5DpPAc3WKANEPBUZj8TnHwICN3/wVtHMGd3rWGHXqRkFsya8ytlGBdjtXp3dEOpVhs9kjRsikaJEVZ0Kwj+FngkAfMZvzbA4F1bo7+bSMLey4Isc5bYwo6GEbPmFcj1btlNpauaM6tqLLuvrDxZJi3wJZYLQFCFsTHPrFhUj3qo9S9pq0kumcP0eEEH0ytlzEsep+VBKbsIVBqootgaVZ+75YsBYa+51DeaiOath+CLF1gBaToFGIkBq2hI2JOBI1pKEWvk4IAbGFRjFPBks8Wy3AcZrY8kbY7jGuQhvYgseiAtsmo2Rs5XlbwXje1jn/pYq2fNJeKO+vFmb6R1IOez+WH+9zsaz4WyFeYNz9tjSzYPaCh6kffNzgTLGO7SmbnV6Mq6zvbMTWGuXAsppTGrD1sYwjptJrVWwJEBf+2Cbtkda8Whz2C1XBFp5Lx5Yjlnbn2FajHssjFwJh+26Cy1tb34qG2EKMatieOYBqxzZiS9jynNrL7siofgnb0pPhIqeaxlSJ7fl+UQMkBbZlR6YNbGNuJbZNRiFs0cNd41XWX0JsgUi5WaEspteOJ8lR7MSBzx5EmXNxFhPEo+H88gpwMwQ+MvOE18RWDLgj84yohm2EIirYlinLjIcWVbEliBq2axy7FBJ1sIXR9v2bcwvHnKCKLUn0S9gyKQeXWljKcirYRqrYnpy9Y3POmPWxTbSDbUx4v/MGYMvq2JJVbNE2CcbYJoqCIbZsop1BwslUSYNEZNTAVxjbiBhzllg2fWIbuLlpS7D21OKAj+HFOUwUduzMjnvZxwrUvcm0oIkt4+ju7U8LBthmsofuZc4AW/eawM5GOH1sgeXgkBHVO4OSsIXX44+tzLP9yRSvgm24jq0dT+1YcvrYniXLdkNseXA3YDvi9bEtHkNsVXeWaBgkaL5cqBjb8ozYBrb8fOIXFFtczI/vZUKe9emMDVhCe4547Inj5FycWXtKH1lTrjWwmAbh+eijMy1si3s2hvMEBE4X21Pn/tOfLBpi68knRg+NsLWXNTuDImVsT+np0NOU9fBcH9t3Eyw9ZhBtC2P7D9RfUlNi+76dX5/P6WPLnNw/fMpwRthyonG05bTev6pg+6q0mSGPRblfVGzL22bzVC5tmngEhsf6Yymr2c+xwmKX2ZFZNTmyuTnTcszFuD/SwraE+wV2b661+Q3YslsWs+OpYIDtyu3BYdWX65TYxpysIbY0m3loGgwwBtH24QFHT9H62J6v9zhozgjb+Axbml03wPbYZB70GEXb88M2Bgmi1mxDLdqSEFshvcz+gg4S4Hl7hvawYFmu7DiAoeCMRRuvojeR0A9pA2F5N0jh/2/v/EIayfZ9P+45Mz3N2LRO23Y3vcfbMnMFvV4DJ1u6j2zFY7DphxzhpnULPnh3dhCl5Q65D8E8yAgD5g4qOeDOy70VkuKyzmM9FLdADiH6IMcTDt68ZIKbCWJ2jpkUk507pQZT1h+4a1XlTyWpP/HvOL39zbTdVlZW/dZvfWrVqlVVv686tnlJHlJF5aUaW4HV0PlQYMufnZ6ecoL+3JY7OzXG9vhMWhNAUtLVWiBV2PJncKJ5yhnMbaFTUutqVUWU2EKneP4MvTN+igTVlaUUkwRJE9sA2+Tp4g9i3bq19JUUhtZtx9HdFF5Ln4Q/ghdbQQlbpPYTek+x9SsWtbjoT9pJJgRNbKs/CZnuvwqpYVtlimw4Smw1967EVqXMx1QNtvnSIn2tFkg1thov6NesJGhoj1RhW2IrW1dKiW3Vkm3B3Xnfnr3Qum1ErEyRpYnwejFFCc+e4DiMFJokeIXatvWsvofYFuDgIwm2XAbb2K+wfNKeuwJs897hlntdzuSlsK3TAmEuhq2aqogatif1pTSxffcwmt9auTC2snRtMf1qCVt4SpAipY7t4sD7ONryjadM0MTW9UxrkqB8kX7o3scjIX1sI+2z0ZNCytOychlsC7VaIIc62ALY9z24FrZ1qiJq2B7Xl9LClrvvvPBdskjtPKqMrWIloR7beFP2PcE2yItXiu3Cx3lDbHd+FQxgcTuth22kdbeY4aFr9TKjrawFUsQoMqGLrX1eyDaltbBFNW2H/O5MZFtWFVHFtrg/12Fxf9rYZpvWbxpb4Wnw/cOW47hzY0vUYrv/K2cF2+0itkQgrcR23qw1SeBKPuQfbwsnU/eeLg+EDz9OVmFbdZO5Dlu0botu/1dhC0yf2NJPJC2QQ0hIBVuOUza6PSQQz+svyeQyUk0D1ifuTNhRkFRFqm43FO/4lg6TXvkwQaUq2B5X7gzDnWSaAg1iSzctGk0SKvmn9CYJgnPs/cP2XJYMQmwfgzps1z9sWis3F2JL2h4twb2klfFbfEBXY1u+uVupxiYIjgGatjSFhTlXFbZnKgdXGVvpLhl06qTYYRJGW08W9kbH7QWkBfJnXomtooqOppKhRGYKbItOyUAG3iUz8Wd5SVWkhC10qryuK5Wa6B+8b3k9QsmlFHfJqny+JLaC4e0GFWwjH528L+u2V4ot1QScTV50BtzQxpbpudcztcvqYfuaEpgP9+BuILZE/yWxxZr3knjTRgFpgWhiKwhr8ILlcbjolDq2EXMsmUk9BJKqiCa227H4qwxDrMmlNLAdlw4R7xVNEhrEln1A3WGrgm0fPAstwElb+ENGG1uB3Zp4+lHXoQ62zxJC/EME9r2wEO28FLaJ0NIXiWT0Y6aAtEB0sJ1wwXEtq4NtIoRNwVly0mk5RKoiGtgm4CSBms4wuF/SHrmC0baBBbDy9YnuAhicvk/fYauC7X30kJe7CbPYdSYJ0gIY3TGug+1TBbak5VLYxkPrDxPJ0K9ySFRhVAfbJ5SwUVIfUcU2HnK5IbbhpTiNVEU0sI1DbN+tZ5g1UtIeuTZsLzK3FTaa2Tts67EdfIUiudR0P2uErWAf0MHWsgEnCQnYU3CSYPNdCttoaPOROz70IS5pgWhhaylPbSOa2EZDrgWI7WxEVhXRwDYa2gk93c8wrqhc6pqwvdAkQch/vHOHbT22sY/th4WDmY+kSZsWtgu+FI6F76/rYLsyAS/JhumstQlfGGEvhW0EXkh1fTQKHpBIC0R7tMXMcJCn9EbbSAh0hWJLr49kVRENbCOhrVdLyQwzQsulbtMlmSDY5u+wVVlJSEy0fNQxf7iC1hO0sM0tmT6+PwD0LsmOHkaFo6l7XyxZ+lYKwqWwrdYC0cZ23A0vABk9bGFN2OshV7qoKqKB7VbINp1IWntsxVIa2P6NPLZbGsA2WdS7vIK5rYC3c3fY1mNb1VzdSYLuApiw+Tiu8UzC+bCt1QLRxJZt3hX8JkEb2zpVEVVsUalwVSmt0VbzwcU6bEFL/qrmtkLuV/E7bI2wRS/lXAxbIdzmjOfzyaApfhls67RAUnwkoHFJVvVYWh22KqoiKtiqlLo8tg7Pla0kvD/P214ntrgWttUPLqphKzDL/c33u97KnX2EslVcBNs6LRA+ErwYtnXaI6rY1pdqDFsYhJtYSbggtvjtw/ZC1LIHeBlb7Rp2UEoChG1Aj5AAWX5MXPOZfaaELQhLmgM19jEl9SFKct7zFKVLPCr1WK0WiAixJdGbuxDb1BmvYcIBRpELRWyL7atTFRFOUCJsCduKrEh9KQW22hdSu0HiRlYSKtgSoPfLIKDQbXBBd+iCH8ZhSKcd9G3CtsCJFzAuUh5t/6Kpj82HQBFbfF8TWy7mk59JAPiWlua2UECSKTK2OtLaeZRvExICAM6IpTfgmcNUxRjkFDoFSJk0Etp9FcNIauHRBAXwzXJ8amtiGaSXgLAFoNI8JpVKlg1e4bGQDbLvKYDt+1EzmmdIFPwGsUWRkkbbDcDwgmiALb+FRtuZXPb2YItFyvou57E9JHEhYRsMJw6S6hZfhyGUJwlkQqNMMgHnYjK2AIsfJFX3lkyG/SVssV1NpyI+Qp4k4MHt/aR6uw7iXrg/CVug61RxtCX8sX2NQgfb/hK2vqhWTcmddYoi+p6iDE9akTpIxrEStjiRSGrs8ADl05WwhZHaP9CKFEaiSQIMZ4BKJPYTFauNFMKWxGXPD7QtmdzHAErvcZuwBTg4b/a6snqFPNr6NbPc4SjdlvTgIgjq5QsHMrZE0K+dMQ+Ntk9MhJTpTUfCA00S0Nw2iGsphuDogJOxxXWdAi5ICDxRBHScKmJL6FSFmgd6n+C6kQoi+Slp5gKKsh2qRpSwDWKaTgWQUxK2BEoxqMyBV6ULU5zbgmADmjPI+elbNbetpFA/l0lfg9iS+ineCaKIrUFl0txW1xX4kYytQVVobmvYqCK2BlVBbPWlGdBRImOrsz8ps7k0tzWO1KJBV0jYThhHCuUAk7K96+TVl7EFuqn1K84RtwZbOjVEEpcyNNoaykqcE1sdOye2On1L2FoWG3Fq3NipCrZ6YicG2JYipcBWTWKCkLGlDJ2SsKX0tSV+qdhmD83VygTnhJYErmZcS72hnHqfHO1yk0ZdBpzdY4AySvWPdXRraCko9/hFB6bYn/ppm7J0LeCkwdCGO7utuFEISH9HN0kaHktdL/xAtxSsiXzT5QqSBv0AXF1WA5UaeD2x3tHiLZKveQhTRFdXkCAbO7fCJlq/viWj7eFLJ648mKnzGVg1fzEN9HRnUJVLncujPqMjABvwfuHRrQgOHmDK0e0iKINizr6JaVDRuFLvWE/nyoiPUtXCqtSEDax1Lus3j6SCk/Zup9EBD1y905O4QU0by52eYR+lr+RD+ge9XyxThpGafjsWpGrFd2p26OyZnoXwApXPavXaKBKsdiVuxwIYTeNd4875ijl17CvZlJvmTFaq1/bOqWuOPteedWhOv9DsoC0xb5qdd341X+VO1W9fjZm3vd1Tzq9qvZL+Km2Y6sZCJuucq1LCWe/5tNkVtw69q2pY+UfJ/jA4lpjvM/DcOda77eue+ErfJrqwzT7bu690w+kwOffGBudqttbY3NDYvtM8N69nzvkxU3ivc2S+FBsNp7p9m2abUftkczlnX7rPz1nGwGg6exFs6eX2T+83aA/bH7c/rCp9r33GYWv+5P4nRbt/r/lJr3Wsu6WqUKdjZvJRVU1PzGNW8+OqQm0T9ukX9+7f/6S86XG31Tb4pFlZqnlszv7qnnJLy3OL1fL8QVVVg45ZW9WG5idDY9auGqem5yba7lU7Zat16tGEY7rz3ieKTW3d1rFap2wz9pdVNbXWO/XJK7t9DH7t3r1PitU9eDJoq3dqduJRVVXtprpIPZqcsX95776iWFuXdWyovcqp+9aZmYkH9/Q79F6/3QEj1fzp/U8/bW6G/+vYp/cfT6fOC+3ByruZmdlZh4bNzC7gqfo07cbYZkGXbdp+YZuRdu6YmymaY3ba2h7wd1oVvv3B/nupkKNYBJp9sCey1Tdgl/4tGyrgmJl22Etfm56xdQRi1l7FplmHfU6uqmITHa6Es3Nyrjocc7DQTNlLh71nbC/YOeaobHEUfXeUfoc22L2zaRqcUwZ55vdw7zOz9pmZslPP8OhYz5S97NQcLGCX9lhp3+QL136NU7OOObiv6ZnSF5FTr+PBTmulJgfas312dlbRQPtg9/amacBe091SdYpI/QcsNtYzXSkw5/j9rB11i0Ov94pxkoLgmJlxaBtsl93xths7L7WTpim7IszVe0f1Tna7k9nzX5JlrDZKqQVSI3NhKD4i/QfKS4PoGu9IqwAAIABJREFUstRq+9JJVQkCI2WMctXS+isYe2u1SSuTyr35A8W9BuEX4OR0/oX7FaqxVAjDcQxXeoZ2uNqBda0hMb5SXbB+Pw4CFdVi9Me01DVPKBdxAXQpGKg0Fi0Kj9nGbHjNUi+Q/JVdgk6RxHynu99PVMoEpP9xUFXTWoe/a0WST6ksmMIa/MUFYEk4kALmryWnFKvJwZJ0i/wlWBq8HbP9F6BcFEYlJAGUYpkggHPUjkVzEC34FvcWAABD3w5WK5LUCZnAzTCk8kcBPUOBINwd55zbrvdrL50XA+Ht2MxdYCWhB7U2VL6RslexxDms9J3tAEEGu/rgNWpAcSMrUXUTJxGWVDo6IJC+rX21+zewTGIXXXZ/2eWF169UuciBVLxybyjmh73/1mSHfR+Il2o4OKiqKxEjgyT5dXcfrMgf0WwBugUXfPYMXsZjO5XbacmDRLLiWiKKwYuXri4PSQSIRLlxNb5DpwA5bppCUiV7+7X7KRaKU9Cppe5epJ9Sckoqu6csCiNF4s+f49CpzUT5llX1PbFEFF7DUd1dKySliFTRrcSVWQzdx+lfOc/ImE1blwCJk1pV7scDsPsm5nMXXLf1FTgpPzqPEsmXjTuHlb5TwCCx/RZA4STLS2IeanfMAxCz51+iw/AEKTRwXG02I1FkeSRm+rJ9HQJ5KKfN46RsevyZUgQl4qcIe8s8AMGotH8e+c0rGsHCb6RxnPI8tiBNU5YT1BvAF5DgaeeXaIkqX/k2zxW4QqH4i8gKaJmqv32VIAK09MSPJOBRk46Pj2AEcLTOkSCQ0H6TPwtZ9D4eIcngjmYZ8RQ97dL5AsnFV1JQVmlaoISikAxqsN0LB7XDygMdskSKoCJaciET2DB0eOxc2g25tGkFZXVRFaqQIhXFKGLm9fknCXQSKZwDnsvtxlg2BUkrpPOxgwOUBexCzQtQJNn/hqSCm1xmZyfyQ1nHoOI6y6I7PR1daN2Q/YkWuSR6fqymHp7dwgEJO4MgA1mBP9iJIyAFdIDwirrifpJ0QGwJf4I/KHBsIo8SdZ8pDjkIOQ1PKN7HFoIIbgr0TmSXUTkmeZYoYUsVmL0znvmRk6KM9lkKuchtSoSswsOEYb87Edg/o5zPXI04ShyOyY5WePq/Wmx56XitzcMoilwYzhKG2uF5KUCL+d1tWsgyIsemC3/eSx+xZwKvleXsHAb3HYVnR9v5JEfSpjUCBH8UWFFUTUQt7gVIiO1F7pJJ2IpZ+0D/8qHtMM8lF6JdMyOZCzZThKMfYX5NkYFNMTjQ/3RBSokpCXhUnndk0eI7wpagCmFbLm3dU6tqCyfJATiGEIiQNwOvNwpsQcKoihAZWzj6JY5G98Xsb1MqCY9pPwnWILZkcEv0Ph0w+8/qG8dBbEkZW5KNdGzx4TVR1SkCYotmrQzzYpFjJwfrs35zcYwgZlrhsXSl2IrJiCCqKtps4kAebf3ZwuqrfltyYS2fZxcSVuv4OsuKwpWYGAkSpG32vNjCsYlmz6IFUVDDNg4HlLkLY4uLuxYma4lYnbZocmmuc/HJ8tnlsRWF/cmEPNZWJc+vwrawNPc7PyfqY/vTJCGmHT9Kj/JpYss6MY4aY3lNbEmE7cqskJg+1cWWKkS7J5mNZUEbWzg3Z3JDFib10ircGLbLQd4IW5oxxcWFZefkuCf/9epTp2mU4YWfHVs+2rcpsFePLSam++3r0dygzzMRtVK2zHDqoo1TYsvYCdWny5XYiidmi7q8kAJbZigninmhPsO4RIij1Ql7bJ+NOfLOsBoCSmw9L33OFQNs2cjbRSLkMcCWto1urU/bbmi0JVnBvq+h56DAtjA3tAIY53jclHgTHozPrHLClWI7cxFs81776hF/HaNtPrPsfJsYTe7aotbwOPM6e3lshYJ3WTDAFhyLyWFrhjXAln5zxBcYldOdAtsEn7HFbEe8AbYrfQsLCwbYnkbeHti8y5w+tsyEd8kWuClsCfZwMn+mXkwxSeDywG0NO5cLlsSbiCWpKjh049iy+YW8eA3YApHys8woZaWjb2Vs6ctjy5NTDMfqY0uwjB1zu06NRtvJDTHjZAS90fY7IT81tsgajbZrDjY9dmyILefu8xhg++NkYmho9/LY4jrYsmR5knAKh39OENTeWFJgm3KecMuLC+v5Nwcytrx4C7BlXXmRvY7RlrFPTU4lbNnoZNQWmcpbMfbS2DKvrDN2tXqqJglLUwVmIszqz225Hds7m1elkALbPV5Yb9tV7SQltqtdjimXWk1KbKNTwk+W1YI+ttlpZmgpOSnWrYLwe3DCPdP6DoDAHs9ovV1IB4gittvcCaP1th6JnOqErlEnnqgWgopJArs47bBG3P+zYEvYomOHixMMx/382BZcheuY2+L8KZ1IMEKSPUmdpI4ybDrNXRhbkuyXsC18H49/lzIabVNwOkLT2isJ6whbkftzbL8gv5NapfhRjS2zpy76pMSW+f67+JGgj+1x4Qfu7Iec2kWpAtvTP3PpI5Zm67AVKtjG+JVYgdNwCpSw5SmgASSLHont7ETPXzHYj1oDZxnbAJwkxONpIZ1lk4Xk8X6B2WN58RZgu1AQrmNuK7DCKS8gyXCkKy4KF25qEVuSgHNbUbrhoIsteYqEzNUjq8AWyRtLLa5V/KjClmM13uJTYAvbKLC8HrYEoDikXiGwrP5oK8KjRuQl0VwtbPE9YTuhcSmvxBaGXRtbNNpCbFntdxQr2OaEM3TLRWCR/5LEESv+3NjiPwgF99VhG5P+OhyUFc413xS9CLajJAEHNs331BWTBFYSMCgBwuIz48tHKqNtMfZ1ih/ZqtG2+NZs5aE4pn60rfRiwTO+IO3Lt1KLrXb7FNjWfhQu5UmAkwQ0t0Wj7bXcJSu/eWtN1GMrybML12AXwfawD2GbgV3FcurYBiC2by6K7f/m+avDlqIujO0b5/ZGV19Bia2PUGKLtDw6lhLJDN4laXkkVbC1l9MmNo3rYTszuDWJ8j0eNmeU2AJAXgxbbP2GsQ3dL1RjS0hO3T5s4SmO499jbFHGlh05Sac6tihNdxnbyIQqtvpz28o99o9iAtOUFATrsnB5bOO+ArbOYvGbxNYxKahjy986bAXhfcYWGWgc2/GxS2B70nQocB/GhY0vCvrY2nYbwJbFX9tsb/DCDWLLPiRVsb0muwy2mnX+ArBl3oAGsE21WrgGsUVaHhfHVujwC5F7R/mnO4I+tvepRiYJLHjwALA3OUnY/ZujO2yvH9tSXmFdbJnn5hOhQWyRlkcdtidNVXaijW2kpb8ZF1xTwlVguzcQ8K4FB29ykuC0CnfYXj+2hRhtjO1cW07QxTZRwRZpedRhyx0cHOw1gYODsVm0TsZpYyvkE4xw8IBmveMu5rLYFvLokqxwk5OEZ9gdtrdlbts1K+hjG69gi7Q8VCcJ6SZ4gEy7DSYJkg17BZd5y97HqWIbfwPtwx74Y/HWrSQkmug7bG8Lts+cBthGldha1LHd/ohrEFvQxwrN20L+wz1VbI9i0O4twR9JY2yz2ZvBtuj7klm4w/bnxbZCXDxtgG0kVFRq7Ja0PFSxddqExrA9ehwTWJQQ/n7kspdkCrsZbPs8d9j+zCsJlV2PrxpgW9IOSXRLWh5q2OafgBK2tqQutvMO1P/LQuyj3M1gW46BAbaJN7sG2GYkedU7bH/GlQShsuuHDl1sK4ofiW5Jy0MNW8cX+RK2HXE9bOMtqJujreZmn3CF2Ara2GaaPA1hG2miDLBdfyHcYXujKwlcHbaKu02VR8a2QB229VoecX8ttkfOj6Rb9fYZTmA+yulhm5Z3hlYU0FMrGtjGmHNiK+4FtLANfUQ3hO2RvFMdbEcWfjHY/vBLwBaQEFsCBDa1U7QXtLFV2CYg6rCt0/KI1WKbf/pYvssGfgUnwDajlQTl/YIStgR68Z7Tv7lL4Dn9zlDH1jl3VXNb5cFUxtafu4XYBulfALYoVXq/5SqwDUOOarCt0/Lg67AVdkvPZR9lMlnhQtiid9Z5I2y1X1sSY5rYHhxd2SWZUI8t8GdvH7ZE4NpGW5zjr+gBDBYjKKPRVqhgu6GNraiGba2WhxgLFrHFEue9uVuzu8okQQdbsYLtjzqdEbyBlQRFqTK2+HViu4tfENtrG239B9lcLsdcgR0ECXluCwJ0VsOYBAbh6ECE+BI02nOdMUcMjfIkDbZjJOGPZjUNpcZC6T2gpXM59aqyuwESpfegKODPaFWUS/jk9B7Qqf3sj3BDpVEVpzJoDjTYvoacUmYNqjIa4EVscZI+pFWdYjKRQBFbEMjkNCPlk7ElCCyhFfJcGkVqqN1LACxKZ6/LckjqwTZ7LskRaZLg31G2vKrKHMo8dPHHxIEfqKY2u4BtwBkpwpYKYlpFAKJWxhZfx9V3iwcwPyGPthSBydnqVFOvgRK2/qBWA/wYoOTRlvJrOoX7UJI1CVscq8nhV0r9hsM2kfJoSwKfZmq/AEoUJmELtPaH45JT3rYhgiAxTDO1G4acetGBNKS09EWguzBS8tyW9AWvzQKw6RcZbUlSWxlF6r5LYCuLYlyFwdhRaG5L6KSzp1DadQlb3aTwFMJ2Hb1NJQttqKWNR68dy9jqJbNHWc/bRpBrehnoiSK2dWoAykzwFMT28YpBHn6iiC1B4JrCAPCsBNbaBqWWEepJ74tOSdgCnSz7MNboFAAM1QEubITcdMJ2Ljm9DMRWStavk1efuCC2A+Xk6MTVGEUNjOpp56BdQXA7ukijeghy8LEXAB3/YE0kMdsyT+jrTlBobqvvlKS/AZ0i9AUsoFPofKwmGVTlFjGDUuXoxgByuPJ4pAi2nlMvvgSKo0etDIzU8GPvBaQ3ziXTQRHAZj9XntB03zpRJ5hS233vRi+C7UtwxdgCwjxAGXQZSl3XYUQRNPPTVZLQxRb+mX42Y4AtIuTpAGXoOOjoNNBdKTpF6GOLFLyezRrHwPP0JWmg9AIqkdLGFlr/0xXqmrGF9tp5HsRy6X6PAbbwh30id35sk33LoFFsyaq/NG2p90uMKsZcc7T9ur/PA4zCtP7F5HzRL83RdsM/OG8JGmI7M92NGXC7QS6Z+5aMaiJ9X07O15yN6wcmbMg5ius2TpreTHf5yFolpxqniCWzaanCrVakvpyaJ2WRNII8zxBzLmyx3u3z6TbMzwF9bMkNvyVwAWwzbpNr2dOYrXqWPctrnjX9Ui6TZ2rY/c03sNbllZXVlTrzfPvt8nz3+rLJqfzaN2gHq1U1uQfmtkwOA++WbNbE6NvllWVtg27bzRH7oNugfc4er8fkXEH//FbDoFODs5u9ds+KnnmW3r5JvLYtldqlNNScFc/Kt8gp0659yP2N51tY22rZaupy9qx4emGkVlZkD9R251kcnNk2zUhVox/LDds3UnQ8+s2RbXVl0TpRlXVZfRWoaFKRTZO9uvtqOgZ6/taSNFj+oKX1h2pss2n3g1Zojx49ajWyx897zeYX7XoFH7W23B9cW+q/3/pZ27Oe3t6up5WPStb62WePPh1fWftdc1Xlz7p6+563t7aVNrS0ftrvWZ1/+LD4bY0dNj93eReeN7fpOf6opXV2belvP9VvXlvz71bWxpslHz97pG6wUL9n7Q9FpzT319zh8rqfN7e2tdW53fKks6e363lbW8vDlpm1pQEYqdaWlqoSSnvU+nUqudoGo1HcrrK7lkefmj1r860tbW3tsPKejvbWR41Ze0d3b/fTz1paG7BHbQ/HE4qFhH3S613TNq+XitN0uKM6Up/VVvpwIHqYjQRWvdoGP9uuHW3pHZvFMvzbYYtlRDJLxUaq7LeWYcsbexIMoyIjKgWKZnk9OjJsGbUMDnVNb4P+/sFh+N2h4eHhcgn4b8voqMXy95bhsg0NW8wmsNY9MDRSrtfy2mIZHRktO2PRsr+Hu9P+FBrypwF7DUuNjCJXtUpIzUMlDWoalR2qj87wyOBLM9gZ6xuAH74ueVbVOGUsoSdW69q+49UgDOOgZEN1BrfBgsMoXiP9vYEde98AbIL0kTLs9b4MWwZ7x0O27sERi25B5Anc78joaKRy/t+fM1vqAjVatNewauh6NLVkhi3UqRY2F6epwcFRDZpGUIiGLS/dmWps0/Zef8Dv92NGhtQyPG2LPe4AWk70+3W+40PFQXC5I+R+juF4wOer/hj+jrb41ivbgrDUM7f5XQAQ5dLBgD8YxPxYcV9+LQuggn5dCwRgI3WqKFUE94NapVNGWs81qActIaNdBusi5McAwAYnQo8dATyIobgHsLrGVYojr3GreaJ/lcD9Qe2+CUhOw4gBzDa0+2ICrfj6MKNeRaLVE8/nerw4CKwbxAbzwdKY3XRQ5nbevIJr1u+HruA+2wDo9EhL8JXIVBmEI/hVV7jXhaGO1gomwHFPB16FbSbV7acAvrG1tbUp2ZaW7QCcJNwPJ+D1ajC8LZl6we2t8OZWOAjn4vOzHSuAwPGtza1thUlldnZ2tjbLm8IApwjPk0F4qeMPbYZlgx5tbYc3w5Jf8PdNVYM729oMb2l8WiwDi8BCumWkxqPqwjrlwmGp0UYVydEMb5VaUrZNCidIvGvUQUkNlf3frPFMUT6EARyMNmPwS6RO/0R24PbtzRDsSvBi0gajGAhv78i2rWkbQXjtOPXJKtJBD4e3dW1nB7oC8D6sNEuI9wVJECBrWlhqwk4kFKA28M6BBSTDFNaykJ+gwBiSTAIBDfI2d9BNftI9kakabVNo3dbH5FHGKDbP5gtcvsCesvWWz3hhyQdzkNpIARXlWD3bD5DUUn8nBcj17GkBls7DWmXtjtPTU/hvjjtVSHvk0JrSswmSCP5zvnAqW6FQKP2N/lVQ35G0uVT15Qw1O3/GFk6vojKputNaO0b3EExtAZIM7BUKeRSIMznyhXy+voaTMLzWdz5DCxdZVOiUk/qouk4pOOi/EwIH1MBzD+QLdVHBoI9OohCXlZYgPILSbF52gi2c5FHAVeIcxgE5NlfCdqsXLUT8dKZVeZ6CxYfa0TMJiQJ0Wb1QJEASs20OeABEtP1MBgFYMx0qsc0lkVJOgOVZOpsX8gwvcmxBFFSeNjlj1wiCeoAeEPleYMTj3Cl3cnKk+RRIGh5Iy+bODUD6eJ47YVgxD8mViiMpDw4l1FRkGWZXYHc+myRAcJfXMI0n1DhJhEO8igeB0HMvZ6LIXfphODn3H18jDoLsFC2umh/iJInRgsgyAotySIock81x9bnyRHEXFnd1oMRkECr++CdBPC6cakWID6Fnap6iZ1z3+dwRRIrRzfeaDEAeHgUBETwRCn/JMCzHwOYX8qoPEomRqkdpNvvQ4tlpbdY+xQN80JeRx170KA3HafQOix6XnmuZIYE/rv3kFQ3d9PapYAt4bmfQ7DpKuliRjayfsSrYcry3hG0i48znxhPC15icLpxXxRaOtjK2As+uugsFd2L1gK/CVvE9EbaPeo6w/befF1uU/fBmsP2RFfcnaS7qjS9ziamXAxv1nYuwJQhXB+whqoDFRM/cCe0MhxvA9iDvdOS5reGkjpdcGi9iCxg2OdFvT7KuH09P6cXT82Er6GPrz7ICzTeObV30NbHFRPpN5MS1tNYTWV8HC6qZNHmhgi1jPYz1uk9tkRAd8nqP1UdbkixiK/I/TE6kCtMRi5urIU6BLVnENnpObK/Yriz7tsb4QsHeNrcANDETuSULJpIu98u9qVU2aclsrNWMOUpsT7DlvH04GXPtxzfBckTjWU8CYgv7CU/m7QPRU9ezOLPsyTFgfTW3lT4jT6qbmsIJwvsIR9gyU14u5Nx9HqKWQxOs+vO29dhSpyKrleNUgS3PutlGseVFtmFsg2LEwbLZKN5PPseA65Q1wFZ0RVYWx/dt+6PRLu/AhqiNLUVAbMUtH8Dz09GxtRrdOSW2FHk7sBVuDtu8fWuiEHYuv9m00PldDz06d8BqYUuye5PJSc8WhvtWJmxLFsYI2+m5taz9VdS5OP8u+mxtALNv0IPVT77ySYRtG8L2aH/4iGPjsb5N82J4qmFswTGcV4r62IJAVmQX1LHla7Dl+ZMTvu6ko4JtNik9Js4TzjzHcVFbbIChFlQFEBTYfs9T65OHkytu2hp7zbqDgi626wLnmnfamek9Z0wTiluDrXBT2GJ/Ef/ZvGyOhxe25iJWJmF58S/WjbpJQrQ82p4yNnw97nkXx7yTvqOxrD62qeNpyoG5rKH+BWf/5t/mFxcd4dywJrYn34/D6S3H2tKj+6nGR1uSza3jDErszuthK5wZYUv44wK8Js0fxZeTrP7cVtbcPZC1G6JjjJjAY7aoNR9a4NReAGA56ZJsHo7NCTE1N8UuTW6lrdGp/KI2tiaErVdM/XbRMxqxx+djmufg4iQBzspiovAemxLbsz/MfTu/RC1szqQGEqI4FrJGxdo5sowtuiQ7FV3T0cy8nVlfnwKMNaPxQoiELYkmCbF3b0jbxqB7cTFiKSy77VSyXxPb/A+WFM/4GRttSx2eY5LA/ssz69jYmHWGqbuM28SLj6VBbNmFY1H1DP4dwrZ1loJMsW70iuBY+z/WTVGzOFGHbVLGtjA/77P90/4IaclvLBQMsWXeLrGR10zSGrOfLgb0sCUhtpiD5Vyzjj3XSl7rHZy/Pmx9f8kMZcT90YA7aqU9duyb3uhYvKZzFdiSp0Lo5Q/M7ALvW58mjmy0DrakhG3C1UPbos4F51Rs7OybxQXbQq82ttzyFDbnPrJs2tLpxicJ5Glh28/kcsxPBVYTWzwrFhbyqthy8Qq2HDr3M9vUcd1kWRPboMAySy5cOFmNADYZKQhG2LKhA4EhCkcks8nuJFDJGi2QErYkwnYzJrL7gVB2F169cXfYFrHN0YA/LeDxyJHnkKcW3CmBovWw5Y7/6Zj7l3/jv4+HDo7/T14f2xQbZvYojsjmltxphhBi0ezXAfxEC9tjgcVcqycsHqKOjsJco9iilQRZgvqs7l1nBbbH/gmv6qvwCmzj6DwsSoLKQsOjbSMBr8K29tNaLZAqbBu44PkrnCRkef40ny+UDa061hz81dhWT/UNRttGrj4Vc9tG3txVG221O0uBbSE2sKc6O6xgG4jrvSx6XdjWaYHk1LEV7rBVYPtjzbEu1h78tx5btiFsRSEhql5RK7EVfw5skRaInOXoRNICSd1ha4jtce2xTtduYN4PbIWKBNYtwxal+f68aEgL5A7bBrCtPdaTtRsO77C9AWx/jaD9h88lLZA7bA2xlYJWphTp/tRuSN1he/3Y/vrfP//jnz7/468lLZA7bBvG1vdh9ETW/Slu2Dcx8oY7bG8K2//2r59LWiB32DaM7dDS3Ims+1OFLdxwh+21Y5tA2P6v//6n//u5pAVyh21j2EZim6NpEyPr/sgbitjCDXfY1mOreJTmKrCNhz7/0x///e/+x//7XNICucO2EWwTcHCdxTMeXNL9OZA3FOe2cIM6tpoPZ9xibNXtFmAbDX3+n/7r333+H//hc0kL5A7bRrCNh3aij5qamgYl3Z8DaUMJW7jhDttrxzZSWQBDWiB32DaCbTS045mAlA7uo2P9QNpQwdZyh+21Y7tVCTjSArnDthFsI6GdAQwGzetEx/qBtKEURbjhDttrxraiBXJSkLRA7rBtBNvqY/2gdsMdtteLbb0WyB22htge1x7r+7Ub7rC9ZmzrtEDusDXGtvZYT9RuuBlsifcbW6/Og4u1WiDowUXi6wtgG/wrwrb2WKdrN5xcM7bBnxlb4XLY+jlWU0Gm7LbgIUnqwTsYk4RK5Gq0QISkn0LYUiT5j7xoLGfCegkpTwKJR/Sc+MVbofjCOQAYw9ce6+JG7QYxCkjS1UGQQCEVrfm+uRAqvZQT/J5t4BX8lB8UsWVETv9VPV5Eait12BZETuPFPzEEZGwJP615pPFxPwDSu2TBmNaOBZEOUnWvQKbQXTJ/Nm9sCQxhOw+xDTPGpSN+glwyf0FRpC91dHJsYPlDDBSx3ci/z8ag5OGmFvgzuHucpxOy7SGj4ceZmg0MVcIWdlHBqPKsH4kLPV0jANhkDGN+zGwVJwkgmDSunEE566uxBVhW42vHUnFCGm2x77QrDQUlbAmAbxxp1HScjyNxFjVsAQ6oommLMmDop4TtupR1X9eIdSBjC2PiJygjIzGqmJUG+Iwr/wVb0F/CFkhhMYhiIEgWsfUFAWHUR0EMqbRIuc4DQcOYU8EAKGHrIzaMPPdDAquxBWA9oOU45UeQDLUhQQmUCJ/QcBhI2MKfawBogecNEqrY6qlCVCfNhtgSJGi0MMJW0gsBuL4VRT8kbP8KTMa2Ki46ohwSto32EJokrMgiMo0EvTi3bTTsRDW2RrIrJUEJ5ItWGWlua7znWmwPB6uz2hth62w8c7o82pZ0eAyysVdhS7zfZmrFG2ynNNygPAkNZ7WvYNtIzEvYNqomU9Elk0Zbg1YosNUpexFs6dQAaBhbQILzYdvfScoHheHJU9LWeDYBGqT8F2ywcaZ2PwkA0ZimFkE5nzWimFEi61WHR4G8fsyheVrwhh0nqbH5ErbbvQ1gi1SnVI7DKifI2cczRvwRxJq5Bts+b8OcAOBqn0ADfmOl8Tlnz0rDIjyA+Pr5QJAk3/95wrppzA4noUYTW9koAh9t9cHehcU1+15hgW7HBChpmhgO5QQYf+ihZK0Sw8ATFDCBEraJV17SgBsSdL92GToBbBM2oKVJUsSO2nDZq/PbHk6NefwNCgH63T0Lvc4gFmjM3N3bzlceHCvLKOrbitnVN3tVYpS313CvZSr83BnEGwsL7pvutw16AdJhLKdG1zafbTTaNeNHUTSsGqXznvli2rTkD/iVapcapQMBzG5Ol7Q/snMDa0FdcALY+CDRs2TElLM71j1XUfBU3bX/6x68Rrth7/cdLxuz35hfLGSAuXegseKmXt9hZrbj5StoDRSpCWEUAAABsUlEQVQ3dziS4dc9ZnP/b/rfZxvomtmjgybTq8aKv+x+FUq4Ol8NvCyHRSc+v+maiOXIgf880EjMYRlTH5H+usuMihtaf3+PNVJWrKH33F++0mvDy4E+W/RwvctU7WCt9bwkacrcM6jPRu9ysgZbOrMH/A1ZIHRIZzPJbawxo1IZOptOEg0XT9F0Oobh2PttgSQ63SU3/Q0GPZbM0pmkH2uoNLaXSdNMKuJv0JmdJJ2l9/FAI+X9vmg6U6Woq++KN54+zGRTpF9dl6JoETRnTe0iQQ/J1HbsB0mFUs65VH+RDBXNwD/pdLbBL+akRuayNbrWmhLaqN7DnCx9/f5aOZiZhuyQzkBYcnTD0uVS7SjoxgGH81TUR4eNdVCOyWRppfId/Lpu8VSWydVql9V5m8kiSjIaYvHlUnRZlyyeTdPntSx9Acs2yvmFar8ztSA2EnMF6BXiDWQdsypVNLYX1ePr/PZBIpO5oUBm73i8cXjPgW22cWxVa7jRhn3wQYq+w/YO28tgS/8c2CaSh8XxNnNnd/bLsA+gJT7Y39+HfxIfJBLwzwfFvxN3v9/9fkt///958QyvvYhs5AAAAABJRU5ErkJggg=="></div><span class="fig">Bal <kbd>Alt</kbd> kombinációk</span>
  571. <div class="table"><table><tr><th>Billentyűkombináció </th><th>Leírás </th></tr>
  572. <tr><td><kbd>GUI</kbd> </td><td>Vagy Super, néha <img class="imgt" width="22" height="22" alt="gui.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAdVBMVEUAAABDPz4/QT5vcW5EfLmIiIh1krPAhUyRkZGWlpaYmJidnZ26l3qjo6OlpaWnp6e3t7e7u7u8vLzAwMDExMTIyMjMzMzQ0NDU1NTV1dXW1tbY2Njd3d3g4ODh4eHl5eXo6Ojp6ent7e3x8fH29vb6+vr+/v7Qa9GYAAAAAXRSTlMAQObYZgAAALBJREFUKM9tkssOgkAMRStaBREQeQ3iMPLy/z/Ra7poIj2bk9yTTGZRIpfwjsQReS79+Icv2VNRvQ2qgvhhwsSVCUINLocoik7qukZogAzqpkFogQzqtkXogAzqrkNwQAa1cwgDuB3BWT0MCC8ThNEEIQB5Wx0CwgRkUE8TwgxkUM8zwgJkUC8LwgpkUK8rwgbk/+ptQ/iYIPRPg54pze4GWUqO4+uOmH9nku/PJ/f0BfJoJqEKiOLsAAAAAElFTkSuQmCC"> logó van rajta. UNICODE kódpont beviteli mód. </td></tr>
  573. <tr><td><kbd>AltGr</kbd> </td><td>A jobb Alt billentyű, Kompozit beviteli mód üresen nyomva. </td></tr>
  574. <tr><td><kbd>Alt</kbd>+<kbd>U</kbd> </td><td>Ha a billentyűzeteden nem lenne <kbd>GUI</kbd> gomb, ez is UNICODE kódpont beviteli mód. </td></tr>
  575. <tr><td><kbd>Alt</kbd>+<kbd>Space</kbd> </td><td>Kompozit vésztartalék, az <kbd>AltGr</kbd> gomb nélküli billentyűzetehez. </td></tr>
  576. <tr><td><kbd>Alt</kbd>+<kbd>I</kbd> </td><td>Ikon (emoji) beviteli mód. </td></tr>
  577. <tr><td><kbd>Alt</kbd>+<kbd>G</kbd> </td><td>Görög beviteli mód. </td></tr>
  578. <tr><td><kbd>Alt</kbd>+<kbd>J</kbd> </td><td>Hiragana beviteli mód. </td></tr>
  579. <tr><td><kbd>Alt</kbd>+<kbd>K</kbd> </td><td>Katakana beviteli mód. </td></tr>
  580. <tr><td><kbd>Alt</kbd>+<kbd>C</kbd> </td><td>Cirill beviteli mód. </td></tr>
  581. <tr><td><kbd>Ctrl</kbd>+<kbd>S</kbd> </td><td>Flopi mentése. </td></tr>
  582. <tr><td><kbd>Ctrl</kbd>+<kbd>L</kbd> </td><td>Flopi betöltése. </td></tr>
  583. <tr><td><kbd>Ctrl</kbd>+<kbd>R</kbd> </td><td>Programod futtatása. </td></tr>
  584. <tr><td><kbd>Ctrl</kbd>+<kbd>⏎Enter</kbd> </td><td>Teljesképernyős mód váltogatása. </td></tr>
  585. <tr><td><kbd>Ctrl</kbd>+<kbd>A</kbd> </td><td>Mindent kijelöl. </td></tr>
  586. <tr><td><kbd>Ctrl</kbd>+<kbd>I</kbd> </td><td>Kijelölés megfordítása. </td></tr>
  587. <tr><td><kbd>Ctrl</kbd>+<kbd>X</kbd> </td><td>Kivágás, másolás vágólapra majd törlés. </td></tr>
  588. <tr><td><kbd>Ctrl</kbd>+<kbd>C</kbd> </td><td>Másolás vágólapra. </td></tr>
  589. <tr><td><kbd>Ctrl</kbd>+<kbd>V</kbd> </td><td>Beillesztés vágólapról. </td></tr>
  590. <tr><td><kbd>Ctrl</kbd>+<kbd>Z</kbd> </td><td>Visszavonás. </td></tr>
  591. <tr><td><kbd>Ctrl</kbd>+<kbd>Y</kbd> </td><td>Újrabeillesztés. </td></tr>
  592. <tr><td><kbd>F1</kbd> </td><td>Beépített súgó oldalak (a kézikönyv API Referencia fejezete, lásd <a href="#interfesz" onclick="c('interfesz')">interfész</a>). </td></tr>
  593. <tr><td><kbd>F2</kbd> </td><td><a href="#kod_szerkeszto" onclick="c('kod_szerkeszto')">Kód Szerkesztő</a> </td></tr>
  594. <tr><td><kbd>F3</kbd> </td><td><a href="#szprajt_szerkeszto" onclick="c('szprajt_szerkeszto')">Szprájt Szerkesztő</a> </td></tr>
  595. <tr><td><kbd>F4</kbd> </td><td><a href="#terkep_szerkeszto" onclick="c('terkep_szerkeszto')">Térkép Szerkesztő</a> </td></tr>
  596. <tr><td><kbd>F5</kbd> </td><td><a href="#betu_szerkeszto" onclick="c('betu_szerkeszto')">Betű Szerkesztő</a> </td></tr>
  597. <tr><td><kbd>F6</kbd> </td><td><a href="#hangeffektek" onclick="c('hangeffektek')">Hangeffektek</a> </td></tr>
  598. <tr><td><kbd>F7</kbd> </td><td><a href="#zenesavok" onclick="c('zenesavok')">Zenesávok</a> </td></tr>
  599. <tr><td><kbd>F8</kbd> </td><td><a href="#memoriaatfedok" onclick="c('memoriaatfedok')">Memóriaátfedők</a> </td></tr>
  600. <tr><td><kbd>F9</kbd> </td><td><a href="#vizualis_szerkeszto" onclick="c('vizualis_szerkeszto')">Vizuális Szerkesztő</a> </td></tr>
  601. <tr><td><kbd>F10</kbd> </td><td><a href="#debuggolo" onclick="c('debuggolo')">Debuggoló</a> </td></tr>
  602. <tr><td><kbd>F11</kbd> </td><td>Teljesképernyős mód váltogatása. </td></tr>
  603. <tr><td><kbd>F12</kbd> </td><td>Képernyő mentése <samp>meg4_scr_(unix időbélyeg).png</samp> néven. </td></tr></table></div>
  604. <h3 id="unicode_kodpont_beviteli_mod">UNICODE Kódpont beviteli mód<a href="#unicode_kodpont_beviteli_mod"></a></h3>
  605. <p>Ebben a módban hexa számok adhatók meg (<samp>0</samp>-tól <samp>9</samp>-ig és <samp>A</samp>-tól <samp>F</samp>-ig). Ahelyett, hogy külön-külön vinné be ezeket a gombokat,
  606. az általuk leírt kódpontot viszi be, mintha az a billentyűzeten egy különálló gomb lett volna. Például a következő sorozat
  607. <kbd>GUI</kbd>, <kbd>2</kbd>, <kbd>e</kbd>, <kbd>⏎Enter</kbd> egy pontot <samp>.</samp> visz be, mivel a <samp>U+0002E</samp> kódpont az a <samp>.</samp> pont
  608. karakter.</p>
  609. <div class="info"><p><span>MEGJEGYZÉS</span></p><p> Csak az Alap Többnyelvű Sík (Basic Multilingual Plane, <samp>U+00000</samp>-tól <samp>U+0FFFF</samp>-ig) támogatott, néhány kivétellel az emoji
  610. tartományára a <samp>U+1F600</samp>-tól kezdve. Minden más kódpontot egyszerűen figyelmen kívül hagy.</p></div>
  611. <p>Ez a beviteli mód automatikusan kilép bevitel után.</p>
  612. <h3 id="kompozit_mod">Kompozit mód<a href="#kompozit_mod"></a></h3>
  613. <p>Kompozit módban ékezet, kettőspont, hullám, hurok stb. adható a karakterekhez. Például a következő sorozat <kbd>AltGr</kbd>,
  614. <kbd>a</kbd>, <kbd>'</kbd> egy <samp>á</samp>-t, vagy az <kbd>AltGr</kbd>, <kbd>s</kbd>, <kbd>s</kbd> egy <samp>ß</samp>-t, míg az <kbd>AltGr</kbd>,
  615. <kbd>c</kbd>, <kbd>,</kbd> egy <samp>ç</samp>-t, stb. eredményez. Használható a <kbd>Shift</kbd> a betűvel együtt, hogy a nagybetűs formát
  616. adja végeredményül.</p>
  617. <p>Ez a beviteli mód automatikusan kilép bevitel után.</p>
  618. <h3 id="ikon_mod">Ikon mód<a href="#ikon_mod"></a></h3>
  619. <p>Ikon módban olyan speciális ikon karakterek vihetők be, amik az emulátor bevitelét ábrázolják (például a következő sorozat
  620. <kbd>Alt</kbd>+<kbd>I</kbd>, <kbd>m</kbd> egy <samp>🖱</samp> egér (mouse) ikont, vagy az <kbd>Alt</kbd>+<kbd>I</kbd>, <kbd>a</kbd> a játékpad
  621. <samp>Ⓐ</samp> gombjának ikonját) valamint emoji ikonokat ábrázolnak (például <kbd>Alt</kbd>+<kbd>I</kbd>, <kbd>;</kbd>, <kbd>)</kbd> egy
  622. <samp>😉</samp> karaktert fog bevinni, míg az <kbd>Alt</kbd>+<kbd>I</kbd>, <kbd>&lt;</kbd>, <kbd>3</kbd> egy <samp>❤</samp> karaktert eredményez).</p>
  623. <p>Ez a beviteli mód automatikusan kilép bevitel után.</p>
  624. <h3 id="katakana_es_hiragana_mod">Katakana és Hiragana mód<a href="#katakana_es_hiragana_mod"></a></h3>
  625. <p>Hasonló az ikon módhoz, de itt a kiejtett hangok Romaji betűit kell beírni egy ázsiai karakterhez. Például a következő sorozat
  626. <kbd>Alt</kbd>+<kbd>K</kbd>, <kbd>n</kbd>, <kbd>a</kbd>, <kbd>n</kbd>, <kbd>i</kbd>, <kbd>k</kbd>, <kbd>a</kbd> úgy értelemződik,
  627. mint három hang, ezért három karaktert fog bevinni, <samp>ナニヵ</samp>. Továbbá az írásjelek is úgy működnek, ahogy elvárjuk, például az
  628. <kbd>Alt</kbd>+<kbd>K</kbd>, <kbd>.</kbd> a japán teljes állj <samp>。</samp> karaktert illeszti be.</p>
  629. <p>Használható a <kbd>Shift</kbd> az első betűvel együtt, hogy a végeredmény a nagybetűs változat legyen, például
  630. <kbd>Alt</kbd>+<kbd>K</kbd>, <kbd>Shift</kbd>+<kbd>s</kbd>, <kbd>u</kbd> eredménye <samp>ス</samp> és nem <samp>ㇲ</samp>.</p>
  631. <p>Ez a beviteli mód aktív marad bevitel után is, üss <kbd>Esc</kbd> gombot a normál beviteli módhoz való visszatéréshez.</p>
  632. <h3 id="cirill_mod">Cirill mód<a href="#cirill_mod"></a></h3>
  633. <p>A KOI8-RU kódlapon alapul, de néhány betű már szám- és szimbólum gombokra lett leképezve. Például a következő sorozat
  634. <kbd>Alt</kbd>+<kbd>C</kbd>, <kbd>Shift</kbd>+<kbd>l</kbd>, <kbd>e</kbd>, <kbd>n</kbd>, <kbd>i</kbd>, <kbd>n</kbd>
  635. eredménye <samp>Ленин</samp>.</p>
  636. <p>Ez a beviteli mód aktív marad bevitel után is, üss <kbd>Esc</kbd> gombot a normál beviteli módhoz való visszatéréshez.</p>
  637. <h3 id="gorog_mod">Görög mód<a href="#gorog_mod"></a></h3>
  638. <p>Próbál fonetikusan helyes lenni, de a latin ábécé nem feleltethető meg egy-az-egyben. Például a következő sorozat
  639. <kbd>Alt</kbd>+<kbd>G</kbd>, <kbd>Shift</kbd>+<kbd>p</kbd>, <kbd>l</kbd>, <kbd>a</kbd>, <kbd>t</kbd>, <kbd>o</kbd> <kbd>n</kbd>,
  640. eredménye <samp>Πλατων</samp>.</p>
  641. <p>Ez a beviteli mód aktív marad bevitel után is, üss <kbd>Esc</kbd> gombot a normál beviteli módhoz való visszatéréshez.</p>
  642. <div class="info"><p><span>MEGJEGYZÉS</span></p><p> Ez a funkció adattáblákkal került implementálásra, újabb kombinációk könnyedén, bármikor hozzáadhatók a <samp>src/inp.c</samp> fájlhoz
  643. programozói ismeretek nélkül is.</p></div><br style="clear:both;"><label class="btn prev" accesskey="p" for="_fajlformatumok" title="Fájlformátumok">Előző</label><label class="btn next" accesskey="n" for="_interfesz" title="Interfész">Következő</label></div>
  644. <div class="page" rel="interfesz"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Alapok&nbsp;»</li><li>&nbsp;Interfész</li></ul><hr></div>
  645. <h1 id="interfesz">Interfész<a href="#interfesz"></a></h1>
  646. <p>Alapból a kép homályos lesz, hogy jobban hasonlítson a régi CRT monitorokra. Ez kikapcsolható a <samp>-n</samp> (vagy <samp>/n</samp> Windowson)
  647. parancssori kapcsolóval, ilyenkor azonban nem minden pixel lesz egyforma méretű. Ez ellensúlyozható azzal, ha ablakos módba
  648. váltunk, ahol a képernyőméret mindig 320 x 200 pixel egész többszöröse lesz.</p>
  649. <h2 id="jatekkepernyo">Játékképernyő<a href="#jatekkepernyo"></a></h2>
  650. <p>Alapból a játékképernyő fogad, ahol a programod fut (illetve a MEG-4 Flopi Meghajtó, ha nincs betöltve program). Ha ezen a
  651. képernyőn leütöd az <kbd>Esc</kbd> gombot, akkor átvált szerkesztő módba.</p>
  652. <h2 id="szerkeszto_kepernyok">Szerkesztő képernyők<a href="#szerkeszto_kepernyok"></a></h2>
  653. <p>Ha bármelyik szerkesztő képernyőn ütsz <kbd>Esc</kbd>-et (nincs újrafordítás) vagy nyomsz <kbd>Ctrl</kbd>+<kbd>R</kbd>-t
  654. (újrafordítja a programodat), akkor visszakerülsz a játékképernyőre.</p>
  655. <p>Minden szerkesztő témázható, az egész felület átszínezhető, csak rá kell húzni egy GIMP Palette fájlt a képernyőre. Bővebben
  656. lásd az <a href="#egyeb_formatumok" onclick="c('egyeb_formatumok')">egyéb formátumok</a> fejezetet.</p>
  657. <div class="imgc"><img class="imgc" width="640" height="400" alt="help.png" src="data:image/png;base64,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BkByQvJoAetzQtKJyBcRcXHD5uaEVAnJxwLGsnPTAjDiKA6gHZEPgFjA2H3fzAEUuhYVLecJISeEVnCpHga6YVBOumFQTgFECF8wAkCEABABIEIAiAAQIQBEAIgQACIARCgrAFar1oyGpmyGmOFPjVIB0KSrV22Fw3eE74blaggjBKLOAEwcrapouIpYM1ur4XAeUVkPrRENsDE9icRNou4/oxpOZxyb4r3qvlu0Bv7SXxb/TUV74y0wKEM3LWDCaFWGvjaX1dhFD0e00t8cDcQRHcccS+Ov9os+Zf496kbSsrGr2qN5WXhaZQtRUbSOIRwg9aBc9vGdXwF1GcDYaFUxq2cT15YFFOHoQ9HIQs6qdayICutTwrWAsZG0iu6QNs45h/8MxWjS96pr8e0zcy2tc/wGO6IuAuiOFWTf98V5jJWNBYyq4PDrjAUUFuhFBzER4WlOQsQBFMUkC1gPYDMLaA5nzsy+EynaJ2b9kwBgrwAstlXVJLaC9Qir1hhXzrWMxpm0KmMHwFj1KNy7NOFUwdZdng1X3T1gQwDjlBfNMJr1tW/0P4Sy3A/YpBum69dumsN5Of9uADbLAUQIABEAIgSACAARAkAEgAgBIAJABIAAiAAQASBCAIgAECEARACIEAAiAEQIABEAIgSACAARAkAEgAgBIAJAhAAQASBCAIgAECEARACIEAAiAEQIABEAIgSACAARAkAEgAgBIAJABIAAiAAQASBCAIgAECEARACIEAAiAEQIABEAIgSACAARAkAEgAgBIAJAhAAQASBCAIgAECEARACIEAAiAEQIABEAIgSACAARAkAEgAgAARABIAJA/hQIABEAIgSACAARAkAEgAgBIAJAhAAQASBCAIgAECEARACIEAAiAEQIABEAIgSACAARAkAEgAgBIAJAhAAQASBCAIgAECEARACIABAAEQAiAEQIABEAIgSACAARAkAEgAgBIAJAhAAQASBCAIgAECEARACIEAAiAEQIABEAIgSACAARAkAEgAgBIAJAhAAQASBCAIgAECEARACIABAAEQAiAEQIABEAIgSACAARAkAEgAgBIAJAhAAQASBCAIgAECEARACIEAAiAEQIABEAIgSACAARAkAEgAgBIAJAhAAQASBCAIgAEAEgACIARACIEACivGm71v8D5im/+711JaoAAAAASUVORK5CYII="></div><span class="fig">Súgó és a menü</span>
  658. <p>Minden szerkesztőnél felül látható a menüsor. Ha itt a <img class="imgt" width="32" height="16" alt="menu.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAQCAYAAAB3AH1ZAAACJUlEQVRIx9XUS2hUVxzH8U/uvXMzY8bBRBHRIhotbqwbBRdBcScWLCIoRQulVMVNoSqYhSWibkQXirv4wFfRgguXomALpV0UFyo0hS5asPgIaLSJ875zJ13cCNlYdeX4W53/efzP+X/P75wub9BHnx++Ag9/GNrmLdS7cXAr9M6dtwn+Prfnf9cF3rO6Xjew4eD3F+FlrbEcfjn29cp3SbzuwOUaFKLgJ7hxaPunHwaBfWdv7YBqkp6BsdFHA7Ckf9F8iHJxCdI0LcP40yc/Qnex9wZMTk6WoZKkCyAIo4+hMTE2DOcHv9jdmQS+O3FuFfTNX3QbCj0zu2FGLoignrbDqYpA0myCQhw1od0VxdBMElApT/wDvbP6FmakHg/Dvd9HvoVLR/fXO9MDd+//kUKc7w6g3c76W62sslyYnblWKTchXyzFUEvSe5BWx1dAGOay+flCAHEYTMK/Y08HYWDNwPGOIBC9agzvXT8EN0/uCLK7bIGeGXmQTqFIkhS8rNZD6Cv1gGKx8AnU640AKrXMI89fTLRg7pxZESRpe1lnvoJfT+9sQLXWeABBEIQQ58J+aKUZgTgKTY/L1cZvUCrmV09P/GK8ehU+G7y6DW6f+vI+5PPxYhjYdabUGR4YubZ3KxTzcQxPno1vgpG/RusQhUH/lAeqU/HM7Cds1+CrI9d/hgtDmxdCLgqbsH3o2uj0jSpJewssXTz7T7hz+Zu1HUHgP3tdu/uzdE93AAAAAElFTkSuQmCC"> ikonra kattintasz, egy felugrómenü fog megjelenni,
  659. ahonnan különböző funkciók érhetők el, bár a legtöbb gyorsbillentyűvel is behozható (lásd <a href="#ui_kbd" onclick="c('ui_kbd')">billentyűzet</a>). Ugyancsak
  660. innen érhetők el a súgó oldalai, habár ez is ugyancsak mindig behozható bármelyik szerkesztőben az <kbd>F1</kbd> leütésével.</p>
  661. <h2 id="sugo_oldalak">Súgó oldalak<a href="#sugo_oldalak"></a></h2>
  662. <p>A súgó oldalain a hivatkozások kattinthatók, és a <kbd>Backspace</kbd> leütésével visszalép egy oldalt az oldaltörténetben.
  663. Ha az oldaltörténet üres, akkor a Tartalomjegyzéket hozza be. A súgó kivétel a szabály alól, mert itt az <kbd>Esc</kbd> leütése
  664. nem a játékképernyőt hozza be, hanem visszavisz arra a képernyőre, ahonnan a súgót behoztad.</p>
  665. <p>Kereséshez kattinthatsz a menüben fent jobbra a keresődobozra, vagy csak kezd el gépelni, amire keresni szeretnél.</p>
  666. <p>A beépített súgó igazándiból egy nagyon egyszerű MarkDown megjelenítő, és pontosan ugyanazokat a fájlokat jeleníti meg, amikből
  667. ez a kézikönyv is generálódott (de a kézikönyv, amit épp olvasol, jóval több fejezet tartalmaz, a beépített súgóból csak az API
  668. referencia érhető el).</p><br style="clear:both;"><label class="btn prev" accesskey="p" for="_felhasznaloi_bemenetek" title="Felhasználói bemenetek">Előző</label><label class="btn next" accesskey="n" for="_kod_szerkeszto" title="Kód Szerkesztő">Következő</label></div>
  669. <div class="page" rel="kod_szerkeszto"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Szerkesztők&nbsp;»</li><li>&nbsp;Kód Szerkesztő</li></ul><hr></div>
  670. <h1 id="kod_szerkeszto">Kód Szerkesztő<a href="#kod_szerkeszto"></a></h1>
  671. <p><img class="imgt" width="16" height="16" alt="code.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABDklEQVQ4y7XRvSvEARzH8RddeSjpLo+DxWCSiT9AhJLlNhsZzFJS1xmE8idYTAyS0SIpAzaDInFK55ynzp2OkiTDbzF4qh+f9fvt/Xl/+5b4ZS6ub9bgLZOOg/1dUCpkIj8tbK/0JuEhexCH59JaUKyo+RuDkq8Gm0td09DcUpuEWPQV7B0NgLb27sn/MdhZn12DxrpUHKqr7sH5WQbkbu8S0DOcnvvbL6wvj21BTfSoEyrL8iB1fAnyuVwC+kYycx8B4Q0WxjuGoCF6FTSXBzefnQTNhVx6EvpHi/OfAcIblMdiM1C4Pg8asy/gNdI0FTQfzn8HCG+QemqNwuPhxinE6jsSMDixuPobQGiDdxqNTotgi3w3AAAAAElFTkSuQmCC"> Kattints a ceruza ikonra (vagy <kbd>F2</kbd>) a program forráskódjának írásához.</p>
  672. <p>A kód három alrészből áll, az egyiken szövegesen tudod a forráskódot szerkeszteni (ez), a <a href="#vizualis_szerkeszto" onclick="c('vizualis_szerkeszto')">Vizuális Szerkesztő</a>ben ugyanezt
  673. struktrogrammokkal teheted meg, a programod gépi kódú megfelelőjét pedig a <a href="#debuggolo" onclick="c('debuggolo')">debuggoló</a>ban láthatod.</p>
  674. <div class="imgc"><img class="imgc" width="640" height="400" alt="codescr.png" src="data:image/png;base64,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A5AASAAEIAGQAEgEQAIgEQAJgEQAJAASAZAASARAAiARAAmARAAkABIBkABIBEACIBEACYBEACQAEgGQAEgEQAIgEQAJgARAABIACYAAJAASAIkASAAkAiABkAiABEAiABIAiQBIACQCIAGQCIAEQCIAEgCJAEgAJAIgAZAIgARAIgASAIkASAAkAiABkAAIQAIgAZAIgARAIgASAIkASAAkAiABkAiABEAiABIAiQBIACQCIAGQCIAEQCIAEgCJAEgAJAIgAZAIgARAIgASAIkASAAkAAKQAEgAJAIgAZAIgARAIgASAIkASAAkAiABkAiABEAiABIAiQBIACQCIAGQCIAEQCIAEgCJAEgAJAIgAZAIgARAAiAACYAEQAASAAmARAAkABIBkABIBEACIBEACYBEACQAEgGQAEgEQAIgEQAJgEQAJAASAZAASARAAiARAAmARAAkABIBkABIAAQgAZAASARAAiARAAmARAAkABIBkABIBEACIBEACYBEACQAEgGQAEgEQAIgEQAJgEQAJAASAZAASARAAiARAAmARAAkABIAAUgAJAASAZAASARAAiARAAmARAAkABIBkABIBEACIBEACYBEACQAEgGQAEgEQAIgEQAJgEQAJAASAZAASARAAiABEIAEQAIgC4MASAAkAiCVH0AifSX4WySNI+CSRGEYrKy0iIqaB5C1AOlLAOzpKf4YuNYuOzc4zYib0ejjtK2tVK+rPEZAG6BwGBJoRJZm/KI1jMAchntRo5cDr458Q2fHmE09iEb4ZoyYab3cmS2ZKfa3M7Zypm25X0b5Aiz4qwwtn8BCMnr7gzfiAIqjcQf+cvmujn18FzDUD8O9E4bl/HPOcWYIX50RMyU6yYib4tx24Loiv3xkkhE/Zdvul1GuAIW/ytBDEFpsvYyAIYCGodxED4zQn31+XXuL5QI0oo+Wp9J9fLyfRowRI/pA922myGAfnOLdt83PFLfiiGLuZabyBCi2AXuC24Ch5Wb0ZatnS0fAttaagPdYgFb0SuJGmpgRJGa8C4/Z7gi4GTTq7yy6RogZAUO/ZJSVEVnZGvE3Wk4AK8Nr4OCI1ftyia6Eet0GjDw2+a4ZgUcgvAr2jSjqSrxRx50WWW2GxrfATEb0YpYzbAevywgzicxkRC+2zddVptuAPA1Dep+GIdLQEtX/AcrR8ukaghGkAAAAAElFTkSuQmCC"></div><span class="fig">Kód Szerkesztő</span>
  675. <p>Itt az egész felület egy nagy forráskód szerkesztő (<span class="ui2">1</span>). Alul látható a státuszsor (<span class="ui2">2</span>), az aktuális sor és
  676. oszlop értékekkel, valamint a kurzor alatti karakter UNICODE kódpontjával, továbbá ha épp egy API funkció paraméterei között áll
  677. a kurzor, akkor egy gyorssúgóval a paraméterek listájáról (ami érvényes minden programozási nyelv esetén).</p>
  678. <h2 id="programozasi_nyelv">Programozási nyelv<a href="#programozasi_nyelv"></a></h2>
  679. <p>A programnak egy speciális sorral kell kezdődnie, az első két karakter <samp>#!</samp>, amit a használni kívánt nyelv kódja zár. Az
  680. alapértelmezett a <a href="#c" onclick="c('c')">MEG-4 C</a> (az ANSI C egyszerűsített változata), de több nyelv is a rendelkezésedre áll. A teljes listát
  681. balra, a tartalomjegyzékben a "Programozás" címszó alatt találod.</p>
  682. <h2 id="felhasznaloi_funkciok">Felhasználói funkciók<a href="#felhasznaloi_funkciok"></a></h2>
  683. <p>A választott nyelvtől függetlenül van két funkció, amit neked kell implementálni. Nincs paraméterük, sem visszatérési értékük.</p>
  684. <ul><li><samp>setup</samp> funkció elhagyható, és csak egyszer fut le, amikor a programod betöltődik.</li>
  685. <li><samp>loop</samp> funkció kötelező, és mindig lefut, amikor egy képkocka generálódik. 60 FPS (képkocka per másodperc) mellett ez azt
  686. jelenti, hogy a futására 16.6 milliszekundum áll rendelkezésre, de ebből a MEG-4 "hardver" elvesz 2-3 milliszekundumot, így
  687. 12-13 ezredmásodperced marad, amit a függvényed kitölthet. Ezt lekérdezheted a performancia számláló MMIO regiszterből, lásd
  688. <a href="#memoriaterkep" onclick="c('memoriaterkep')">memóriatérkép</a>. Ha ennél tovább tart a <samp>loop</samp> funkció futása, akkor a képernyő töredezni fog, és az emulátor kevésbé lesz
  689. reszponzív, mint lenni szokott.</li></ul>
  690. <h2 id="plusz_billentyukombok">Plusz billentyűkombók<a href="#plusz_billentyukombok"></a></h2>
  691. <p>A normál <a href="#ui_kbd" onclick="c('ui_kbd')">billentyűkön és beviteli módokon</a> túl, kódszerkesztéskor még számos más, szövegszerkesztés orientált
  692. <a href="#kod_szerkeszto_gyorsbillentyuk" onclick="c('kod_szerkeszto_gyorsbillentyuk')">gyorsbillentyű</a> is elérhető.</p>
  693. <p>A menüből ugyancsak eléhető a keresés, következő, sorraugrás, visszavonás, újrabeillesztés, valamint a könyvjelzők és funkciók
  694. definíciójának listája is.</p><br style="clear:both;"><label class="btn prev" accesskey="p" for="_interfesz" title="Interfész">Előző</label><label class="btn next" accesskey="n" for="_szprajt_szerkeszto" title="Szprájt Szerkesztő">Következő</label></div>
  695. <div class="page" rel="szprajt_szerkeszto"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Szerkesztők&nbsp;»</li><li>&nbsp;Szprájt Szerkesztő</li></ul><hr></div>
  696. <h1 id="szprajt_szerkeszto">Szprájt Szerkesztő<a href="#szprajt_szerkeszto"></a></h1>
  697. <p><img class="imgt" width="16" height="16" alt="sprite.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABQ0lEQVQ4y7XSQUuUcRTF4WdMZwZmjFJzJWPODNggqFtBIvSbuPMLtGmpwRioLaSNBkHkQpQWuREVQRoIQQRFUJOgVVpEFmK+auninyDSrrezulwO9/7u4SZc0+zi0iF82dvLwNtKBdxMp7phdGS4ctVf5R9Vfb1xHEUZSKfTYG11FeQLxZ4/lv9M8H5ndxuWFudbIVkdLNOTLwf+NiA+gqnxodeQzUatMHccgVKuHjy4e/8xlF8tP4qVIPF86OEJ5PLNNXD47RPY3f8Ffn4MoWdT5+CsqhF8j1LP4smgeC9XAwdfP4eNR6egKRtm/7jTEJw3asHRaRIcbM82xpPBk/7e33Drdm0CiqUCyNSFWzMN+fAfKyGLhTczgbCrryMegsviabncDh82N15Ae2dLGxRKLUnYWnkHxgYnOmDz7Hw9FoILoiFXH9ZUGwAAAAAASUVORK5CYII="> A bélyegző ikonra kattintva (vagy <kbd>F3</kbd>) jön elő a szprájtok szerkesztése.</p>
  698. <p>Az itt szerkesztett szprájtokat az <a href="#spr" onclick="c('spr')">spr</a> paranccsal jelenítheted meg, illetve ezeket használva a <a href="#dlg" onclick="c('dlg')">dlg</a> egy dialógusablakot
  699. generál, az <a href="#stext" onclick="c('stext')">stext</a> pedig szöveget ír ki.</p>
  700. <div class="imgc"><img class="imgc" width="640" height="400" alt="spritescr.png" src="data:image/png;base64,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"></div><span class="fig">Szprájt Szerkesztő</span>
  701. <p>A szerkesztőnek három fő mezője van, kettő felül, egy pedig alul.</p>
  702. <h2 id="spr_edit">Szprájt Szerkesztő Mező<a href="#spr_edit"></a></h2>
  703. <p>Balra fent van a szerkesztő mező (<span class="ui2">1</span>). Itt tudod módosítani a szprájtot. A <span class="mouseleft"></span> elhelyezi a kijelölt pixelt a
  704. szprájton, míg a <span class="mouseright"></span> törli őket.</p>
  705. <p>Ha lenyomjuk a <kbd>Shift</kbd>-et, akkor vonalat húzhatunk a legutóbb módosított pontból.</p>
  706. <h2 id="spr_sprs">Szprájtválasztó<a href="#spr_sprs"></a></h2>
  707. <p>Jobbra mellette látható a szprájtválasztó (<span class="ui2">2</span>). Az a szprájt, amit itt kiválasztasz lesz szerkeszthető balra.
  708. Egyszerre több egymásmelletti szprájt is kiválasztható, és ilyenkor egyszerre, együtt szerkesztheted őket.</p>
  709. <h2 id="spr_pal">Paletta<a href="#spr_pal"></a></h2>
  710. <p>Alul helyezkedik el a pixel paletta (<span class="ui2">3</span>). Az első elem nem módosítható, mert az a törlésre van fenntartva. Ha
  711. azonban bármelyik másik pixelt választod, akkor a <img class="imgt" width="13" height="13" alt="hsv.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAMAAABFNRROAAAAolBMVEWgeDyaeFWgej2QfWqpe0GwfSPIdkK3fmeMjIyuiESriFGkil6+jC++iGCmk0/JjDq8j0nDkDCalpOqlm+ulmymmoXJljXBl1G2nECom4egoKC9nWHWkZ7WkaLAoFnMoErTn0nRoUHHo1zQpFjUpVPTpWfUp0/Wp0i9q4yXs8rYqmfPrW60tLTRs3TYtGKqwmikxGjctGfZt2/Zt3Pkw2npzIKEbfKMAAAAV0lEQVQI12PQQQYMOlIIwIGVp6FspAvnGSqwmZqIQ3nGavL8elqqUJ6wupighJwAhKetpMjDqm/AAOGpyMiyaDLziUJ40rzsjEJMkjAzRTi5uLHZzoEMAPopEUaGnIrJAAAAAElFTkSuQmCC"> gomb a színpaletta ikonnal aktívvá válik.
  712. Erre kattintva felugrik a HSV színválasztó ablak (<span class="ui2">5</span>), ahol megadhatod a kiválasztott palettaelem színét.</p>
  713. <p>Az alapértelmezett MEG-4 paletta 32 színt használ a DawnBringer32 palettáról, 8 szürkeárnyalatot, valamint 6 x 6 x 6 piros,
  714. zöld, kék átmenetkombinációt.</p>
  715. <h2 id="spr_tools">Eszköztár<a href="#spr_tools"></a></h2>
  716. <div class="imgc"><img class="imgc" width="193" height="17" alt="toolbox.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMEAAAARBAMAAACWUtWAAAAAFVBMVEUiIiJEREQAfwCMjIygoKC0tLTu7u4FojqFAAAA80lEQVQ4y82UsRHDMAhFKf4AyQop1DtZgMIL+C5ZwIX2HyEChGTp4nNc2Geaf5YQDwQW3Q+2G51A+KhNu/WlNmz5JcJ7FBt26/MhNm35XYWATnsCN/6cLGshYCWSnyRTdk0ODYGQCdRkxqUGRhuhEuwkUacaSQhRCUw5MquypCYKcgJlD4/ghLzOKSAW6ykgQQkhzkKAfss+2hrQ11AjY1mDXAqafa8hzkaw3Ee2Wy01rPeh3FY5YQQnex9CDHmWbB3oJwX9LP2cmXTScqrkPEthtk5j2dk6S6PW8te0ctcfJ8yX+eP8fdmr/fu0oqe8rUcTvrrGKZwVmSSLAAAAAElFTkSuQmCC"></div><span class="fig">Szprájt eszköztár</span>
  717. <p>A szerkesztőmező alatt található az eszköztár a gombokkal (<span class="ui2">4</span>). Ezekkel könnyedén módosíthatod a szprájtot, eltolhatod különböző
  718. irányokba, elforgathatod órajárással megegyező irányban, tükrözheted, stb. Ha van aktív kijelölés, akkor ezek az eszközök csak
  719. a kijelölt pixelekre hatnak, egyébként az egész szprájtra. A forgatáshoz úgy kell kijelölni, hogy a kijelölés ugyanolyan magas
  720. legyen, mint széles különben a forgatás nem fog működni.</p>
  721. <p>A kitöltés csak a szomszédos, azonos színű pixelekre vonatkozik, hacsak nincs kijelölés. Kijelöléssel a teljes kijelölt terület
  722. kitöltésre kerül, függetlenül attól, hogy milyen pixelek lettek kijelölve.</p>
  723. <h2 id="spr_sel">Kijelölések<a href="#spr_sel"></a></h2>
  724. <p>Kétfajta kijelölés van: doboz és varázspálca. Az előbbi négyzet alakban jelöl ki, utóbbi minden szomszédos, azonos színű pixelt
  725. kijelöl. A <kbd>Shift</kbd> lenyomva tartásával bővíthető a kijelölés, míg a <kbd>Ctrl</kbd> lenyomva tartásával kivághatsz a
  726. kijelölésből, és csökkentheted.</p>
  727. <p>A <kbd>Ctrl</kbd>+<kbd>A</kbd> lenyomásával minden kijelölődik, a <kbd>Ctrl</kbd>+<kbd>I</kbd> pedig invertálja (megfordítja)
  728. a kijelölést, azaz ami eddig nem volt kijelölve, az ki lesz, ami meg ki volt, az nem lesz.</p>
  729. <p>Amikor van aktív kijelölés, akkor a <kbd>Ctrl</kbd>+<kbd>C</kbd> lenyomásával a kijelölt terület a vágólapra másolható. Később
  730. lenyomhatod a <kbd>Ctrl</kbd>+<kbd>V</kbd> gombokat a beillesztéshez. A beillesztés pontosan úgy működik, mint a festés, csak
  731. itt egy pixel helyett a vágólapod tartalma egy nagy ecset lesz. Érdemes megjegyezni, hogy a vágólapra másolt üres pixelek is az
  732. ecset részét képezik. Ha nem szeretnéd, hogy az ecset töröljön, akkor csak a nem üres pixeleket jelöld ki (használhatod a
  733. <kbd>Ctrl</kbd>+<img class="imgt" width="13" height="13" alt="fuzzy.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANAgMAAAAPhQzvAAAADFBMVEUiIiKMjIygoKC0tLQ1WqnaAAAALElEQVQI12P4////AYZXq1Y5QIgXHSBWF4ilAGI1wcVWaYGILgckxaGhoQ4APIEeq0PIJWQAAAAASUVORK5CYII="> kombót az üres pixelek kijelölésének megszüntetéséhez) a vágólapra másolás előtt, így az
  734. üres pixelek nem kerülnek a vágólapra, és emiatt az ecsetben sem fognak megjelenni.</p><br style="clear:both;"><label class="btn prev" accesskey="p" for="_kod_szerkeszto" title="Kód Szerkesztő">Előző</label><label class="btn next" accesskey="n" for="_terkep_szerkeszto" title="Térkép Szerkesztő">Következő</label></div>
  735. <div class="page" rel="terkep_szerkeszto"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Szerkesztők&nbsp;»</li><li>&nbsp;Térkép Szerkesztő</li></ul><hr></div>
  736. <h1 id="terkep_szerkeszto">Térkép Szerkesztő<a href="#terkep_szerkeszto"></a></h1>
  737. <p><img class="imgt" width="16" height="16" alt="map.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABSElEQVQ4y63Tvy/cARgG8M/3XJsTjd+h0UEHt9TQ5gajQfwDFptZGk0YbA2tmJobarEIqUWiJQb/glEbJIhG/IpDSiva68k55Tp8Sbo0Bt9nepbnfZ8n7/MG7sCrse5V2MwuN0PVcWsnTL9Lz0DMPRG/JcMfB/phfmcyDYoysJffegKJyxpQFqtN/jvg3g6CWzI4+X4Z9k8OnsNGyTRIPCgNN6sNBfFrcH0Z5KJx0DHS/gV2Lj6noLr0MbgonoNCvgjqM63gadMzcHiy8SeaK/y42k9B2cPyMFsuzNxQ9QL8rFgFFY2nm5DPrbyGud5PEfWgre4lWPu2FGb/fnYFiebTAArxYgyOf31NQmU2NX6jjcjB266+AHqGRsah/FHuA9TE6hZgt7ACjn6vg2S2ZTGUzkbcxP/hzejUDGR2t1tgIj3QGOkv/AW4GmLiLIeGcwAAAABJRU5ErkJggg=="> A kirakós ikonra kattintva (vagy <kbd>F4</kbd>) felhozza a térkép szerkesztőt. Itt egy térképen helyezheted
  738. el a szprájtokat.</p>
  739. <p>Az itt összerakott térképet (vagy egy részét) a <a href="#map" onclick="c('map')">map</a> illetve a <a href="#maze" onclick="c('maze')">maze</a> (lásd alább) paranncsal tudod megjeleníteni a képernyőn.</p>
  740. <div class="imgc"><img class="imgc" width="640" height="400" alt="mapscr.png" src="data:image/png;base64,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"></div><span class="fig">Térkép Szerkesztő</span>
  741. <p>A térkép különleges abból a szempontból, hogy egyszerre csak 256 különböző szprájtot képes megjeleníteni a összes rendelkezésre
  742. álló 1024 szprájtból. Minden szprájtbank esetén a legeslegelső szprájt fenn van tartva a "nincs térképelem" számára, így a 0-ás,
  743. 256-os, 512-es valamint a 768-as szprájt nem használható a térképen.</p>
  744. <h2 id="map_box">Térkép Szerkesztő Mező<a href="#map_box"></a></h2>
  745. <p>Felül a nagy részen láthatod és szerkesztheted a térképet (<span class="ui2">1</span>). Egy nagy térképként látszik, 320 oszloppal és 200 sorral.
  746. Használhatod a nagyítás és kicsinyítés gombokat az eszköztáron, vagy az <span class="mousewheel"></span> egérgörgőket is a nagyításhoz. A <span class="mouseright"></span> jobb egérgombot
  747. lenyomva tartva és az egeret mozgatva tologathatod a térképet, vagy használhatod a görgetősávokat is jobbra illetve alul.</p>
  748. <p>A <span class="mouseleft"></span> balklikkel szprájtokat helyezhetsz el a térképen. A legelső szprájt kiválasztásával lehet törölni a térképen (a <span class="mouseright"></span>
  749. jobb egérgomb itt nem töröl, hanem mozgatja a térképet).</p>
  750. <p>Ha lenyomjuk a <kbd>Shift</kbd>-et, akkor vonalat húzhatunk a legutóbb módosított pontból.</p>
  751. <h2 id="map_tools">Eszköztár<a href="#map_tools"></a></h2>
  752. <p>A térképszerkesztő mező alatt található az eszköztár (<span class="ui2">2</span>), ugyanaz, mint a <a href="#szprajt_szerkeszto" onclick="c('szprajt_szerkeszto')">szprájt szerkesztő</a> képernyőn, ugyanazokkal
  753. a funkciókkal és ugyanazokkal a gyorsgombokkal (csak itt van még egy Wang csempe eszköz és használhatók szprájtminták is, lásd
  754. alább). Az eszközgombok mellett vannak a nagyítás és kicsinyítés gombok, ezek után pedig a szprájtbankválasztó a szprájtpaletta
  755. választáshoz (de csak a szerkesztőben. Amikor a programod fut, akkor a 0007F címen lévő bájtot kell állítani a bankok váltásához,
  756. lásd <a href="#grafikus_feldolgozo_egyseg" onclick="c('grafikus_feldolgozo_egyseg')">Grafikus Feldolgozó Egység</a>).</p>
  757. <h2 id="map_sprs">Szprájtpaletta<a href="#map_sprs"></a></h2>
  758. <p>A gomboktól jobbra helyezkedik el a szprájtválasztó paletta (<span class="ui2">3</span>), ahol kiválaszthatod, melyik szprájttal akarsz rajzolni.
  759. Amint korábban már megjegyeztük, a paletta legelső eleme minden 256-os szprájtbankból nem használható, az a "nincs térképelem"
  760. számára van fenntartva. Ha törölni szerenél a térképen, akkor válaszd ezt az első elemet, és "rajzolj" azzal.</p>
  761. <p>A szprájtszerkesztővel ellentétben (ahol csak egyetlen színt választhatsz a palettáról), itt, a térképen több, egymásmelleti
  762. szprájt is kiválasztható a palettáról egyszerre. Festéskor mindet rá fogja tenni a térképre, (pont úgy, mintha a beillesztést
  763. használnád), ezen kívül a kitöltés is ecsetként fogja használni őket, egy nagy, többszprájtos mintával kitöltve a kijelölt
  764. területet.</p>
  765. <p>Sőt, mi több, a <img class="imgt" width="13" height="13" alt="fill.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANBAMAAACAxflPAAAAFVBMVEUiIiJEREQAfwCMjIygoKC0tLTu7u4FojqFAAAAMklEQVQI12MIBYMAhhAXEDBAph2gNAMLmHZgYADTLAwMLGDagQGqHiLPgq4fTBuDgQEAbvgU1fjLrHYAAAAASUVORK5CYII="> kitöltésnél <kbd>Shift</kbd>+<span class="mouseleft"></span>-el kattintva, véletlenszerűen fog választani a kijelölt
  766. szprájtok közül. Például, tegyük fel, hogy van 4 féle különböző szprájtod fákkal. Ha kijelölöd öket, majd kitöltöd az erdőnek
  767. szánt részt a térképen, akkor ezek a szprájtok libasorban, egymásután ismételve kerülnek elhelyezésre, ami nem néz ki túl jól
  768. erdőként. Viszont ha lenyomva tartod a <kbd>Shift</kbd>-et, miközben a kitöltéssel kattintasz, akkor minden mezőhöz
  769. véletlenszerűen választ egyet a kijelölt 4 fa-szprájt közül, ami már sokkal inkább néz ki igazi erdőnek.</p>
  770. <h2 id="wang_csempek">Wang csempék<a href="#wang_csempek"></a></h2>
  771. <p>Amikor a Wang csempe eszköz van kiválasztva, akkor a Wang csempekészlet terület (<span class="ui2">4</span>) aktívvá válik. Ezzel a szerszámmal
  772. könnyedén lehet utakat, folyókat, várfalakat, stb. rajzolni.</p>
  773. <div class="imgc"><img class="imgc" width="210" height="69" alt="wang.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANIAAABFBAMAAADN1KWKAAAAIVBMVEUAAP4iIiJEREQAfwAymAAzmQCMjIygoKCpqam0tLTu7u5b1Yq7AAACDElEQVRYw+2YvW6DMBDHGZA6e7qdKXs2JpaoLxDUnUqda6kRe6bOWaq+Ak9Z7Dsf2AQL4xChyl7+Ogz3u/NHzk5WPKtlTyT96nbbTD90a3rST6tas5m+H1W77Y0Ejrr90rJl30gnJJjxaDwIVGm0fwE9C+p37Na8p0ll13VEkmB7GkjoQQhHjUcpAL9jW+eiQlQKAknlsSSSoDeNJ0Oi57J3DKPnvWMk9LloBWMD2DkB5cQk6YwaEzEnNVhg9VNOUujYW5Bk42hzTjRP5ZFJ7vzwKPKXSDIRmHniCMmGyYoBJJWdu/Zm1hhgjEME/NxWaa+9FnNTpHLhKpfO/AXup9Hae9bONb9LW6n5/cv+ZdVIpERKpERKpERKpLst9uK0nBR7KNol6et8Pr81SnPSIDuAdKnr+rVRmpMG2SE59V/qGOuKNMgOyimjGFlzR339QTllFCNr9WKrr3/2/wh3G43HfU5znxa262yyKNkejfucVj4tbNc+0uV0OukYZ7Xy6T2StEmSSNE711wjBxKbh2vB99foi1OB1/wxaQBfD04gcU1dsmFMEgPpu+B77Rak5+U0M0/x9WlK2m7tCQFL9tMDSAt3bnR9ckjD8sfGdnx9slyvq0/Zg+vTZ451Z6S5o77+kPpUUeyDYv0Z1Ne/6hyxsj6tOEesrE/Lc4qtT/s7WcbXp3R/SqRdkP4ALjsDuC4lVncAAAAASUVORK5CYII="></div><span class="fig">Wang csempe eszköz</span>
  774. <p>Azonban mielőtt használhatnánk, előbb be kell konfigurálni. Összesen 64 különfélé csempekészlet adható meg (pl. egy a folyónak, egy
  775. az útnak, stb.), és mindegyik készlet 16 különböző szprájtot tartalmaz, minden kombinációhoz egyet.</p>
  776. <p>A csempekészletet úgy kell beállítani, hogy előbb a szprájtpalettán kiválasztunk egy szprájtot, majd a Wang csempe gombjára
  777. kattintva megadjuk, hogy melyik kombinációt ábrázolja. Amennyiben több szprájt is ki van választva, úgy egyszerre több csempe
  778. is beállítódik (attól a gombtól kezdve, amelyikre kattintottunk).</p>
  779. <div class="info"><p><span>MEGJEGYZÉS</span></p><p> A Wang csempekészletbeállítások megőrződnek, el lesznek mentve a flopira.</p></div>
  780. <p>Ha már van egy Wang csempekészlet beállítva, akkor a szerszám pontosan ugyanúgy használható, mint a ceruza, csak épp automatikusan
  781. fogja kiválasztani, hogy melyik csempére van épp szüksége ahhoz, hogy folyamatos mintákat rajzoljon a térképre.</p>
  782. <h2 id="3d_s_utveszto">3D-s útvesztő<a href="#3d_s_utveszto"></a></h2>
  783. <p>A térkép 3 dimenziós labirintusként is megjeleníthető a <a href="#maze" onclick="c('maze')">maze</a> funkcióval. Ehhez a teknőc pozícióját és irányát használja fel,
  784. mint a játékos nézőpontját az útvesztőre, de hogy a csempén belüli pozicíókat is kezelni tudja, a teknőc koordinátái ilyenkor
  785. 128-al fel vannak szorozva (eredetileg 8-at használtam, hogy egyezzen a térkép pixelszámával, de a mozgás túl darabos volt úgy).
  786. Tehát például a (64,64) a térkép bal felső mezőjének közepét jelenti, a (320,192) pedig a harmadik oszlop második sor közepe.</p>
  787. <p>Itt a <samp>scale</samp> nagyítás paraméter is másképp értelmeződik: amikor 0, akkor a labirintus 32 x 8 csempét tud használni, ahogy az a
  788. szprájtpalettán látszik, csempénként egy szprájt, 8 x 8 pixel méretben. Ha 1, akkor viszont 16 x 16 csempét, ahol minden csempe
  789. 2 x 2 szprájt, tehát 16 x 16 pixel méretű. 3 esetén 4 x 4 fajta csempéd lehet, azaz összesen 16 féle, mindegyik 64 x 64 pixeles.
  790. Ebben az esetben a térkép ezeket a nagyobb csempéket választja, ezért a csempe sorszáma és a szprájt sorszáma csak akkor egyezik
  791. meg, ha a nagyítás értéke 0. Például ha a térképen az 1-es id van és a nagyítás is 1-es, akkor az 1-es szprájt helyett ez a 2-es,
  792. 3-as, 34-es, 35-ös szprájtokat jelenti.</p>
  793. <div class="pre"><pre>
  794. Csempe id 1 scale 0 esetén Csempe id 1 scale 1 esetén
  795. +---+===+---+---+- +---+---+===+===+-
  796. | 0|::1| 2| 3| ... | 0| 1|::2|::3| ...
  797. +---+===+---+---+- +---+---+===+===+-
  798. | 32| 33| 34| 35| ... | 32| 33|:34|:35| ...
  799. +---+---+---+---+- +---+---+===+===+-
  800. </pre></div>
  801. <p>Ettől függetlenül a térképre az 1-es szprájtot kell a palettáról elhelyezned, hogy ezeket a szprájtokat kapd. Szokás szerint a
  802. 0-ás csempe a nincs térképelemet jelenti.</p>
  803. <p>Ha a <samp>sky</samp> (ég) paraméter meg van adva, akkor az a csempe, mint a labirintus mennyezete lesz megjelenítve. Másrészről a <samp>grd</samp>
  804. (ground, föld) csak ott jelenik meg talajként, ahol nincs térképelem megadva. A csempeazonosítókat zónákra oszthatod híváskor,
  805. ettől függ, hogy az adott csempe miképp jelenik meg (talaj, fal vagy szprájt). Minden olyan csempe, ami a <samp>wall</samp>-nál nagyobb
  806. vagy azzal egyenlő, nem lesz átjárható, és olyan kockaként jelenik meg, ahol a csempe szprájtjai kerülnek a kocka
  807. oldalaira, átlátszóság nélkül. Azok a csempék, amik nagyobbak vagy egyenlőek az <samp>obj</samp>-ban (tárgy) megadottnál, szintén
  808. átjárhatatlanok lesznek, de ezek megfelelőre méretezett 2D-s szprájtként jelennek meg, arccal mindig a játékos (a teknőc
  809. pozíciója) felé fordulva, és ezeknél értelmezett az alfa csatorna, szóval a falakkal ellentétben a tárgyak lehetnek átlátszóak.</p>
  810. <div class="table"><table><tr><th>Csempe id </th><th>Leírás </th></tr>
  811. <tr><td>0 </td><td>Mindig járható, <samp>grd</samp> talajként jelenik meg helyette </td></tr>
  812. <tr><td>1 &lt;= x &lt; <samp>door</samp> </td><td>Járható, talajként jelenik meg </td></tr>
  813. <tr><td><samp>door</samp> &lt;= x &lt; <samp>wall</samp> </td><td>Falként jelenik meg, mégis átjárható (ajtó) </td></tr>
  814. <tr><td><samp>wall</samp> &lt;= x &lt; <samp>obj</samp> </td><td>Nem átjárható, falként jelenik meg </td></tr>
  815. <tr><td><samp>obj</samp> &lt;= x </td><td>Nem átjárható, tárgy szprájtként jelenik meg </td></tr></table></div>
  816. <p>Hozzáadhatsz nem játékos karaktereket (illetve további tárgyakat) is a labirintushoz a térképtől függetlenül (egy int tömbben, ami
  817. x, y, csempe id hármasokat tartalmaz, a koordináták 128-al felszorozva). Ezek mind átjárhatóak lesznek, és pont úgy jelennek meg,
  818. mint a tárgy szprájtok; az ezekkel való ütközést, mozgatásukat és minden egyebet neked kell implementálni a játékodban. A <samp>maze</samp>
  819. parancs csupán megjeleníti ezeket. Annyi szívességet azonban megtesz neked, hogyha az adott NJK direktben látja a játékost akkor
  820. a tömbben a csempe id legmagasabb 4 bitjét beállítja. Hogy melyiket, az a kettejük távolságától függ: a legmagasabb bit
  821. (0x80000000) azt jelzi, közelebb vannak, mint 8 térképmező, a következő bit (0x40000000) azt, hogy közelebb, mint 4 mező, a
  822. következő (0x20000000) azt, hogy közelebb, mint 2 mező, és végül a legutolsó bit (0x10000000) azt, hogy ugyanazon vagy szomszédos
  823. térképmezőn állnak.</p>
  824. <p>Mindezeken felül ez a parancs gondoskodik a labirintusban való navigálásról is, a <kbd>▴</kbd> / △ előre mozgatja a teknőst, a
  825. <kbd>▾</kbd> / ▽ hátra; a <kbd>◂</kbd> / ◁ balra fordul, a <kbd>▸</kbd> / ▷ jobbra fordul (a játékpad billentyűzetkiosztása
  826. megváltoztatható, lásd <a href="#memoriaterkep" onclick="c('memoriaterkep')">memóriatérkép</a>). Az összes többi játékpad gomb lekezelése és az interakciók kivitelezése a játékodtól
  827. függ, így a Te feladatod leprogramozni ezeket, a <samp>maze</samp> csak a játékos mozgatásában és a falakkal való ütközésben segít.</p>
  828. <div class="info"><p><span>MEGJEGYZÉS</span></p><p> Ne feledd, hogy a teknőc pozícióját mindig 128-al le kell osztani, hogy megkapd, a térkép melyik mezőjén tartózkodik épp
  829. a játékos.</p></div><br style="clear:both;"><label class="btn prev" accesskey="p" for="_szprajt_szerkeszto" title="Szprájt Szerkesztő">Előző</label><label class="btn next" accesskey="n" for="_betu_szerkeszto" title="Betű Szerkesztő">Következő</label></div>
  830. <div class="page" rel="betu_szerkeszto"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Szerkesztők&nbsp;»</li><li>&nbsp;Betű Szerkesztő</li></ul><hr></div>
  831. <h1 id="betu_szerkeszto">Betű Szerkesztő<a href="#betu_szerkeszto"></a></h1>
  832. <p><img class="imgt" width="16" height="16" alt="font.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAApUlEQVQ4y2NkQAAhKF0JpZ2gtCCUvgGlq6D0BQYGBgYmBgoBCxL7L5T+BaULofQnNJcthNJGVHEBIwlqzaH0PigtSfUwEIXSeVDaEkoLQGluKM0MpZmo5gKYK7ZA6fdQug5KP4HSOlB6HbIBVHGBMJRthkafxhELDFR3wWco+zWUToDS36G0BpQuppkLvkHZUVC6EUpvQs51DAwMcVC6G0r/oYoLAD+mGCc2vwD/AAAAAElFTkSuQmCC"> Kattints a betű ikonra (vagy <kbd>F5</kbd>) a betűkészlet módosításához.</p>
  833. <p>Az itt szerkesztett betűtípust fogja használni, amikor a <a href="#width" onclick="c('width')">width</a> megméri a szöveg méretét, és amikor a <a href="#text" onclick="c('text')">text</a> paranccsal kiírsz.</p>
  834. <div class="imgc"><img class="imgc" width="640" height="400" alt="fontscr.png" src="data:image/png;base64,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"></div><span class="fig">Betű Szerkesztő</span>
  835. <p>Ennek az oldalnak az elrendezése hasonló, mint a <a href="#szprajt_szerkeszto" onclick="c('szprajt_szerkeszto')">szprájt szerkesztő</a>, csak nincs paletta. Balra található a glifszerkesztési
  836. terület (<span class="ui2">1</span>), jobbra pedig a glifválasztó (<span class="ui2">2</span>). (A glif egy adott betű, azaz UNICODE kódpont megjelenített
  837. alakja).</p>
  838. <h2 id="glifszerkeszto">Glifszerkesztő<a href="#glifszerkeszto"></a></h2>
  839. <p>Elég egyszerű, <span class="mouseleft"></span> balklikk beállítja a kinézetet (előtér), a <span class="mouseright"></span> pedig törli (háttér).</p>
  840. <p>Ha lenyomjuk a <kbd>Shift</kbd>-et, akkor vonalat húzhatunk a legutóbb módosított pontból.</p>
  841. <h2 id="glifvalaszto">Glifválasztó<a href="#glifvalaszto"></a></h2>
  842. <p>Kereshetsz UNICODE kódpontra, de ha csak leütsz egy billentyűt, akkor a glifválasztó a glifjére fog ugrani. Ha a billentyűzeten
  843. nincs meg valamelyik gomb, akkor a szokásos beviteli módok is használhatók, lásd <a href="#ui_kbd" onclick="c('ui_kbd')">billentyűzet</a>.</p>
  844. <h2 id="font_tools">Eszköztár<a href="#font_tools"></a></h2>
  845. <p>Az elérhető eszközök itt szűkösebbek, eltolás, forgatás és tükrözés van csak, nincsen kijelölés. De a glifválasztóban a
  846. kimásolás (<kbd>Ctrl</kbd>+<kbd>C</kbd>) és a beillesztés (<kbd>Ctrl</kbd>+<kbd>V</kbd>) a megszokott módon működik.</p><br style="clear:both;"><label class="btn prev" accesskey="p" for="_terkep_szerkeszto" title="Térkép Szerkesztő">Előző</label><label class="btn next" accesskey="n" for="_hangeffektek" title="Hangeffektek">Következő</label></div>
  847. <div class="page" rel="hangeffektek"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Szerkesztők&nbsp;»</li><li>&nbsp;Hangeffektek</li></ul><hr></div>
  848. <h1 id="hangeffektek">Hangeffektek<a href="#hangeffektek"></a></h1>
  849. <p><img class="imgt" width="16" height="16" alt="sound.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABWUlEQVQ4y7XSv0uUARzH8deTEcGB5EUHDnk8NhhcBFmZoYb+CTYcFAlZ24PVEEEEYtQgDhkNDRHkIA4pKrg5eEpBkzSIVGtCOXh65qElaTo8Cg1tPr2n7/D98ebDN7DH1PsPQ7DwfTEPyyurOzBVKLyGR/eiCWhpbpr0F4cckGB4dPwlfP22GMGT3n7wa2MT3Ik6wZXmSyB7MguWl0rXkzHoe/Z8E14Nvj0CW38CUJ+rizu2tkE+3w7K5Z+gWFwtJmJwuFhaq4DcmRw4kU6DxvqzYODNEJib/7J3eSUerDi6kIxBJpMpQzYMj0HdqRCkUqk4i4vnwMz0DLhxs+M3dN3qOJ+MQWvT5dtQWvsxCusbccqT0+/A7Nwn0HAhNhkbHplN9hP3i2udUQHCsKYNPs5/BtVVlaA2rAHdDx8E/8dgn57HT6/C9k7wAqqOp9fh/t3o9L8WHNhgF3kXYouVe6uaAAAAAElFTkSuQmCC"> A hangszoró ikonra kattinva (vagy <kbd>F6</kbd>) szerkeszthetők a hangeffektek.</p>
  850. <p>A hangeffekteket a programodból az <a href="#sfx" onclick="c('sfx')">sfx</a> paranccsal tudod megszólaltatni.</p>
  851. <div class="imgc"><img class="imgc" width="640" height="400" alt="soundscr.png" src="data:image/png;base64,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"></div><span class="fig">Hangeffektek</span>
  852. <p>Balra található a hanghullám szerkesztő és az eszköztára (<span class="ui2">1</span>), jobbra a hangeffekt választó (<span class="ui2">2</span>), alattuk
  853. pedig a hangeffekt szerkesztő (<span class="ui2">3</span>).</p>
  854. <h2 id="effektvalaszto">Effektválasztó<a href="#effektvalaszto"></a></h2>
  855. <p>Jobbra látható a hangeffektek listája (<span class="ui2">2</span>), mind hangjegyként ábrázolva (technikailag minden hangeffekt egy hangjegy,
  856. konfigurálható hanghullámmal és speciális effekt opciókkal). A kívánt hangeffektre kattintva a listában az szerkeszthetővé válik
  857. (vagy <kbd>▴</kbd> / <kbd>▾</kbd> gombokkal is választható).</p>
  858. <h2 id="effektszerkeszto">Effektszerkesztő<a href="#effektszerkeszto"></a></h2>
  859. <p>Alul a zongora (<span class="ui2">3</span>), pontosan úgy néz ki, és úgy is műküdik, mint a zenei sávok <a href="#hangjegyszerkeszto" onclick="c('hangjegyszerkeszto')">hangjegyszerkesztő</a>je, csak pár opcióval
  860. kevesebb. Bővebb infót és a billentyűzetkosztást ott találod.</p>
  861. <div class="info"><p><span>FONTOS</span></p><p> Amikor egy hangeffekt kiválasztódik, az akkori állapota elmentődik az előzményekbe. Erre bármikor vissza lehet állítani a
  862. visszavonás kombináció lenyomásával, amíg az a hangeffekt marad a kiválasztott. Ha volt visszavonás, akkor az újrabeillesztés
  863. is használható mindaddig, amíg nem módosítjuk. (A módosítások nem mentődnek az előzményekbe egyesével, csak az az állapot, amikor
  864. a hangeffekt ki lett választva.)</p></div>
  865. <h2 id="sfx_tools">Hanghullám eszköztár<a href="#sfx_tools"></a></h2>
  866. <p>Alapból a hanghullám (<span class="ui2">1</span>) nem módosítható, csak azt mutatja, hogy melyik hullámot használja az aktuális hangeffekt.
  867. Rá kell kattintani a lakat ikonos gombra, hogy szerkeszthetővé váljon (de persze előbb győzödj meg róla, hogy a hangeffektednek
  868. választottál ki hullámmintát).</p>
  869. <div class="imgc"><img class="imgc" width="492" height="15" alt="wavescr.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAewAAAAPCAMAAAARUwzKAAAAn1BMVEUiIiJEREQhXY0kXo4pYZA4YYIxZZIyZZEzZ5IlbKQqcak8bZdIbo0udKwxd64yeK9ZcoZPdpU2fbdTd5RXd5RcephLgrBjfpdogZRgia9th51tiKFHlNFJlNF9iph9i5pYk8V+i5p+jJt+jZ1+jp5OmdWMjIyAk6WNkpiMlJuSl5yVmJuZm5yQnalZqeucnZ+goKBfrvGpqamqqqq0tLR63RJOAAACSElEQVRYw+2Yh3KDMAyGf7r33nvSNl0UeP9naxkGS5bMaOj1LuhyyTmSYlufJJsgGGVmBEFqC9FpGt2ju85nHzT4T3sszyNbDb2WfjFOvZLBjmoJqaui0T2663z2QYP/tMfyPLLV0GvpF2Nb40g4wp5J2FBdIQYD3oVA1cGBDePyN7BBx4Bnfyhgw3wRDrsWZ6zG+P30/LM/bLDNJEliNCQYcVwFSZhM9vH5MdiZWVB9NCRLizEAN6Cg+tyEw4YLGy5sdIUHpoeWeGYvkGE/7ZwcXkuwzX6ZgLVxBlvO/Dh7aRVRwXZ1ql9aRh95YHOzuPiQYYMF0Bkz2JFrDzB/uJUNkwUhG9HE07uEBpvMDTSMeYpVcz8sbuzvHkwE2GZP+S8B1khv44m1AAI7rqHxICUlbEiwFT9a2XFR07Fc2nnY86XbMEm1GHYUNnglowl2q8q2u4IEy0k0ag8DQ7EXUqya+35ufmFpfWUiVHZU77p4A6tsOOj6VHbyB5XN2nD1TahVG4VdpktjZbc7s+Fv2y58Utkwuar7q5V9t7W9uba6/CpWdpFGFnE/7OzEDjqe2UkNe8gz2zn3IgbTuQSR6rPPQS9sdhuHeBtH68ufsHZyMRWTQz+zby8fL/aO3+Qzu2pvZeeoQqTB7nobTwjs/3wbZ7CF44iCknvVb2/Xad08fMmh3cavvj6Onn23cYzP2f2fszHEc3bDGe+J48vN2finyvinih92aAtx1TS6R3edzz5o8J/2WJ5Hthp6Lf1iHHrlB/YoMyPf+CLBCx5KYCYAAAAASUVORK5CYII="></div><span class="fig">Hanghullám eszköztára</span>
  870. <p>Amikor a lakat nyitva, akkor a hangmintára kattintva módosítani lehet azt.</p>
  871. <div class="warn"><p><span>FIGYELEM</span></p><p> Ha módosítasz egy hanghullámot, akkor az azonnali hatállyal megváltoztat minden egyes olyan hangeffektet és hangsávot,
  872. ami azt a hanghullámot használja.</p></div>
  873. <div class="info"><p><span>FONTOS</span></p><p> Amikor kilakatolunk egy hanghullámot, az akkori állapota elmentődik az előzményekbe. Erre bármikor vissza lehet állítani az
  874. visszavonás kombináció lenyomásával. (A módsítások nem mentődnek az előzményekbe egyesével, csak a hanghullám abban a pillanatban,
  875. amikor kilakatolásra került.)</p></div>
  876. <p>Az eszköztárat használva állítható a finomhangolás (-8-tól 7-ig), a hangerő (0-tól 64-ig) és az ismétlés. Az ismétlés gombra
  877. kattintva az lenyomva marad, ilyenkor kijelölhetsz egy "loop" részt a hullámból. Ezután amikor a hanghullám egyszer végig
  878. lejátszódik, utánna a kijelölt rész elejére fog ugrani, és onnan veszi a mintákat a végtelenségig ismételve a kijelölt részt.</p>
  879. <p>A kényelmed kedvéért van még 4 alapértelmezett hanghullám generáló, egy gomb az alapértelmezett hullámminta betöltésére a
  880. soundfontból (amit a <a href="#general_midi" onclick="c('general_midi')">General MIDI</a> is használ) és mindenféle eszköz a hullám hosszának állításához, forgatásához, növeléséhez,
  881. kicsinyítéséhez, negálásához, tükrözéséhez stb. Az utolsó előtti gomb a végtelenségig játsza a hanghullámot az épp aktuális
  882. beállításaival (akkor is, ha nincs loop megadva).</p>
  883. <p>Végezetül a legutolsó gomb, az <span class="ui1">Export</span> kiexportálja a hanghullámot RIFF Wave formátumban. Ezt szerkesztheted egy
  884. külsős programmal, majd a visszatöltéshez csak húzd rá a módosított fájlt a MEG-4 ablakára.</p><br style="clear:both;"><label class="btn prev" accesskey="p" for="_betu_szerkeszto" title="Betű Szerkesztő">Előző</label><label class="btn next" accesskey="n" for="_zenesavok" title="Zenesávok">Következő</label></div>
  885. <div class="page" rel="zenesavok"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Szerkesztők&nbsp;»</li><li>&nbsp;Zenesávok</li></ul><hr></div>
  886. <h1 id="zenesavok">Zenesávok<a href="#zenesavok"></a></h1>
  887. <p><img class="imgt" width="16" height="16" alt="music.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABA0lEQVQ4y7WSP0sCcRjHP12JglPh4CCCS0NDEK3RJvgyXKLFUdAlX0QgvQCXIBoiCKdIaBE80C3R4HQ4j877ef6hjkx/DTackDp49ywPz/f5Pg8fHp4dNkSu1HgEeNMHSQDRbQYBOn3zA0Bhy9hb1SiUBxLgtWNLgKHQ3gFS8UAaoBw+LPlLEP62LYDny0TErat/+ejiGn8JZp/22kFHGD4TzCfWUp2912oAuj06Aag/3Xr8B2fF1jHA+cHoAcAx2oGl62u9UwBz7ADwE9qfeUsQDU4bAFVzIcXE19RtlG3VAtD7EwVA3OVj3hKoteocYFdKBaCid6/cxpebTOS/BVsT/AIUzVf56iQUxgAAAABJRU5ErkJggg=="> Kattints a hangjegy ikonra (vagy <kbd>F7</kbd>) a zenék szerkesztéséhez.</p>
  888. <p>Az itt szerkesztett zenesávokat a programodban a <a href="#music" onclick="c('music')">music</a> paranccsal tudod lejátszani.</p>
  889. <p>Látni fogsz öt oszlopot, és alul egy zongorát.</p>
  890. <div class="imgc"><img class="imgc" width="640" height="400" alt="musicscr.png" src="data:image/png;base64,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"></div><span class="fig">Zenesávok</span>
  891. <h2 id="savok">Sávok<a href="#savok"></a></h2>
  892. <p>Balra az első oszlopban lehet kiválasztani, melyik zenei sávot szeretnénk szerkeszteni (<span class="ui2">1</span>).</p>
  893. <div class="table"><table><tr><th>Billentyűkombináció </th><th>Leírás </th></tr>
  894. <tr><td><kbd>Page Up</kbd> </td><td>Előző sávra vált. </td></tr>
  895. <tr><td><kbd>Page Down</kbd> </td><td>Következő sávra vált. </td></tr>
  896. <tr><td><kbd>Szóköz</kbd> </td><td>Elindítja / leállítja a sáv lejátszását. </td></tr></table></div>
  897. <p>A sávválasztó alatt látszanak a DSP státusz regiszterek (<span class="ui2">2</span>), de ez a blokk csak akkor kel életre, ha folyamatban van
  898. a lejátszás.</p>
  899. <h2 id="csatornak">Csatornák<a href="#csatornak"></a></h2>
  900. <p>Mellette négy hasonló oszlop található, mindegyikben hangjegyek (<span class="ui2">3</span>). Ez az a négy csatorna, amit a zenelejátszó
  901. egyidejűleg képes megszólaltatni. Ez hasonló a kottához, bővebb infóért lásd a <a href="#general_midi" onclick="c('general_midi')">General MIDI</a> fejezetet alább.</p>
  902. <div class="table"><table><tr><th>Billentyűkombináció </th><th>Leírás </th></tr>
  903. <tr><td><kbd>◂</kbd> </td><td>Előző csatornára vált. </td></tr>
  904. <tr><td><kbd>▸</kbd> </td><td>Következő csatornára vált. </td></tr>
  905. <tr><td><kbd>▴</kbd> </td><td>Egy sorral feljebb lép. </td></tr>
  906. <tr><td><kbd>▾</kbd> </td><td>Egy sorral lejjebb lép. </td></tr>
  907. <tr><td><kbd>Home</kbd> </td><td>Első sorra ugrik. </td></tr>
  908. <tr><td><kbd>End</kbd> </td><td>Utolsó sorra ugrik. </td></tr>
  909. <tr><td><kbd>Ins</kbd> </td><td>Sor beszúrása. Minden, ami alatta van, eggyel lejjebb kerül. </td></tr>
  910. <tr><td><kbd>Del</kbd> </td><td>Sor törlése. Minden, ami alatta van, eggyel feljebb kerül. </td></tr>
  911. <tr><td><kbd>Backspace</kbd> </td><td>Hangjegy törlése. </td></tr></table></div>
  912. <h2 id="hangjegyszerkeszto">Hangjegyszerkesztő<a href="#hangjegyszerkeszto"></a></h2>
  913. <p>A csatornák alatt látható a hangjegyszerkesztő (<span class="ui2">4</span>), néhány gombbal balra és egy nagy zongorával jobbra.</p>
  914. <div class="info"><p><span>FONTOS</span></p><p> Amikor egy hangjegy kiválasztódik, az akkori állapota elmentődik az előzményekbe. Erre bármikor vissza lehet állítani a
  915. visszavonás kombináció lenyomásával, amíg az a hangeffekt marad a kiválasztott. Ha volt visszavonás, akkor az újrabeillesztés
  916. is használható mindaddig, amíg nem módosítjuk. (A módosítások nem mentődnek az előzményekbe egyesével, csak az az állapot, amikor
  917. a hangjegy ki lett választva.)</p></div>
  918. <p>A hangjegyeknek három részük van, az első a hangmagasság (a szerkesztőben felül), ami újabb három alrészből áll. Az első a hang
  919. maga, mint pl. <samp>C</samp> vagy <samp>D</samp>. Aztán a <samp>-</samp> karakter ha egészhang, illetve <samp>#</samp> félhangok esetében. A harmadik rész pedig simán az
  920. oktáv, <samp>0</samp>-tól (legmélyebb) <samp>7</samp>-ig (legmagasabb). A 440 Hz normál zenei A hang például ezért úgy van írva, hogy <samp>A-4</samp>. A zongora
  921. segítségével könnyedén választhatsz hangmagasságot.</p>
  922. <p>A hangmagasság után következik a korábban említett hangszer (a hangjegy középső része), ami a kívánt hullámmintát választja ki,
  923. <samp>01</samp>-től <samp>1F</samp>-ig. A 0-ás érték <samp>..</samp>-ként jelenik meg, és azt jelenti, használd a korábban beállított hangmintát tovább.</p>
  924. <p>Végezetül adhatsz speciális effekteket a hangjegyhez (a hangjegy utolsó része), mint például arpeggio (akkordként szólal meg),
  925. portamento, vibrato, tremolo stb. A teljes listát megtalálod a <a href="#hangjegyeffektek" onclick="c('hangjegyeffektek')">hangjegyeffektek</a>nél. Ennek van egy numerikus paramétere, ami
  926. általában azt jelenti, hogy "mennyire". Három hexa számként jelenik meg, ahol az első az effekt típusa, a maradék kettő pedig
  927. a paraméter, vagy pedig <samp>...</samp> ha nincs beállítva. Például a <samp>C00</samp> azt jelenti, állítsd a hangerőt nullára, azaz némítsd el a
  928. csatornát.</p>
  929. <h3 id="mus_kbd">Billentyűzet<a href="#mus_kbd"></a></h3>
  930. <div class="imgc"><img class="imgc" width="694" height="256" alt="pianokbd.png" src="data:image/png;base64,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"></div><span class="fig">Zongora billentyűzetkiosztás</span>
  931. <ol><li>hullámminta választók</li>
  932. <li>effekt választók</li>
  933. <li>oktáv választók</li>
  934. <li>zongora klaviatúra</li></ol>
  935. <div class="table"><table><tr><th>Billentyűkombináció </th><th>Leírás </th></tr>
  936. <tr><td><kbd>1</kbd> - <kbd>0</kbd> </td><td>Hullámminta választás 1-től 10-ig (illetve <kbd>Shift</kbd>-el 11-től 20-ig). </td></tr>
  937. <tr><td><kbd>Q</kbd> </td><td>Minden effekt törlése a hangjegyen (de a hangmagasságot és a hullámmintát ne). </td></tr>
  938. <tr><td><kbd>W</kbd> </td><td>Arpeggio dúr. </td></tr>
  939. <tr><td><kbd>E</kbd> </td><td>Arpeggio moll. </td></tr>
  940. <tr><td><kbd>R</kbd> </td><td>Csúsztatás egész hanggal felfelé. </td></tr>
  941. <tr><td><kbd>T</kbd> </td><td>Csúsztatás fél hanggal felfelé. </td></tr>
  942. <tr><td><kbd>Y</kbd> </td><td>Csúsztatás fél hanggal lefelé. </td></tr>
  943. <tr><td><kbd>U</kbd> </td><td>Csúsztatás egész hanggal felfelé. </td></tr>
  944. <tr><td><kbd>I</kbd> </td><td>Vibrato kicsi. </td></tr>
  945. <tr><td><kbd>O</kbd> </td><td>Vibrato nagy. </td></tr>
  946. <tr><td><kbd>P</kbd> </td><td>Tremolo kicsi. </td></tr>
  947. <tr><td><kbd>[</kbd> </td><td>Tremolo nagy. </td></tr>
  948. <tr><td><kbd>]</kbd> </td><td>Csatorna elnémítása "effekt". </td></tr>
  949. <tr><td><kbd>Z</kbd> </td><td>Egy oktávval méllyebbre lép. </td></tr>
  950. <tr><td><kbd>.</kbd> </td><td>Egy oktávval magasabbra lép. </td></tr>
  951. <tr><td><kbd>X</kbd> </td><td>C hang az aktuális oktávon. </td></tr>
  952. <tr><td><kbd>D</kbd> </td><td>C# hang az aktuális oktávon. </td></tr>
  953. <tr><td><kbd>C</kbd> </td><td>D hang az aktuális oktávon. </td></tr>
  954. <tr><td><kbd>F</kbd> </td><td>D# hang az aktuális oktávon. </td></tr>
  955. <tr><td><kbd>V</kbd> </td><td>E hang az aktuális oktávon. </td></tr>
  956. <tr><td><kbd>B</kbd> </td><td>F hang az aktuális oktávon. </td></tr>
  957. <tr><td><kbd>H</kbd> </td><td>F# hang az aktuális oktávon. </td></tr>
  958. <tr><td><kbd>N</kbd> </td><td>G hang az aktuális oktávon. </td></tr>
  959. <tr><td><kbd>J</kbd> </td><td>G# hang az aktuális oktávon. </td></tr>
  960. <tr><td><kbd>M</kbd> </td><td>A hang az aktuális oktávon. </td></tr>
  961. <tr><td><kbd>K</kbd> </td><td>A# hang az aktuális oktávon. </td></tr>
  962. <tr><td><kbd>,</kbd> </td><td>H (B) hang az aktuális oktávon. </td></tr></table></div>
  963. <div class="info"><p><span>MEGJEGYZÉS</span></p><p> Angol kiosztás billentyűit tartalmazza ez a táblázat. Azonban nemigazán számít, milyen billentyűzetkiosztást használsz,
  964. csak az számít, ezek a gombok hol vannak az angolon. Például, ha AZERTY kiosztásod van, akkor neked az <kbd>A</kbd> gomb lesz az
  965. effektek törlése funkció, QWERTZ esetén pedig a <kbd>Z</kbd> lefele csúsztatja a hangot, és a <kbd>Y</kbd> fog oktávot váltani.</p></div>
  966. <p>Fontos megjegyezni, hogy nem minden funkciónak van gyorsbillentyűje. Például 31 hullámmintád lehet, de csak az első 20 érhető
  967. el gyorsgombokkal. Ugyanígy effektekből is nagyságrendekkel több van, mint ahánynak gyorsgombja van.</p>
  968. <h2 id="general_midi">General MIDI<a href="#general_midi"></a></h2>
  969. <p>Zenék (legalábbis a kottáik) importálhatók MIDI fájlokból. Nagyon leegyszerűsítve a dolgot, amikor egy klasszikus zenei kottát
  970. számítógépen tárolnak digitalizált formában, akkor ahhoz a MIDI formátumot használják. Namost ezek alkalmasak egy hangszerhez
  971. vagy akár egy komplett zenekarnak is, szóval sokkal több mindent tudnak tárolni, mint amire a MEG-4 képes, emiatt</p>
  972. <div class="warn"><p><span>FIGYELEM</span></p><p> Nem minden MIDI fájlt lehet tökéletesen beimportálni.</p></div>
  973. <p>Mielőtt továbbmennék, muszáj ejteni pár szót a kifejezésekről, mivel sajnálatos módon a MIDI specifikáció és a MEG-4 is ugyanazt
  974. a nevezéktant használja - csak épp tök mást értenek alatta.</p>
  975. <ul><li>MIDI dal: egy <i>.mid</i> fájl (az SMF2 formátum nem támogatott).</li>
  976. <li>MIDI sáv: egy sor a klasszikus kottán.</li>
  977. <li>MIDI csatorna: csak azért létezik, mert a MIDI-t idióták alkották, akik azt hitték, jó poén mindent egy sávba zsúfolni amikor
  978. a fájlokat mentik, egyébként pontosan és egy-az-egyben ugyanaz, mint a sáv. 16 ilyened lehet.</li>
  979. <li>MIDI hangszer: egy kód (amit a General MIDI Patch szabványosított), ez írja le, hogy melyik hangszert használja egy adott
  980. csatorna (kivéve, ha az a 10-es csatorna, ne is kérdezd miért), összesen 128 féle hangszerkód van belőle.</li>
  981. <li>MIDI hang: egy hang, C a -1. oktávontól a G a 9. oktávonig tartományban, 128 különböző hangjegy összesen.</li>
  982. <li>MIDI konkurrens hangok: azon hangok száma, amik egyszerre szólhatnak egy adott pillanatban. Mivel 16 csatorna és 128 hangjegy
  983. van a MIDI-ben, így ez 2048.</li>
  984. <li>MEG-4 sáv: egy dal, ezekből 8 lehet összesen.</li>
  985. <li>MEG-4 minta: a hulláminta mint PCM adatok sorozata, megfeleltethető a hangszereknek, összesen 31 ilyened lehet.</li>
  986. <li>MEG-4 csatorna: azon hangok száma, amik egyszerre szólhatnak egy adott pillanatban, ez 4.</li>
  987. <li>MEG-4 hang: egy hang, C a 0. oktávontól a B a 7. oktávonig tartományban, 96 különböző hangjegy összesen.</li></ul>
  988. <p>A félreértések elkerülése végett csakis egy MEG-4 sávról lesz szó, és a továbbiakban a "sáv" a MIDI csatornákat jelenti, a
  989. "csatorna" pedig a MEG-4 csatornáit.</p>
  990. <h3 id="hangszerek">Hangszerek<a href="#hangszerek"></a></h3>
  991. <p>Ami a hangszereket illeti, összesen 16 család van, 8 hangszerrel mindegyikben. A MEG-4 nem tud ilyen sok, 128 különböző
  992. hullámmintát tárolni, ezért családonként csak kettőt rendel hozzá (a 15. és 16. család a speciális effekteké, nem használt):</p>
  993. <div class="table"><table><tr><th>Család </th><th>SF </th><th>Patch </th><th>Hogy kéne szólnia </th><th>SF </th><th>Patch </th><th>Hogy kéne szólnia </th></tr>
  994. <tr><td>Piano </td><td class="right">01 </td><td>1-4 </td><td>Akusztikus zongora </td><td class="right">02 </td><td>5-8 </td><td>Elektromos zongora </td></tr>
  995. <tr><td>Chromatic </td><td class="right">03 </td><td>9-12 </td><td>Csemballó </td><td class="right">04 </td><td>13-16 </td><td>Csőharangok </td></tr>
  996. <tr><td>Organ </td><td class="right">05 </td><td>17-20 </td><td>Templomi orgona </td><td class="right">06 </td><td>21-24 </td><td>Harmónika </td></tr>
  997. <tr><td>Guitar </td><td class="right">07 </td><td>25-28 </td><td>Akusztikus gitár </td><td class="right">08 </td><td>29-32 </td><td>Elektromos gitár </td></tr>
  998. <tr><td>Bass </td><td class="right">09 </td><td>33-36 </td><td>Akusztikus Basszus </td><td class="right">0A </td><td>37-40 </td><td>Basszusgitár </td></tr>
  999. <tr><td>Strings </td><td class="right">0B </td><td>41-44 </td><td>Hegedű </td><td class="right">0C </td><td>45-48 </td><td>Zenekari hárfa </td></tr>
  1000. <tr><td>Ensemble </td><td class="right">0D </td><td>49-52 </td><td>Vonósegyüttes </td><td class="right">0E </td><td>53-56 </td><td>Kórus ááá </td></tr>
  1001. <tr><td>Brass </td><td class="right">0F </td><td>57-60 </td><td>Trombita </td><td class="right">10 </td><td>61-64 </td><td>Kürt </td></tr>
  1002. <tr><td>Reed </td><td class="right">11 </td><td>65-68 </td><td>Szaxofon </td><td class="right">12 </td><td>69-72 </td><td>Oboa </td></tr>
  1003. <tr><td>Pipe </td><td class="right">13 </td><td>73-76 </td><td>Fuvola </td><td class="right">14 </td><td>77-80 </td><td>Fújt üveg </td></tr>
  1004. <tr><td>Synth Lead </td><td class="right">15 </td><td>81-84 </td><td>Szintetizátor 1 </td><td class="right">16 </td><td>85-88 </td><td>Szintetizátor 2 </td></tr>
  1005. <tr><td>Synth Pad </td><td class="right">17 </td><td>89-92 </td><td>Szintetizátor 3 </td><td class="right">18 </td><td>93-96 </td><td>Szintetizátor 3 </td></tr></table></div>
  1006. <p>Általánosítva, a General MIDI hangszerből a <samp>(patch - 1) / 4 + 1</samp>-dik soundfont hullámminta lesz.</p>
  1007. <p>Fontos megjegyezni, hogy a MEG-4 dinamikusan osztja ki a hullámmintákat, szóval ezek a számok a soundfontbeli hullámok sorszámai.
  1008. Ha például a MIDI fájlod csak két hangszert használ, zongorát és elektromos gitárt, akkor a zongora kerül az 1-es hullámhelyre,
  1009. és a gitár a 2-esre. Előre betölthetsz minden hangmintát a soundfontból a <a href="#hangeffektek" onclick="c('hangeffektek')">hangeffektek</a> szerkesztőben, ekkor a beimportált MIDI
  1010. fájlod pontosan ezeket a hullám sorszámokat fogja használni.</p>
  1011. <h3 id="kottak">Kották<a href="#kottak"></a></h3>
  1012. <p>A MEG-4 mintái megfeleltethetők a klasszikus zenei kottának, de amíg a klasszikus kottán az idő balról jobbra halad és egy
  1013. MIDI sáv csak egy hangszert jelenhet, addig a MEG-4 kottán az idő fentről lefelé halad és szabadon változtathatod, egy adott
  1014. csatorna mikor melyik hullámot használja. Itt egy konkrét példa (a General MIDI specifikációból):</p>
  1015. <div class="imgc"><img class="imgc" width="606" height="226" alt="notes.png" src="data:image/png;base64,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"></div><span class="fig">Klasszikus kotta balra, MEG-4 kotta megfelelője jobbra</span>
  1016. <p>Balra három sávunk van, Electric Piano 2 (elektromos zongora), Harp (hárfa) és Bassoon (fagott). Az első hangjegy, amit le kell
  1017. játszani a fagotton, mindjárt két hangjegy egyszerre. Vegyük észre a kottán a basszuskulcsot, így ezek a hangok a C a 3. oktávon
  1018. és C a 4. oktávon, és mindkettő 4 negyedes, azaz teljes egész hangok.</p>
  1019. <p>Jobbra van a MEG-4 kotta megfelelője. Az első sorban látható ez a két fagott hang: <samp>C-3</samp> az első csatornán és <samp>C-4</samp> a másodikon.
  1020. A minta <samp>12</samp> (hexa, feltéve, hogy a soundfontot előre betöltöttük kézzel, egyébként a szám más lenne) az oboa hullámmintát
  1021. választja, ami nem igazán fagott, de ez a legközelebbi, amink van a soundfontban. A <samp>C30</samp> rész jelenti a gyorsulást, amivel
  1022. megszólaltatják a hangot, ez nálunk megfeleltethető a hangerőnek (minnél erősebben csapsz egy zongora billentyűre, annál hangosabb
  1023. lesz a hangja). A MEG-4 hangonkénti hangereje 0-tól (csend) 64-ig (40 hexában, teljes hangerő) terjed. Ezért a 30 hexában a teljes
  1024. hangerő 75%-a.</p>
  1025. <p>A következő lejátszandó hang a hárfán található, negyed hanggal a fagott után, G a 4. oktávon és 3 negyedig tart. A MEG-4 kottán
  1026. ezt <samp>G-4</samp>-ként látod, a negyedik sorban (mivel akkor kezdődik), és mivel az 1-es 2-es csatornán még szól a fagott, ezért a 3-as
  1027. csatornán. Ha ezt a hangot az 1-es vagy 2-es csatornára raktuk volna, akkor a csatornán épp lejátszott hang elhallgatott volna,
  1028. és lecserélődött volna az újra. A minta itt a <samp>0C</samp> (hexában), ami a zenekari hárfa hullámmintáját jelenti.</p>
  1029. <p>Az utolsó hang a legelső MIDI sávon található, félhanggal az indulás után kezdődik, egy E az 5. oktávon és 2 negyedes, azaz
  1030. félhangnyi időtartamú. Mivel félhanggal később kezdődik, ezért az <samp>E-5</samp>-öt a 8. sorban találod, és mivel már van három hangunk
  1031. amik még tartanak, ezért a 4. csatornára került. A minta <samp>02</samp> jelentése válaszd az elektromos zongorát, ami nem ugyanaz, mint
  1032. a MIDI Electric Piano 2, de elég közel áll hozzá.</p>
  1033. <p>Namost van két egész hangunk, egy háromnegyedes és egy feles; ezek rendre a sáv elején, negyeddel később illetve fél hanggal
  1034. később kezdődtek. Ez azt jelenti, hogy mindnek egyszerre kell, hogy vége legyen. Ezt a 16. sorban (10 hexában) láthatod, minden
  1035. csatornán van egy <samp>C00</samp> "állítsd a hangerőt 0-ra" parancs.</p>
  1036. <h3 id="tempo">Tempó<a href="#tempo"></a></h3>
  1037. <p>A MIDI suttyomban 120 BPM-et (beat per minute, percenkénti ütésszám) feltételez, és csak egy negyedhang osztót ad meg. Aztán
  1038. megadhatja a negyedhang hosszát milliomodmásodpercekben, vagy nem. A lényeg, hogy bonyolult, és nem minden kombináció fordítható
  1039. át értelmesen a MEG-4-re. Az importálót úgy írtam meg, hogy eldobja a felhalmozódó kerekítési hibákat, és csakis a két egymásutáni
  1040. hang relatív időközével foglalkozik. Emiatt a MEG-4 dal tempója sosem lesz pontosan ugyanaz, mint a MIDI dalé, de nagyon hasonlóan
  1041. kell szólnia, és túlságosan eltérnie sem szabad tőle.</p>
  1042. <p>A MEG-4 tempója sokkal egyszerűbb. Fixen 3000 tikked van percenként, és az alapértelmezett tempó 6 tikk soronként. Ez azt jelenti,
  1043. hogy 125 BPM-hez minden negyedik sorba kell hangjegyeket rakni (mivel 3000 / 6 / 4 = 125). Ha a tempót átállítod (lásd <samp>Fxx</samp>
  1044. parancs) ennek a felére, 3 tikkre soronként, akkor minden sor fele annyi ideig fog kitartani, ezért 250 BPM-et kapsz ha minden
  1045. negyedik sort használod. 3-as tempó mellett minden nyolcadik sorba kell a hangjegyeket rakni a 125 BPM-hez. Ha a tempót 12-re
  1046. állítod, akkor minden sor kétszer annyi ideig fog tartani, ezért minden negyedik sor 62.5 BPM-et jelent, és minden második sort
  1047. kell használni a 125 BPM-hez. Remélem világos.</p>
  1048. <p>Ez csak azt állítja, hogy mikortól szólaljon meg egy hang, és teljesen független attól, hogy az mennyi ideig fog szólni. Ez
  1049. utóbbihoz vagy egy új hangot kell használnod ugyanazon a csatornán, vagy pedig egy <samp>C00</samp> "állítsd a hangerőt 0-ra" effektet,
  1050. pont annál a sornál, amikor a hangot el akarod vágni. Ha e kettő között átállítod a tempót, az nem fogja a hangot befolyásolni,
  1051. csakis azt, hogy meddig szóljon (mivel másik időpontban fogja elérni azt a sort, amiben a kikapcsolás van).</p>
  1052. <p>Azonban a hangok akkor is elhalnak, ha a hullámmintájuk véget ér. Hogy ez mikor következik be, az függ a hangmagasságtól és a
  1053. minták számától is (a C-4 hangmagasság tikkenként 882 mintát kell küldjön a hangszóróra). Van azonban egy trükk: a hullámmintán
  1054. megadhatsz egy ún. "loop"-ot, ami azt jelenti, miután minden minta elfogyott, akkor a kijelölt tartományt fogja ismételni a
  1055. végtelenségig (szóval mindenképp el kell vágnod, kölönben a hang tényleg sosem fog elhallgatni).</p><br style="clear:both;"><label class="btn prev" accesskey="p" for="_hangeffektek" title="Hangeffektek">Előző</label><label class="btn next" accesskey="n" for="_memoriaatfedok" title="Memóriaátfedők">Következő</label></div>
  1056. <div class="page" rel="memoriaatfedok"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Szerkesztők&nbsp;»</li><li>&nbsp;Memóriaátfedők</li></ul><hr></div>
  1057. <h1 id="memoriaatfedok">Memóriaátfedők<a href="#memoriaatfedok"></a></h1>
  1058. <p><img class="imgt" width="16" height="16" alt="overlay.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA30lEQVQ4y8XSO08CYRCF4WcJGKkobEyIndJZ+fvsLTSx1cTehlIL/4GtpYngLSBC5O5yWXYtPmmsLDbhNDOTmcy8ORk2rWidXN6d16Fx/34LJ8enV/9ZUMiN4OLmLINxOgJJmoDJbBgGskIGcTJNIF5Om7kQFNfJqD0Hg5cleG41wd5BFQyzXgSLre8SlEtq+RJEO+FycbUKcZmBz24HLL7S4El/AdL9sXwJDrebMQx3ozLUqqHVmwdv3iYxeP0I9S9ojn/wV632UwX6nes6lLLGEQxmcQUeHrtZLgSb1w/OmFbu5Te2NAAAAABJRU5ErkJggg=="> Kattints a RAM ikonra (vagy <kbd>F8</kbd>) a memóriaátfedők szerkesztéséhez.</p>
  1059. <p>Az átfedők nagyon hasznosak, mivel lehetővé teszik, hogy a RAM bizonyos része több különböző, egymást átfedő adatot tartalmazzon,
  1060. és így több adatot legyen képes kezelni, mint amennyi a memóriába beleférne. Ezekkel dinamikusan, futás közben betölthetsz
  1061. szprájtokat, térképeket, betűkészleteket vagy épp bármilyen tetszőleges adatot a <a href="#memload" onclick="c('memload')">memload</a> funkció hívásával.</p>
  1062. <p>Van egy másik, nagyon hasznos tulajdonságuk is: ha meghívod a <a href="#memsave" onclick="c('memsave')">memsave</a> funkciót a programodból, akkor az átfedő adatai a felhasználó
  1063. számítógépére kerülnek lementésre. A <samp>memload</samp> legközelebbi hívásakor a betöltendő adatok már nem a flopidról, hanem a felhasználó
  1064. számítógépéről fognak érkezni. Ezzel könnyedén egy permanens tároló alakítható ki, például az elért pontszámok tárolására.</p>
  1065. <div class="imgc"><img class="imgc" width="640" height="400" alt="overlayscr.png" src="data:image/png;base64,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"></div><span class="fig">Memóriaátfedők</span>
  1066. <h2 id="atfedovalaszto">Átfedőválasztó<a href="#atfedovalaszto"></a></h2>
  1067. <p>Az oldal tetején látható a memóriaátfedő kiválasztó, minden egyes átfedő méretével (<span class="ui2">1</span>). A sötétebb bejegyzések azt
  1068. jelzik, hogy az adott átfedő nincs megadva. Összesen 256 átfedő áll rendelkezésedre, 00-tól FF-ig.</p>
  1069. <h2 id="atfedo_tartalma">Átfedő tartalma<a href="#atfedo_tartalma"></a></h2>
  1070. <p>A tábla alatt láthatod az átfedő adatait hexdump formájában (csak akkor, ha nem üres átfedő van épp kiválasztva, <span class="ui2">2</span>).</p>
  1071. <p>A hexdump egy pofonegyszerű formátum, az első oszlop tartalmazza a címet, ami mindig 16-al osztható. Ezt követi az adott
  1072. címen található 16 bájt hexa formában, majd ugyanaz a 16 bájt karakterként. Ennyi.</p>
  1073. <h2 id="atfedo_menu">Átfedő menü<a href="#atfedo_menu"></a></h2>
  1074. <p>A menüsorban fent (<span class="ui2">3</span>), megadhatsz egy memóriacímet és egy méretet, majd az <span class="ui1">Elment</span> gombra kattintva le fogja
  1075. tárolni a memória adatait a kijelölt átfedőbe. A <span class="ui1">Betölt</span> gomb használatával visszatölthető a memória tartalma a megadott
  1076. címre, de ekkor a méret azt jelenti, maximum ennyi bájtot szabad betölteni.</p>
  1077. <p>Az <span class="ui1">Export</span> gombra kattintva megjelenik a fájlmentés ablak, ahol lementheted és módosíthatod a bináris tartalmat egy
  1078. külsős programmal. Az átfedő visszatöltéséhez a fájlt úgy kell elnevezni, hogy <samp>memXX.bin</samp>, ahol az <samp>XX</samp> a használni kívánt átfedő
  1079. száma 00-tól FF-ig, és csak simán rá kell húzni ezt a fájlt a MEG-4 ablakára.</p><br style="clear:both;"><label class="btn prev" accesskey="p" for="_zenesavok" title="Zenesávok">Előző</label><label class="btn next" accesskey="n" for="_vizualis_szerkeszto" title="Vizuális Szerkesztő">Következő</label></div>
  1080. <div class="page" rel="vizualis_szerkeszto"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Szerkesztők&nbsp;»</li><li>&nbsp;Vizuális Szerkesztő</li></ul><hr></div>
  1081. <h1 id="vizualis_szerkeszto">Vizuális Szerkesztő<a href="#vizualis_szerkeszto"></a></h1>
  1082. <p><img class="imgt" width="16" height="16" alt="visual.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABE0lEQVQ4y7WTMUrEQBSGv9lsssGEQGQFUwSVvYNFmlXIFYStxcJGG/EWEkEbCw+wh7BQi228gQqiaQQhhcxqZIWxyARmFzvH18zwz8fjn3/eiDzfcjFKyvoM4ORgdR9Aaf34/PUCIAz9Q5Pv8MfqLgpCMAF4ePnc1YpqdDH5rYE9B+3dN/zuDkDyGHjNSZPCek+eAjzJOtNZHFlxIIqiuAcIgmANoKqqNwDv7nrJBGeb2x8AcRyvNI7ls50MoigaAKRp2gFwHCcBGL9/+SY46vdrkyvLcmAng3YSpayvtFbpdXmBndPD0M/tzkHbcTqtRwCz4fDSBN2b273mtXrj//0LSpEBfCeJNwcqlelt68C14uAHSWxG3raKahQAAAAASUVORK5CYII="> Kattints a folyamatábra ikonra (vagy <kbd>F9</kbd>) a programod struktogrammokkal való szerkesztéséhez.</p>
  1083. <p>A kód három alrészből áll, az egyik vizuálisan, struktogrammokkal teszi lehetővé a forráskód szerkesztését (ez), a szöveges
  1084. szerkesztés a <a href="#kod_szerkeszto" onclick="c('kod_szerkeszto')">Kód Szerkesztő</a>ben lehetséges, míg a programod gépi kódú változatát a <a href="#debuggolo" onclick="c('debuggolo')">debuggoló</a> mutatja.</p>
  1085. <p>TODO</p><br style="clear:both;"><label class="btn prev" accesskey="p" for="_memoriaatfedok" title="Memóriaátfedők">Előző</label><label class="btn next" accesskey="n" for="_debuggolo" title="Debuggoló">Következő</label></div>
  1086. <div class="page" rel="debuggolo"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Szerkesztők&nbsp;»</li><li>&nbsp;Debuggoló</li></ul><hr></div>
  1087. <h1 id="debuggolo">Debuggoló<a href="#debuggolo"></a></h1>
  1088. <p><img class="imgt" width="16" height="16" alt="debug.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABSElEQVQ4y63Sv0ubcRAG8M+rKUglVpFGagbFrhYpSFL6Ojh1K6HQwdFu+UeyZXYrBGdBByHQgoIEIUhLs6SIpIk/Kg2ohVpCEUI6fG1x973puDvuee65J3IbpVKpBblc7g1sbVc/wMiDYbAUv3wF3W53E4rF4lMYcs9I/U9SqffQ6pw0wOgk+NZqgmy73YBsNrt+d0FyDBaazRX4evUrNB5Pg5FOB3zf2wEPFxefJcogKpfLMYzW6zV4vhAAepkpcFStBuQvQZrTfB6k43gpGQ16vd4axMfHYGpuFrRubsLExUWoR1G4uV4H7fn5tWQ0+JdsrK4O4ODzJ/BibCxo8aMLdi8vQVwogHeVSpSsD/7k8z/h0f7+BJydH4LfgwF4ksmEbywvX4NKJWEn1hqN1zA3Pn4N7X5/A/pDAWN2ZuYtfKzV0ok68S9SjF9jRorm/QAAAABJRU5ErkJggg=="> Kattints a katica ikonra (vagy <kbd>F10</kbd>) a programod gépi kódú ellenőrzéséhez.</p>
  1089. <p>A kód három alrészből áll, az egyik a programod gépi kódú változatát mutatja (ez), a forráskód szöveges szerkesztése
  1090. a <a href="#kod_szerkeszto" onclick="c('kod_szerkeszto')">Kód Szerkesztő</a>ben lehetséges, míg a <a href="#vizualis_szerkeszto" onclick="c('vizualis_szerkeszto')">Vizuális Szerkesztő</a>ben ugyanezt struktrogrammokkal teheted meg.</p>
  1091. <div class="warn"><p><span>FIGYELEM</span></p><p> A debuggoló csak a beépített nyelvek esetén működik. Nem elérhető olyan harmadik fél által fejlesztett nyelvek esetén, mint
  1092. például a Lua, ezeknél nincs és nem is lehetséges a támogatás.</p></div>
  1093. <p>Itt megtekinthető, hogy a CPU miként látja a programodat. A <kbd>Space</kbd> leütésével lépésenként hajthatod végre a programodat,
  1094. és közben láthatod, hogy változnak a regiszterek és a memória. A menüben a <span class="ui1">Kód</span> / <span class="ui1">Adat</span> gombbal (<span class="ui2">1</span>,
  1095. vagy a <kbd>Tab</kbd> billentyűvel) váltogathatsz kód- és adatnézet között.</p>
  1096. <div class="imgc"><img class="imgc" width="640" height="400" alt="debugscr.png" src="data:image/png;base64,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"></div><span class="fig">Debuggoló</span>
  1097. <h2 id="kodnezet">Kódnézet<a href="#kodnezet"></a></h2>
  1098. <p>Balra láthatod a hívásvermet (<span class="ui2">2</span>). Ez arra használatos, hogy nyomonkövessük a függvényhívásokat. Tartalmazza azt a
  1099. forráskód sort is, ahonnan a függvény meghívódott. Ez egy hivatkozás, rákattintva előjön a <a href="#kod_szerkeszto" onclick="c('kod_szerkeszto')">Kód Szerkesztő</a>, a kérdéses sorra
  1100. pozícionálva. A lista tetején mindig az a sor látható, ami jelen pillanatban épp végrehajtódik.</p>
  1101. <p>Jobbra van az utasítás bájtkódlista <a href="#assembly" onclick="c('assembly')">Assembly</a>ben, amiket a CPU ténylegesen végrehajt (<span class="ui2">3</span>).</p>
  1102. <h2 id="adatnezet">Adatnézet<a href="#adatnezet"></a></h2>
  1103. <p>Balra látható a programod globális változóinak listája, az épp aktuális értékeikkel (<span class="ui2">2</span>).</p>
  1104. <p>Jobbra van a verem (<span class="ui2">3</span>), ami több részre oszlik. Minden, ami a BP regiszter felett helyezkedik el, az az éppen futó
  1105. program paraméterlistája, és minden ami ezalatt, de még az SP regiszter fölött található, azok meg a lokális változók.</p>
  1106. <h2 id="regiszterek">Regiszterek<a href="#regiszterek"></a></h2>
  1107. <p>Függetlenül attól, hogy melyik nézet az aktív, a CPU regiszterei mindig látszanak alul (<span class="ui2">4</span>). Harmadik fél által
  1108. biztosított nyelvek esetén csak az FLG, TMR és a PC regiszter elérhető. Bővebb leírást az egyes regiszterekről a <a href="#mnemonikok" onclick="c('mnemonikok')">mnemonikok</a>
  1109. címszó alatt találsz.</p><br style="clear:both;"><label class="btn prev" accesskey="p" for="_vizualis_szerkeszto" title="Vizuális Szerkesztő">Előző</label><label class="btn next" accesskey="n" for="_c" title="C">Következő</label></div>
  1110. <div class="page" rel="c"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Programozás&nbsp;»</li><li>&nbsp;C</li></ul><hr></div>
  1111. <h1 id="c">C<a href="#c"></a></h1>
  1112. <p>Ha ezt a nyelvet választod, akkor kezd a programodat a <samp>#!c</samp> sorral.</p>
  1113. <h2 id="ex_c">Példa program<a href="#ex_c"></a></h2>
  1114. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br>22<br></pre><code><span class="hl_c">#!c</span>
  1115. <span class="hl_c">/* globális változók */</span>
  1116. <span class="hl_t">int</span> <span class="hl_v">számláló</span> <span class="hl_o">=</span> <span class="hl_n">123</span>;
  1117. <span class="hl_t">float</span> <span class="hl_v">szám</span> <span class="hl_o">=</span> <span class="hl_n">3.1415</span>;
  1118. <span class="hl_t">addr_t</span> <span class="hl_v">cím</span> <span class="hl_o">=</span> <span class="hl_n">0x0048C</span>;
  1119. <span class="hl_t">str_t</span> <span class="hl_v">sztring</span> <span class="hl_o">=</span> <span class="hl_s">&quot;valami&quot;</span>;
  1120. <span class="hl_t">uint32_t</span> <span class="hl_v">tömb</span>[<span class="hl_n">10</span>];
  1121. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  1122. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  1123. {
  1124. <span class="hl_c">/* lokális változók */</span>
  1125. <span class="hl_t">int</span> <span class="hl_v">lokálisvagyok</span> <span class="hl_o">=</span> <span class="hl_n">123</span>;
  1126. }
  1127. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  1128. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  1129. {
  1130. <span class="hl_c">/* MEG-4 stílusú kimenet */</span>
  1131. <span class="hl_f">printf</span>(<span class="hl_s">&quot;a számláló %d, balshift %d\n&quot;</span>, <span class="hl_v">számláló</span>, <span class="hl_f">getkey</span>(<span class="hl_v">KEY_LSHIFT</span>));
  1132. }</code></div>
  1133. <h2 id="leiras">Leírás<a href="#leiras"></a></h2>
  1134. <p>A konzol alapértelmezett nyelve a <b>MEG-4 C</b>. Ez, bár maga a nyelv roppant egyszerű, mégis valamivel haladóbb programozóknak
  1135. való. Ha abszolút kezdő vagy, akkor javaslom inkább a <a href="#basic" onclick="c('basic')">BASIC</a> nyelv használatát.</p>
  1136. <p>Szándékosan egy lebutított ANSI C-nek lett megalkotva, hogy megkönnyítse a programozás tanulását. Emiatt eléggé korlátozott,
  1137. nem tud mindent, amit az ANSI C elvár, azonban ha lecseréled a</p>
  1138. <div class="pre"><pre>
  1139. #!c
  1140. </pre></div>
  1141. <p>sort erre</p>
  1142. <div class="pre"><pre class="lineno">1<br>2<br>3<br></pre><code><span class="hl_p">#include &lt;stdint.h&gt;</span>
  1143. <span class="hl_t">typedef</span> <span class="hl_t">char</span><span class="hl_o">*</span> <span class="hl_t">str_t</span>;
  1144. <span class="hl_t">typedef</span> <span class="hl_t">void</span><span class="hl_o">*</span> <span class="hl_t">addr_t</span>;</code></div>
  1145. <p>akkor egy MEG-4 C forrás minden probléma nélkül le fog fordulni bármelyik szabványos ANSI C fordítóval (gcc, clang, tcc stb.).</p>
  1146. <p>Van egy nem szabványos kulcsszava, a <samp>debug;</samp>, amit akárhová elhelyezhetsz a programodban, és ami meghívja a beépített
  1147. <a href="#debuggolo" onclick="c('debuggolo')">debuggoló</a>t. Ezt követően lépésről lépésre hajthatod végre a programodat, ellenőrizve, hogy épp mit csinál.</p>
  1148. <p>A továbbiakban a C nyelv laza bemutatása következik, arra fókuszálva, hogy miben speciális a MEG-4 C.</p>
  1149. <h2 id="elofordito">Előfordító<a href="#elofordito"></a></h2>
  1150. <p>Mivel csak egyetlen forrásfájl van, és a rendszerfüggvények prototípusai csont nélkül támogatottak, ezért nincs szükség fejlécfájlokra.
  1151. Emiatt az előfordító csak a nagyon egyszerű (nem makró) define-okat, valamint a feltételes kódblokkokat támogatja csak.</p>
  1152. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br></pre><code><span class="hl_c">/* lecseréli a (defvált) összes előfordulását a (kifejezés)-re */</span>
  1153. <span class="hl_p">#define (defvált) (kifejezés)</span>
  1154. <span class="hl_c">/* kódblokk használata, ha a (defvált) lett definiálva */</span>
  1155. <span class="hl_p">#ifdef (defvált)</span>
  1156. <span class="hl_c">/* kódblokk használata, ha a (defvált) nem lett definiálva */</span>
  1157. <span class="hl_p">#ifndef (defvált)</span>
  1158. <span class="hl_c">/* kódblokk használata, ha a (kifejezés) igaz */</span>
  1159. <span class="hl_p">#if (kifejezés)</span>
  1160. <span class="hl_c">/* egyébként blokk */</span>
  1161. <span class="hl_p">#else</span>
  1162. <span class="hl_c">/* lezárja a feltételesen behúzandó kódblokkot */</span>
  1163. <span class="hl_p">#endif</span></code></div>
  1164. <p>Létrehozhatsz felsorolást az <samp>enum</samp> kulcsszóval, vesszővel elválasztva, kapcsoszárójelek között. Minden elemnek eggyel nagyobb
  1165. lesz az értéke, mint az azt megelőzőé. Ez pontosan úgy működik, mintha több define sort írtál volna be. Például a következő két
  1166. kód ugyanazt csinálja:</p>
  1167. <div class="pre"><pre class="lineno">1<br>2<br>3<br></pre><code><span class="hl_p">#define A 0</span>
  1168. <span class="hl_p">#define B 1</span>
  1169. <span class="hl_p">#define C 2</span></code></div>
  1170. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">enum</span> { <span class="hl_v">A</span>, <span class="hl_v">B</span>, <span class="hl_v">C</span> };</code></div>
  1171. <p>Továbbá lehetséges direkt értéket is hozzárendelni az egyenlőségjellel, például:</p>
  1172. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">enum</span> { <span class="hl_v">EGY</span> <span class="hl_o">=</span> <span class="hl_n">1</span>, <span class="hl_v">KETTŐ</span>, <span class="hl_v">HÁROM</span>, <span class="hl_v">ÖT</span> <span class="hl_o">=</span> <span class="hl_n">5</span>, <span class="hl_v">HAT</span> };</code></div>
  1173. <h2 id="c_lit">Literálok<a href="#c_lit"></a></h2>
  1174. <p>A MEG-4 C elfogad tízes számrendszerbeli számokat (akár integer egészszámok, vagy lebegőpontosak, tudományos jelöléssel vagy
  1175. annélkül). Hexadecimális számokat a <samp>0x</samp> előtaggal kell kezdeni, a binárisokat <samp>0b</samp>-vel, a nyolcas számrendszerbelieket <samp>0</samp>-val;
  1176. a karaktereket aposztrófok közé, a sztringeket pedig macskakörömbe kell tenni:</p>
  1177. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br></pre><code><span class="hl_n">42</span>
  1178. <span class="hl_n">3.1415</span>
  1179. <span class="hl_n">.123e-10</span>
  1180. <span class="hl_n">0777</span>
  1181. <span class="hl_n">0b00100110</span>
  1182. <span class="hl_n">0x0048C</span>
  1183. <span class="hl_s">'á'</span>
  1184. <span class="hl_s">&quot;Viszlát és kösz a halakat!\n&quot;</span></code></div>
  1185. <h2 id="c_var">Változók<a href="#c_var"></a></h2>
  1186. <p>A BASIC-el ellentétben a változókat itt deklarálni kell. Ezt két helyen lehet megtenni: a legfelső szinten, vagy minden funkció
  1187. elején. Az előbbiekből lesznek a globális változók (amiket minden funkció elér), utóbbiakból pedig a lokális változók, amiket
  1188. csakis az a funkció lát, amelyiknek a törzsében deklarálva lettek. Mégegy különbség, hogy a globális változók inicializálhatók
  1189. (induláskor érték adható nekik a <samp>=</samp> után), míg a lokális változók nem, azoknak külön, kifejezett paranccsal kell értéket adni.</p>
  1190. <p>A deklaráció két részből áll: egy típusból és egy névből. A MEG-4 C támogat minden ANSI C típust: <samp>char</samp> (előjeles bájt), <samp>short</samp>
  1191. (előjeles szó), <samp>int</samp> (előjeles egészszám), <samp>float</samp> (lebegőpontos szám). Ezek elé odarakható az <samp>unsigned</samp>, aminek hatására
  1192. előjel nélküli lesz a típus. ANSI C alatt az <samp>int</samp> elhagyható a <samp>short</samp> után, de MEG-4 alatt el kell hagyni. Tehát a <samp>short int</samp>
  1193. nem érvényes típus, a <samp>short</samp> önmagában viszont az. Továbbá a MEG-4 C nemcsak támogatja, de kifejezetten preferálja a szabványos
  1194. egészszám típusokat (amiket ANSI C alatt az stdint.h rögzít). Ezeknek pár egyszerű szabálya van: ha a típus előjel nélküli,
  1195. akkor <samp>u</samp> betűvel kezdődik; aztán az <samp>int</samp> jelenti, hogy egészszám, amit a tároláshoz használt bitek száma követ, majd végül
  1196. a <samp>_t</samp> zárja, ami arra utal, hogy típus. Például az <samp>int</samp> és az <samp>int32_t</samp> ugyanaz, akárcsak az <samp>unsigned short</samp> és az <samp>uint16_t</samp>.
  1197. Példák:</p>
  1198. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br></pre><code><span class="hl_t">int</span> <span class="hl_v">a</span> <span class="hl_o">=</span> <span class="hl_n">42</span>;
  1199. <span class="hl_t">uint8_t</span> <span class="hl_v">b</span> <span class="hl_o">=</span> <span class="hl_n">0xFF</span>;
  1200. <span class="hl_t">short</span> <span class="hl_v">c</span> <span class="hl_o">=</span> <span class="hl_n">0xFFFF</span>;
  1201. <span class="hl_t">str_t</span> <span class="hl_v">d</span> <span class="hl_o">=</span> <span class="hl_s">&quot;Valami&quot;</span>;
  1202. <span class="hl_t">float</span> <span class="hl_v">e</span> <span class="hl_o">=</span> <span class="hl_n">3.1415</span>;</code></div>
  1203. <p>Az ANSI C-vel ellentétben, ami csakis angol betűket fogad el változónevekben, a MEG-4 C bármit megenged, ha az nem számmal
  1204. kezdődik és nem egy kulcsszó. Például, az <samp>int déjà_vu;</samp> teljesen érvényes (vedd észre a nem angol karaktereket a névben).</p>
  1205. <h2 id="c_arr">Tömbök és mutatók<a href="#c_arr"></a></h2>
  1206. <p>Több, azonos típusú elem rendelhető egyetlen változóhoz, ezeket hívjuk tömböknek. A mutató olyan speciális változó, amiben
  1207. egy olyan memóriacím van, ami azonos típusú elemek listájára mutat. A hasonlóság e kettő között nem véletlen, de vannak apró
  1208. eltérések.</p>
  1209. <p>Tömbökre nincs külön parancs, mint BASIC esetében, egyszerűen csak meg kell adni az elemszámot <samp>[</samp> és <samp>]</samp> között a név után.</p>
  1210. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_v">tömb</span>[<span class="hl_n">10</span>];</code></div>
  1211. <p>A tömb elemeire hivatkozni ugyancsak a <samp>[</samp> és <samp>]</samp> között megadott indexszel lehet. Az index 0-tól indul, és ellenőrzésre kerül,
  1212. hogy a deklarációban megadott méreten belüli-e. A MEG-4 C összesen 4 dimenziót támogat.</p>
  1213. <p>Mutatót úgy kell deklarálni, hogy a név elé <samp>*</samp>-ot teszünk. A C nem ismer sztring típust, és mivel a sztringek igazából
  1214. karakterek egymásután a memóriában, ezért helyette karaktermutatót <samp>char*</samp> használunk. Ez furcsa lehet elsőre, ezért a MEG-4 C
  1215. definiál egy <samp>str_t</samp> típust, de ez igazából pont ugyanaz, mintha <samp>char*</samp>-ot írtunk volna.</p>
  1216. <p>Mivel a mutató mindig egy címet tartalmaz, ezért értékül egy címet kell neki adni (a <samp>&amp;</samp> a változók címét jelenti), és a mutató
  1217. egy címet fog visszaadni. Ahhoz, hogy címen lévő értéket kapjuk, fel kell oldani a mutatót. Ez kétféleképp tehető meg: vagy
  1218. <samp>*</samp>-ot kell elé írni, vagy pedig utánna <samp>[</samp> és <samp>]</samp> között egy indexet, pont úgy, mint a tömbök esetében. Például a következő kettő
  1219. hivatkozás a második printf-ben ugyanaz:</p>
  1220. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br></pre><code><span class="hl_t">int</span> <span class="hl_v">változó</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;
  1221. <span class="hl_t">int</span> <span class="hl_o">*</span><span class="hl_v">mutató</span> <span class="hl_o">=</span> <span class="hl_o">&amp;</span><span class="hl_v">változó</span>;
  1222. <span class="hl_f">printf</span>(<span class="hl_s">&quot;mutató értéke (cím): %x\n&quot;</span>, <span class="hl_v">mutató</span>);
  1223. <span class="hl_f">printf</span>(<span class="hl_s">&quot;mutatott érték: %x %x\n&quot;</span>, <span class="hl_o">*</span><span class="hl_v">mutató</span>, <span class="hl_v">mutató</span>[<span class="hl_n">0</span>]);</code></div>
  1224. <p>A mutatók és a tömbök nem keverhetők, mivel az nem lenne egyértelmű. Például</p>
  1225. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_o">*</span><span class="hl_v">a</span>[<span class="hl_n">10</span>];</code></div>
  1226. Jelentheti az, hogy egy darab mutató, ami 10 egymásutánni egészszámra mutat (<samp>*(int[10])</samp>), vagy jelenthetné azt is, hogy 10 darab
  1227. független mutató, amik mind egy-egy, nem feltétlenül egymásutánni egészszámra mutatnak (<samp>(*int)[10]</samp>). Nem egyértelmű melyik,
  1228. ezért a mutatók és a tömbök nem vegyíthetők egy deklaráción belül.
  1229. <div class="warn"><p><span>FIGYELEM</span></p><p> A tömbökkel ellentétben a mutató feloldásakor nincs méretellenőrzés!</p></div>
  1230. <h2 id="c_op">Műveletek<a href="#c_op"></a></h2>
  1231. <p>Precedenciájuk szerint csökkenő sorrendben:</p>
  1232. <p><p><b>Aritmetikai</b>
  1233. <div class="pre"><pre>
  1234. * / %
  1235. + -
  1236. </pre></div>
  1237. Az első a szorzás, osztás, a <samp>%</samp> pedig a modulus (azaz osztás utáni maradék, pl. <samp>10 % 3</samp> az 1), összeadás, kivonás.</p></p>
  1238. <p><p><b>Relációs</b>
  1239. <div class="pre"><pre>
  1240. != ==
  1241. &lt;= &gt;= &lt; &gt;
  1242. </pre></div>
  1243. Nem egyenlő, egyenlő, kissebb egyenlő, nagyobb egyenlő, kissebb, nagyobb.</p></p>
  1244. <p><p><b>Logikai</b>
  1245. <div class="pre"><pre>
  1246. !
  1247. &amp;&amp;
  1248. ||
  1249. </pre></div>
  1250. Tagadás (0-ból 1 lesz, minden nem nullából pedig 0), és (csak akkor 1, ha mindkét paramétere nem 0), vagy (legalább az egyik
  1251. paramétere nem 0).</p></p>
  1252. <p><p><b>Bitenkénti</b>
  1253. <div class="pre"><pre>
  1254. ~
  1255. &amp;
  1256. |
  1257. &lt;&lt; &gt;&gt;
  1258. </pre></div>
  1259. Bitenkénti tagadás, bitenkénti és, bitenkénti vagy, bitenkénti eltolás balra, illetve jobbra. Vegyük észre, hogy ezek ugyanazok
  1260. a műveletek, mint a logikaiak, azonban míg azok az egész értékre vonatkoznak, ezek minden kettes számrendszerbeli helyiértékre
  1261. külön-külön. Például a logikai tagadás <samp>!0x0100 == 0</samp>, míg a bitenkénti tagadás <samp>~0x0100 == 0x1011</samp>. A bitenkénti eltolás
  1262. pedig a kettőhatvánnyal való szorzásnak illetve osztásnak felel meg. Ha például egy értéket 1-el balra eltolunk, az pont ugyanaz,
  1263. mintha 2-vel felszoroztuk volna.</p></p>
  1264. <p><p><b>Léptető</b>
  1265. <div class="pre"><pre>
  1266. ++ --
  1267. </pre></div>
  1268. Növelés és csökkentés. Ezeket előtagként és utótagként is lehet használni. Ha előtag, például <samp>++a</samp>, akkor megnöveli a változó
  1269. értékét, majd visszaadja a megnövelt értéket. Ha azonban utótag <samp>a++</samp>, akkor szintén megnöveli az értéket, de a nővelés <i>előtti</i>
  1270. értéket adja vissza.</p></p>
  1271. <div class="pre"><pre class="lineno">1<br>2<br></pre><code><span class="hl_v">a</span> <span class="hl_o">=</span> <span class="hl_n">0</span>; <span class="hl_v">b</span> <span class="hl_o">=</span> <span class="hl_o">++</span><span class="hl_v">a</span> <span class="hl_o">*</span> <span class="hl_n">3</span>; <span class="hl_c">/* a == 1, b == 3 */</span>
  1272. <span class="hl_v">a</span> <span class="hl_o">=</span> <span class="hl_n">0</span>; <span class="hl_v">b</span> <span class="hl_o">=</span> <span class="hl_v">a</span><span class="hl_o">++</span> <span class="hl_o">*</span> <span class="hl_n">3</span>; <span class="hl_c">/* a == 1, b == 0 */</span></code></div>
  1273. <p><p><b>Feltételes</b>
  1274. <div class="pre"><pre>
  1275. ?:
  1276. </pre></div>
  1277. Ez egy háromértékes kifejezés, három operandussal, amiket <samp>?</samp> és <samp>:</samp> választ el. Ha az első operandus igaz, akkor az egész
  1278. kifejezés lecserélődik a második operandusra, egyébként a harmadikra. Emiatt a második és a harmadik operandus típusának
  1279. meg kell egyeznie. Például <samp>a &gt;= 0 ? &quot;pozitív&quot; : &quot;negatív&quot;</samp>.</p></p>
  1280. <p><p><b>Értékadás</b>
  1281. <div class="pre"><pre>
  1282. = *= /= %= += -= ~= &amp;= |= &lt;&lt;= &gt;&gt;=
  1283. </pre></div>
  1284. Az első elvégzi a műveletet, majd az eredményt a változóba helyezi. A többi ezen a változón végzi el a műveletet, majd az
  1285. eredményt ugyanebbe a változóba helyezi. Például e kettő ugyanaz: <samp>a *= 3;</samp> és <samp>a = a * 3;</samp>.</p></p>
  1286. <p>A többi nyelvvel ellentétben a C-ben az értékadás is egy művelet. Ez azt jelenti, hogy bárhol előfordulhatnak egy kifejezésben,
  1287. például <samp>a &gt; 0 &amp;&amp; (b = 2)</samp>. Ezért van az, hogy az értékadás a <samp>=</samp>, míg a logikai egyenlő <samp>==</samp>, hogy lehessen használni mindkettőt
  1288. ugyanabban a kifejezésben.</p>
  1289. <p>Van még a címe operátor, a <samp>&amp;</samp>, ami a változó címét adja vissza. Ez akkor használatos, ha valahol a MEG-4 API <samp>addr_t</samp> cím
  1290. paramétert vár.</p>
  1291. <p>Az operátorok a precedenciasorrendjük szerint hajtódnak végre, például a <samp>1+2*3</samp> két operátort tartalmaz, a <samp>+</samp>-t és <samp>*</samp>-t,
  1292. azonban a <samp>*</samp> precedenciája magasabb, így először a <samp>2*3</samp> számítódik ki, és csak azután az <samp>1+6</samp>. Ezért a végeredmény 7 és nem 9.</p>
  1293. <h2 id="c_flow">Vezérlésirányítás<a href="#c_flow"></a></h2>
  1294. <p>Míg a BASIC alatt a vezérlésátadás elsősorban címkékkel történik, addig a C ún. strukturált nyelv, azaz inkább az utasításokat
  1295. megfelelő blokkokba helyezve tagolja a programot. Ha egynél több utasítást akarunk egyben kezelni, akkor azokat <samp>{</samp> és <samp>}</samp> közé
  1296. kell tenni (de lehet egy utasítás is a blokkon belül).</p>
  1297. <p>Mint minden más, a feltételes vezérlésátadások is ilyen blokkokat használnak:</p>
  1298. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br></pre><code><span class="hl_k">if</span>(<span class="hl_v">a</span> <span class="hl_o">!=</span> <span class="hl_v">b</span>) {
  1299. <span class="hl_f">printf</span>(<span class="hl_s">&quot;a nem egyenlő b-vel\n&quot;</span>);
  1300. } <span class="hl_k">else</span> {
  1301. <span class="hl_f">printf</span>(<span class="hl_s">&quot;a egyenlő b-vel\n&quot;</span>);
  1302. }</code></div>
  1303. <p>Megadható egy <samp>else</samp> ág, ami akkor fut le, ha a kifejezés értéke hamis, de az <samp>else</samp> használata nem kötelező.</p>
  1304. <p>Többféle lehetséges érték esetén használható a <samp>switch</samp> utasítás. Itt minden <samp>case</samp> úgy viselkedik, mint egy cimke, és attól
  1305. függően lesz kiválasztva, hogy a kifejezés értéke mennyi.</p>
  1306. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br></pre><code><span class="hl_k">switch</span>(<span class="hl_v">a</span>) {
  1307. <span class="hl_k">case</span> <span class="hl_n">1</span>: <span class="hl_f">printf</span>(<span class="hl_s">&quot;a értéke 1.\n&quot;</span>);
  1308. <span class="hl_k">case</span> <span class="hl_n">2</span>: <span class="hl_f">printf</span>(<span class="hl_s">&quot;a értéke vagy 1 vagy 2.\n&quot;</span>); <span class="hl_k">break</span>;
  1309. <span class="hl_k">case</span> <span class="hl_n">3</span>: <span class="hl_f">printf</span>(<span class="hl_s">&quot;a értéke 3.\n&quot;</span>); <span class="hl_k">break</span>;
  1310. <span class="hl_k">default</span>: <span class="hl_f">printf</span>(<span class="hl_s">&quot;a értéke valami más.\n&quot;</span>); <span class="hl_k">break</span>;
  1311. }</code></div>
  1312. <p>Van egy speciális cimke, a <samp>default</samp> (jelentése alapértelmezett), amire akkor ugrik a program, ha az értékhez nincs külön <samp>case</samp>.
  1313. Ezek a blokkok összefüggőek, azaz ha a vezérlés az egyik <samp>case</samp> cimkére adódik, akkor az a blokk, illetve minden további, azt
  1314. követő blokk is végrehajtódik. A fenti példában ha az <samp>a</samp> értéke 1, akkor mindkét printf le fog futni. Ha ezt nem akarjuk, akkor
  1315. a <samp>break</samp> utasítást kell használni, hogy kilépjünk a <samp>switch</samp>-ből.</p>
  1316. <p>A C nyelv háromféle ismétléstípust ismer: elöltesztelős ciklus, hátultesztelős ciklus és számlálóciklus.</p>
  1317. <p>Az elöltesztelős ciklus előbb ellenőrzi a kifejezés értékét, és csak akkor futtatja le a ciklusmagot, ha az nem hamis.</p>
  1318. <div class="pre"><pre class="lineno">1<br>2<br>3<br></pre><code><span class="hl_k">while</span>(<span class="hl_v">a</span> <span class="hl_o">!=</span> <span class="hl_n">1</span>) {
  1319. <span class="hl_o">...</span>
  1320. }</code></div>
  1321. <p>A hátultesztelős ciklus mindenképp lefuttatja a ciklusmagot legalább egyszer, csak ezt követően ellenőrzi a kifejezést és akkor
  1322. ismétel, ha az igaz.</p>
  1323. <div class="pre"><pre class="lineno">1<br>2<br>3<br></pre><code><span class="hl_k">do</span> {
  1324. <span class="hl_o">...</span>
  1325. } <span class="hl_k">while</span>(<span class="hl_v">a</span> <span class="hl_o">!=</span> <span class="hl_n">1</span>);</code></div>
  1326. <p>A számlálóciklus C-ben eléggé univerzális. Három kifejezést vár, rendre: inicialiálás, feltétel, léptetés. Mivel szabadon adhatod
  1327. meg ezeket, ezért lehetséges akár több változót is használni vagy bármilyen kifejezést megadni (nem feltétlenül számlálóst).
  1328. Példa:</p>
  1329. <div class="pre"><pre class="lineno">1<br>2<br>3<br></pre><code><span class="hl_k">for</span>(<span class="hl_v">a</span> <span class="hl_o">=</span> <span class="hl_n">0</span>; <span class="hl_v">a</span> <span class="hl_o">&lt;</span> <span class="hl_n">10</span>; <span class="hl_v">a</span><span class="hl_o">++</span>) {
  1330. <span class="hl_o">...</span>
  1331. }</code></div>
  1332. <p>Ez pontosan ugyanaz, mintha ezt írtuk volna:</p>
  1333. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br></pre><code><span class="hl_v">a</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;
  1334. <span class="hl_k">while</span>(<span class="hl_v">a</span> <span class="hl_o">&lt;</span> <span class="hl_n">10</span>) {
  1335. <span class="hl_o">...</span>
  1336. <span class="hl_v">a</span><span class="hl_o">++</span>;
  1337. }</code></div>
  1338. <p>A ciklusmag blokkjából is ki lehet lépni a <samp>break</samp> (megszakít) utasítással, de itt használható még a <samp>countinue</samp> (folytatás) is,
  1339. ami ugyancsak megszakítja a ciklusmag blokkjának futtatását, de ahelyett, hogy kilépne, a következő iterációtól folytatja.</p>
  1340. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br></pre><code><span class="hl_k">for</span>(<span class="hl_v">a</span> <span class="hl_o">=</span> <span class="hl_n">0</span>; <span class="hl_v">a</span> <span class="hl_o">&lt;</span> <span class="hl_n">100</span>; <span class="hl_v">a</span><span class="hl_o">++</span>) {
  1341. <span class="hl_k">if</span>(<span class="hl_v">a</span> <span class="hl_o">&lt;</span> <span class="hl_n">10</span>) <span class="hl_k">continue</span>;
  1342. <span class="hl_k">if</span>(<span class="hl_v">a</span> <span class="hl_o">&gt;</span> <span class="hl_n">50</span>) <span class="hl_k">break</span>;
  1343. <span class="hl_f">printf</span>(<span class="hl_s">&quot;a értéke 10 és 50 között: %d\n&quot;</span>, <span class="hl_v">a</span>);
  1344. }</code></div>
  1345. <h2 id="c_funcs">Függvények<a href="#c_funcs"></a></h2>
  1346. <div class="info"><p><span>FONTOS</span></p><p> Csak függvénytörzsön belül használhatók utasítások.</p></div>
  1347. <p>A programodat fel kell darabolnod kissebb programokra, amiket aztán többször is lefuttathatsz, ezeket hívjuk függvényeknek. A
  1348. deklarálásukhoz meg kell adni a visszatérési értékük típusát, a nevüket, a paramétereik listáját <samp>(</samp> és <samp>)</samp> zárójelek között,
  1349. majd pedig a függvénytörzsüket egy <samp>{</samp> és <samp>}</samp> közötti blokkban. Kettő ezek közül, a <samp>setup</samp> és a <samp>loop</samp> különleges jelentéssel
  1350. bír, bővebben lásd a <a href="#kod_szerkeszto" onclick="c('kod_szerkeszto')">kód szerkesztő</a>-nél. A C nyelv nem tesz különbséget alrutinok és függvények között; itt minden függvény.
  1351. Az egyetlen különbség az, hogy azok a függvények, amik nem adnak vissza semmit, a visszatérési értékük típusa <samp>void</samp> (semmi).</p>
  1352. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br></pre><code><span class="hl_t">void</span> <span class="hl_f">ott_vagyunk_már</span>(<span class="hl_t">int</span> <span class="hl_v">A</span>)
  1353. {
  1354. <span class="hl_k">if</span>(<span class="hl_v">A</span> <span class="hl_o">&gt;</span> <span class="hl_n">0</span>) {
  1355. <span class="hl_f">printf</span>(<span class="hl_s">&quot;Nem, még nem\n&quot;</span>);
  1356. <span class="hl_k">return</span>;
  1357. }
  1358. <span class="hl_f">printf</span>(<span class="hl_s">&quot;IGEN! Dolgok, amiker érkezéskor akartál megtenni\n&quot;</span>);
  1359. <span class="hl_k">return</span>;
  1360. }
  1361. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  1362. {
  1363. <span class="hl_c">/* egyszer */</span>
  1364. <span class="hl_f">ott_vagyunk_már</span>(<span class="hl_n">1</span>);
  1365. <span class="hl_c">/* aztán mégegyszer */</span>
  1366. <span class="hl_f">ott_vagyunk_már</span>(<span class="hl_n">0</span>);
  1367. }</code></div>
  1368. <p>A függvényeket a programodból simán a nevükkel hívhatod, zárójelben a paramétereikkel (a zárójel mindenképp kötelező, akkor is,
  1369. ha nincs paramétere). Nincs külön parancs, és nincs különbség a hívásban aközött, ha van visszatérési érték, vagy ha nincs.</p>
  1370. <p>A függvényből visszatérni a hívóra a <samp>return;</samp> utasítással kell. Amennyiben a függvénynek van visszatérési értéke, akkor
  1371. azt a <samp>return</samp> után kell egy kifejezésben megadni, aminek a típusa pont ugyanolyan kell legyen, mint a függvényé. A <samp>return</samp>
  1372. használata (akár van visszatérési érték, akár nincs) kötelező.</p>
  1373. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br></pre><code><span class="hl_t">str_t</span> <span class="hl_f">sztringesfüggvényem</span>()
  1374. {
  1375. <span class="hl_k">return</span> <span class="hl_s">&quot;egy sztring&quot;</span>;
  1376. }
  1377. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  1378. {
  1379. <span class="hl_v">a</span> <span class="hl_o">=</span> <span class="hl_f">sztringesfüggvényem</span>();
  1380. }</code></div>
  1381. <h2 id="c_api">Elérhető függvények<a href="#c_api"></a></h2>
  1382. <p>C nyelvben nincs speciális kiíró vagy bekérő parancs; egész egyszerűen csak MEG-4 API hívásokat kell meghívni. A <a href="#getc" onclick="c('getc')">getc</a> egy
  1383. karaktert olvas be, a <a href="#gets" onclick="c('gets')">gets</a> egy sztringet, kiírni sztringeket pedig a <a href="#printf" onclick="c('printf')">printf</a>-el lehet.</p>
  1384. <p>A MEG-4 C pontosan úgy használja a MEG-4 API függvényeit, ahogy azok ebben a leírásban szerepelnek, nincs semmiféle trükközés,
  1385. nincs átnevezés, se utótagok sem konverzió.</p><br style="clear:both;"><label class="btn prev" accesskey="p" for="_debuggolo" title="Debuggoló">Előző</label><label class="btn next" accesskey="n" for="_basic" title="BASIC">Következő</label></div>
  1386. <div class="page" rel="basic"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Programozás&nbsp;»</li><li>&nbsp;BASIC</li></ul><hr></div>
  1387. <h1 id="basic">BASIC<a href="#basic"></a></h1>
  1388. <p>Ha ezt a nyelvet választod, akkor kezd a programodat a <samp>#!bas</samp> sorral.</p>
  1389. <h2 id="ex_bas">Példa program<a href="#ex_bas"></a></h2>
  1390. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br>22<br></pre><code><span class="hl_c">#!bas</span>
  1391. <span class="hl_c">REM globális változók</span>
  1392. <span class="hl_k">LET</span> <span class="hl_v">számláló%</span> <span class="hl_o">=</span> <span class="hl_n">123</span>
  1393. <span class="hl_k">LET</span> <span class="hl_v">szám</span> <span class="hl_o">=</span> <span class="hl_n">3.1415</span>
  1394. <span class="hl_k">LET</span> <span class="hl_v">cím%</span> <span class="hl_o">=</span> <span class="hl_n">$0048C</span>
  1395. <span class="hl_k">LET</span> <span class="hl_v">sztring$</span> <span class="hl_o">=</span> <span class="hl_s">&quot;valami&quot;</span>
  1396. <span class="hl_k">DIM</span> <span class="hl_f">tömb</span>(<span class="hl_n">10</span>)
  1397. <span class="hl_c">REM Induláskor lefuttatandó dolgok</span>
  1398. <span class="hl_k">SUB</span> <span class="hl_v">setup</span>
  1399. <span class="hl_c">REM lokális változók</span>
  1400. <span class="hl_k">LET</span> <span class="hl_v">lokálisvagyok</span> <span class="hl_o">=</span> <span class="hl_n">123</span>
  1401. <span class="hl_k">END</span> <span class="hl_k">SUB</span>
  1402. <span class="hl_c">REM Minden képkockánál lefuttatandó dolgok, 60 FPS</span>
  1403. <span class="hl_k">SUB</span> <span class="hl_k">loop</span>
  1404. <span class="hl_c">REM BASIC stílusú print</span>
  1405. <span class="hl_k">PRINT</span> <span class="hl_s">&quot;Épp&quot;</span>; <span class="hl_s">&quot; futok&quot;</span>
  1406. <span class="hl_c">REM MEG-4 stílusú kimenet</span>
  1407. <span class="hl_f">printf</span>(<span class="hl_s">&quot;a számláló %d, balshift %d\n&quot;</span>, <span class="hl_v">számláló%</span>, <span class="hl_f">getkey%</span>(<span class="hl_v">KEY_LSHIFT</span>))
  1408. <span class="hl_k">END</span> <span class="hl_k">SUB</span></code></div>
  1409. <h2 id="dialektus">Dialektus<a href="#dialektus"></a></h2>
  1410. <p>A BASIC egy mozaikszó, Beginners' All-purpose Symbolic Instruction Code, ami annyit tesz, Kezdők Általános célú Szimbólikus
  1411. Utasítás Kódja. Kifejezetten azzal a céllal hozta létre Kemény János 1963-ban, hogy gyerekeket tanítsanak vele programozni. A
  1412. <b>MEG-4 BASIC</b> azért ennél kicsit modernebb, tudja a teljes ANSI X3.60-1978 (ECMA-55) szabványt és még jónéhány dolgot az ANSI
  1413. X3.113-1987 (ECMA-116) szabványból is, apró eltérésekkel. Az azonosítók hosszabbak lehetnek két karakternél, és a lebegőpontos
  1414. valamint integer aritmetikája is 32 bites. A legfontosabb különbségek: nincs interaktív mód, így az utasításokat nem kell
  1415. sorszámozni (helyette lehet cimkéket használni), illetve a BASIC kulcsszavak kis-nagybetű érzéketlenek, ahogy azt a specifikáció
  1416. elvárja, ellenben a változó és függvénynevek <i>kis-nagybetű érzékenyek</i>. Az összes MEG-4 API függvényhívás kisbetűs; a többit
  1417. szabadon választhatod, de azok is kis-nagybetű érzékenyek (például az <samp>ALMA</samp>, <samp>Alma</samp> és az <samp>alma</samp> három különböző változót takar).</p>
  1418. <p>Van egy nem szabványos kulcsszava, a <samp>DEBUG</samp>, amit akárhová elhelyezhetsz a programodban, és ami meghívja a beépített
  1419. <a href="#debuggolo" onclick="c('debuggolo')">debuggoló</a>t. Ezt követően lépésről lépésre hajthatod végre a programodat, ellenőrizve, hogy épp mit csinál.</p>
  1420. <p>Következzen a részletes leírás példákkal és minden eltérés kiemelve.</p>
  1421. <h2 id="bas_lit">Literálok<a href="#bas_lit"></a></h2>
  1422. <p>A MEG-4 BASIC elfogad tízes számrendszerbeli számokat (akár integer egészszámok, vagy lebegőpontosak, tudományos jelöléssel vagy
  1423. annélkül). Hexadecimális számokat a <samp>$</samp> karakterrel kell kezdeni (nincs a specifikációban, de így csinálta a Commodore BASIC és
  1424. nagyjából az összes többi 80-as évekbeli dialektus is), a sztringeket pedig macskakörömbe kell tenni:</p>
  1425. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br></pre><code><span class="hl_n">42</span>
  1426. <span class="hl_n">3.1415</span>
  1427. <span class="hl_n">.123e</span><span class="hl_n">-10</span>
  1428. <span class="hl_n">$0048C</span>
  1429. <span class="hl_s">&quot;Viszlát és kösz a halakat!\n&quot;</span></code></div>
  1430. <div class="warn"><p><span>FIGYELEM</span></p><p> A specikiáció szerint 7 bites ASCII-nak kellene lennie, de a MEG-4 BASIC nullával lezárt UTF-8 kódolt sztringeket használ.
  1431. Elfogad továbbá C-beli kiemelő kódokat is (például <samp>\&quot;</samp> a macskaköröm, <samp>\t</samp> a tab, <samp>\n</samp> az újsor karakter), és a sztringek
  1432. maximális hossza 255 bájtnyi (a specifikáció 18 bájtot vár el).</p></div>
  1433. <h2 id="bas_var">Változók<a href="#bas_var"></a></h2>
  1434. <p>A változókat nem kell deklarálni, helyette az azonosítójuk utolsó betűje adja meg a típusukat. Ez lehet <samp>%</samp> egészszámoknál, <samp>$</samp>
  1435. sztringeknél, és ez nincs a specifikációban, de a MEG-4 BASIC esetében a <samp>!</samp> bájtot, a <samp>#</samp> pedig duplabájtot jelent (szó). Bármi
  1436. más lebegőpontos számot tároló változót eredményez.</p>
  1437. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br></pre><code><span class="hl_k">LET</span> <span class="hl_v">A%</span> <span class="hl_o">=</span> <span class="hl_n">42</span>
  1438. <span class="hl_k">LET</span> <span class="hl_v">B!</span> <span class="hl_o">=</span> <span class="hl_n">$FF</span>
  1439. <span class="hl_k">LET</span> <span class="hl_v">C#</span> <span class="hl_o">=</span> <span class="hl_n">$FFFF</span>
  1440. <span class="hl_k">LET</span> <span class="hl_v">D$</span> <span class="hl_o">=</span> <span class="hl_s">&quot;sztring&quot;</span>
  1441. <span class="hl_k">LET</span> <span class="hl_v">E</span> <span class="hl_o">=</span> <span class="hl_n">3.1415</span></code></div>
  1442. <p>A konverzió bájt, integer és a lebegőpontos számok között teljesen automatikus. Azonban ha egy sztringet akarsz szám változóba
  1443. tenni, vagy szám literált egy sztring változóba, az hibát eredményez (ezekhez használnod kell a <samp>STR$</samp> illetve <samp>VAL</samp> hívásokat).</p>
  1444. <p>Amikor értéket adsz egy változónak, a <samp>LET</samp> parancs elhagyható.</p>
  1445. <p>Literálok megadhatók még a programodban a <samp>DATA</samp> állítások segítségével is, amiket aztán a <samp>READ</samp> utasítás rendel változókhoz. A
  1446. <samp>READ</samp> pontosan annyi adatot olvas be, ahány változó meg lett adva a paramétereként, és többször is hívható. Hogy visszaállítsuk,
  1447. hogy a legelső <samp>DATA</samp> utasítástól kezdve olvasson a <samp>READ</samp> megint, ahhoz a <samp>RESTORE</samp> parancsot kell kiadni.</p>
  1448. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br></pre><code><span class="hl_k">RESTORE</span>
  1449. <span class="hl_k">READ</span> <span class="hl_v">név$</span>, <span class="hl_v">jövedelem</span>
  1450. <span class="hl_k">DATA</span> <span class="hl_s">&quot;Jóska&quot;</span>, <span class="hl_n">1234</span>
  1451. <span class="hl_k">DATA</span> <span class="hl_s">&quot;Pista&quot;</span>, <span class="hl_n">2345</span></code></div>
  1452. <p>Van pár speciális változó, amiket a rendszer biztosít. Az <samp>RND</samp> egy lebegőpontos véletlenszámot ad vissza, 0 és 1 között,
  1453. az <samp>INKEY$</samp> visszaadja a felhasználó által leütött billentyűt vagy üres sztringet, <samp>TIME</samp> a gép bekapcsolása óta eltelt
  1454. ezredmásodpercek számát, míg a <samp>NOW%</samp> a greenwichi középidő szerinti 1970 január 1.-e éjfél óta eltelt másodperceket adja vissza.</p>
  1455. <h2 id="bas_arr">Tömbök<a href="#bas_arr"></a></h2>
  1456. <p>Több, azonos típusú elem rendelhető egyetlen változóhoz, ezeket hívjuk tömböknek.</p>
  1457. <div class="pre"><pre class="lineno">1<br>2<br>3<br></pre><code><span class="hl_k">DIM</span> <span class="hl_f">A</span>(<span class="hl_n">10</span>)
  1458. <span class="hl_k">DIM</span> <span class="hl_f">B</span>(<span class="hl_n">10</span>, <span class="hl_n">10</span>)
  1459. <span class="hl_k">DIM</span> <span class="hl_f">C</span>(<span class="hl_n">1</span> <span class="hl_k">TO</span> <span class="hl_n">6</span>)</code></div>
  1460. <p>A BASIC specifikáció elvárja a kétdimenziós tömbök kezelését, de a MEG-4 BASIC 4 dimenziót is támogat. A tömb elemei lehetnek bájtok,
  1461. egészszámok, lebegőpontos számok vagy sztringek. Dinamikusan nem lehet átméretezni őket a <samp>REDIM</samp>-el, minden tömb statikusan lesz
  1462. lefoglalva akkorára, amekkora a <samp>DIM</samp>-nél meg lett adva. Ha a méret nincs kiírva, akkor egy dimenziót és 10 elemet feltételez.</p>
  1463. <div class="warn"><p><span>FIGYELEM</span></p><p> Az elemek indexe 1-től indul (mint az ANSI szerint, és nem 0-tól, mint az ECMA-55 szerint). Az <samp>OPTION BASE</samp> utasítás
  1464. nem támogatott, viszont az induló index átállítható minden tömb esetén a <samp>TO</samp> kulcsszóval.</p></div>
  1465. <h2 id="bas_op">Műveletek<a href="#bas_op"></a></h2>
  1466. <p>Precedenciájuk szerint csökkenő sorrendben:</p>
  1467. <p><p><b>Aritmetikai</b>
  1468. <div class="pre"><pre>
  1469. ^
  1470. * / MOD
  1471. + -
  1472. </pre></div>
  1473. Az első a hatványozás (pl. b a négyzeten <samp>b^2</samp>), aztán szorzás, osztás, a <samp>MOD</samp> pedig a modulus (azaz osztás utáni maradék, pl.
  1474. <samp>10 MOD 3</samp> az 1), összeadás, kivonás.</p></p>
  1475. <p><p><b>Relációs</b>
  1476. <div class="pre"><pre>
  1477. &lt;&gt; =
  1478. &lt;= &gt;= &lt; &gt;
  1479. </pre></div>
  1480. Nem egyenlő, egyenlő, kissebb egyenlő, nagyobb egyenlő, kissebb, nagyobb.</p></p>
  1481. <p><p><b>Logikai</b>
  1482. <div class="pre"><pre>
  1483. NOT
  1484. AND
  1485. OR
  1486. </pre></div>
  1487. Tagadás (0-ból 1 lesz, minden nem nullából pedig 0), és (csak akkor 1, ha mindkét paramétere nem 0), vagy (legalább az egyik
  1488. paramétere nem 0).</p></p>
  1489. <p>Van egy nem szabványos operátor, a <samp>@</samp> a változó címét adja vissza. Ez akkor használatos, ha valahol a MEG-4 API <samp>addr_t</samp> cím
  1490. paramétert vár.</p>
  1491. <p>Az operátorok a precedenciasorrendjük szerint hajtódnak végre, például a <samp>1+2*3</samp> két operátort tartalmaz, a <samp>+</samp>-t és <samp>*</samp>-t,
  1492. azonban a <samp>*</samp> precedenciája magasabb, így először a <samp>2*3</samp> számítódik ki, és csak azután az <samp>1+6</samp>. Ezért a végeredmény 7 és nem 9.</p>
  1493. <h2 id="bas_flow">Vezérlésirányítás<a href="#bas_flow"></a></h2>
  1494. <p>Az <samp>END</samp> utasítás leállítja a vezérlést (kilép a programod).</p>
  1495. <p>A MEG-4 BASIC nem használ már sorszámokat, helyette cimékkel támogatja a <samp>GOTO</samp> parancsot, például:</p>
  1496. <div class="pre"><pre class="lineno">1<br>2<br>3<br></pre><code><span class="hl_v">ez_egy_cimke</span>:
  1497. <span class="hl_k">GOTO</span> <span class="hl_v">ez_egy_cimke</span></code></div>
  1498. <div class="warn"><p><span>FIGYELEM</span></p><p> Néhány BASIC dialektus megengedi, hogy több <samp>:</samp>-el elválasztott parancsot egy sorba írj. MEG-4 BASIC alatt a <samp>:</samp> a cimkét
  1499. jelenti, ezért minden parancsot külön sorba kell írni (ahogy azt az ECMA-55 is elvárja).</p></div>
  1500. <p>A feltételes vezérlésátadások szintén cimkéket használnak:</p>
  1501. <div class="pre"><pre class="lineno">1<br>2<br></pre><code><span class="hl_k">IF</span> <span class="hl_v">a$</span> <span class="hl_o">&lt;&gt;</span> <span class="hl_v">b$</span> <span class="hl_k">THEN</span> <span class="hl_v">ez_egy_cimke</span>
  1502. <span class="hl_k">ON</span> <span class="hl_v">a</span> <span class="hl_k">GOTO</span> <span class="hl_v">cimke1</span>, <span class="hl_v">cimke2</span>, <span class="hl_v">cimke3</span> <span class="hl_k">ELSE</span> <span class="hl_v">egyébcimke</span></code></div>
  1503. <p>Az <samp>ON</samp> .. <samp>GOTO</samp> mindenképp egy numerikus kifejezést vár, és az annyadik cimkére ugrik, 1-től kezdve (ha a kifejezés nulla
  1504. vagy negatív, az mindenképpen az <samp>ELSE</samp> ágnak minősül). Nincs <samp>ON</samp> .. <samp>GOSUB</samp>, mert a GOSUB nem fogad el cimkéket a MEG-4
  1505. BASIC-ben.</p>
  1506. <div class="warn"><p><span>FIGYELEM</span></p><p> A <samp>GOSUB</samp> utasítás nem fogad el cimkéket, és kicsit másképp működik MEG-4 BASIC alatt, lásd alább.</p></div>
  1507. <p>Az <samp>IF</samp> utasítás elfogad egyaránt numerikus és relációs kifejezést (minden nem nulla eredményt igaznak vesz), sőt mi több, a
  1508. többsoros <samp>IF</samp> .. <samp>THEN</samp> .. <samp>ELSE</samp> .. <samp>END IF</samp> blokkok is támogatottak (de a <samp>SELECT CASE</samp> nem).</p>
  1509. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br></pre><code><span class="hl_k">IF</span> <span class="hl_v">var</span> <span class="hl_o">&gt;=</span> <span class="hl_n">0</span> <span class="hl_k">THEN</span>
  1510. <span class="hl_k">PRINT</span> <span class="hl_s">&quot;var értéke pozitív&quot;</span>
  1511. <span class="hl_k">ELSE</span>
  1512. <span class="hl_k">PRINT</span> <span class="hl_s">&quot;var értéke negatív&quot;</span>
  1513. <span class="hl_k">END</span> <span class="hl_k">IF</span></code></div>
  1514. <p>Kivételként egy parancs lehet az egysoros <samp>IF</samp> után, amennyiben az a <samp>GOTO</samp> vagy az <samp>END</samp>:</p>
  1515. <div class="pre"><pre class="lineno">1<br>2<br></pre><code><span class="hl_k">IF</span> <span class="hl_v">a</span> <span class="hl_o">&lt;</span> <span class="hl_n">0</span> <span class="hl_k">THEN</span> <span class="hl_k">GOTO</span> <span class="hl_v">cimke</span>
  1516. <span class="hl_k">IF</span> <span class="hl_v">b</span> <span class="hl_o">&gt;</span> <span class="hl_n">42</span> <span class="hl_k">THEN</span> <span class="hl_k">END</span></code></div>
  1517. <p>Az ismétlő utasítás, a számlálósciklus elöltesztelős (nem futtatja le a blokkot, ha az indulóérték nagyobb (vagy kissebb), mint
  1518. a határ), és így néz ki:</p>
  1519. <div class="pre"><pre class="lineno">1<br>2<br>3<br></pre><code><span class="hl_k">FOR</span> <span class="hl_v">i</span> <span class="hl_o">=</span> <span class="hl_n">1</span> <span class="hl_k">TO</span> <span class="hl_n">100</span> <span class="hl_k">STEP</span> <span class="hl_n">2</span>
  1520. <span class="hl_n">...</span>
  1521. <span class="hl_k">NEXT</span> <span class="hl_v">i</span></code></div>
  1522. <p>Ez a <samp>FOR</samp> .. <samp>NEXT</samp> lényegében pontosan ugyanaz, mint:</p>
  1523. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br></pre><code><span class="hl_k">LET</span> <span class="hl_v">i</span> <span class="hl_o">=</span> <span class="hl_n">1</span>
  1524. <span class="hl_k">LET</span> <span class="hl_v">lim</span> <span class="hl_o">=</span> <span class="hl_n">100</span>
  1525. <span class="hl_k">LET</span> <span class="hl_v">inc</span> <span class="hl_o">=</span> <span class="hl_n">2</span>
  1526. <span class="hl_v">sor1</span>:
  1527. <span class="hl_k">IF</span> (<span class="hl_v">i</span> <span class="hl_o">-</span> <span class="hl_v">lim</span>) <span class="hl_o">*</span> <span class="hl_f">SGN</span>(<span class="hl_v">inc</span>) <span class="hl_o">&gt;</span> <span class="hl_n">0</span> <span class="hl_k">THEN</span> <span class="hl_v">sor2</span>
  1528. <span class="hl_n">...</span>
  1529. <span class="hl_k">LET</span> <span class="hl_v">i</span> <span class="hl_o">=</span> <span class="hl_v">i</span> <span class="hl_o">+</span> <span class="hl_v">inc</span>
  1530. <span class="hl_k">GOTO</span> <span class="hl_v">sor1</span>
  1531. <span class="hl_v">sor2</span>:</code></div>
  1532. <p>A ciklusváltozónak lebegőpontos típusú változónak kell lennie. A <samp>STEP</samp> opcionális (ha nincs megadva, akkor 1.0), utánna a léptetés
  1533. lehet egy lebegőpontos literál vagy egy másik lebegőpontos változó. A kiindulási érték és a határ lehet összetettebb kifejezés is,
  1534. de azoknak is lebegőpontos számot kell visszaadniuk.</p>
  1535. <div class="pre"><pre class="lineno">1<br>2<br>3<br></pre><code><span class="hl_k">FOR</span> <span class="hl_v">i</span> <span class="hl_o">=</span> (<span class="hl_n">1</span><span class="hl_o">+</span><span class="hl_n">2</span><span class="hl_o">+</span><span class="hl_v">a</span>)<span class="hl_o">*</span><span class="hl_n">3</span> <span class="hl_k">TO</span> <span class="hl_n">4</span><span class="hl_o">*</span>(<span class="hl_n">5</span><span class="hl_o">+</span><span class="hl_n">6</span>)<span class="hl_o">/</span><span class="hl_v">b</span><span class="hl_o">+</span><span class="hl_v">c</span> <span class="hl_k">STEP</span> <span class="hl_v">j</span>
  1536. <span class="hl_n">...</span>
  1537. <span class="hl_k">NEXT</span> <span class="hl_v">i</span></code></div>
  1538. <div class="warn"><p><span>FIGYELEM</span></p><p> A specifikációval ellentétben, ami több változót is megenged a <samp>NEXT</samp> után, a MEG-4 BASIC <i>csak egyet</i> fogad el. Ezért ha
  1539. egymásbaágyazott ciklusaid vannak, akkor több <samp>NEXT</samp> parancsot kell használnod, pontosan annyit, mint ahány <samp>FOR</samp> utasításod van.</p></div>
  1540. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br></pre><code><span class="hl_k">FOR</span> <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_n">1</span> <span class="hl_k">TO</span> <span class="hl_n">10</span>
  1541. <span class="hl_k">FOR</span> <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_n">1</span> <span class="hl_k">TO</span> <span class="hl_n">100</span>
  1542. <span class="hl_n">...</span>
  1543. <span class="hl_k">NEXT</span> <span class="hl_v">x</span>
  1544. <span class="hl_k">NEXT</span> <span class="hl_v">y</span></code></div>
  1545. <p>A MEG-4 BASIC nem ismer többfajta ciklust mint például a C, de egy nem-számlálós elöltesztelős ciklus helyett írhatod ezt:</p>
  1546. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br></pre><code><span class="hl_v">megint</span>:
  1547. <span class="hl_k">IF</span> <span class="hl_v">a</span> <span class="hl_o">&gt;</span> <span class="hl_n">0</span> <span class="hl_k">THEN</span>
  1548. <span class="hl_n">...</span>
  1549. <span class="hl_k">GOTO</span> <span class="hl_v">megint</span>
  1550. <span class="hl_k">END</span> <span class="hl_k">IF</span></code></div>
  1551. <p>A hátultesztelős ciklus helyett pedig ezt:</p>
  1552. <div class="pre"><pre class="lineno">1<br>2<br>3<br></pre><code><span class="hl_v">megint</span>:
  1553. <span class="hl_n">...</span>
  1554. <span class="hl_k">IF</span> <span class="hl_v">a</span> <span class="hl_o">&gt;</span> <span class="hl_n">0</span> <span class="hl_k">THEN</span> <span class="hl_v">megint</span></code></div>
  1555. <h2 id="bas_funcs">Alrutinok és függvények<a href="#bas_funcs"></a></h2>
  1556. <div class="info"><p><span>FONTOS</span></p><p> Azok az utasítások, amik nincsenek egyetlen alrutinban sem, úgy lesznek kezelve, mintha a <samp>setup</samp> alrutinban lennének.</p></div>
  1557. <p>A programodat feldarabolhatod kissebb programokra, amiket aztán többször is lefuttathatsz, ezeket hívjuk alrutinoknak. Ezeket
  1558. <samp>SUB</samp> és <samp>END SUB</samp> közötti blokkban kell elhelyezni. Kettő ezek közül, a <samp>setup</samp> és a <samp>loop</samp> különleges jelentéssel bír, bővebben
  1559. lásd a <a href="#kod_szerkeszto" onclick="c('kod_szerkeszto')">kód szerkesztő</a>-nél. Ahogy már megjegyeztük, a MEG-4 BASIC-ben a <samp>GOSUB</samp> nem fogad el cimkéket, mégpedig azért, mert itt
  1560. csakis ilyen alrutinneveket lehet paraméterül adni neki.</p>
  1561. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br></pre><code><span class="hl_k">SUB</span> <span class="hl_v">alrutinom</span>
  1562. <span class="hl_k">PRINT</span> <span class="hl_s">&quot;valami, amit többször is szeretnél lefuttatni&quot;</span>
  1563. <span class="hl_k">END</span> <span class="hl_k">SUB</span>
  1564. <span class="hl_c">REM egyszer</span>
  1565. <span class="hl_k">GOSUB</span> <span class="hl_v">alrutinom</span>
  1566. <span class="hl_c">REM aztán mégegyszer</span>
  1567. <span class="hl_k">GOSUB</span> <span class="hl_v">alrutinom</span></code></div>
  1568. <p>A vezérlés a <samp>GOSUB</samp> sornál adódik át, és a <samp>GOSUB</samp> utánni sorra tér vissza, amikor <samp>END SUB</samp> (vagy az opcionális <samp>RETURN</samp>)
  1569. parancshoz ér. Az alrutinok elérik a globális változókat és saját paramétereik is lehetnek.</p>
  1570. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br></pre><code><span class="hl_k">SUB</span> <span class="hl_f">ott_vagyunk_már</span>(<span class="hl_v">A</span>)
  1571. <span class="hl_k">IF</span> <span class="hl_v">A</span> <span class="hl_o">&gt;</span> <span class="hl_n">0</span> <span class="hl_k">THEN</span>
  1572. <span class="hl_k">PRINT</span> <span class="hl_s">&quot;Nem, még nem&quot;</span>
  1573. <span class="hl_k">RETURN</span>
  1574. <span class="hl_k">END</span> <span class="hl_k">IF</span>
  1575. <span class="hl_k">PRINT</span> <span class="hl_s">&quot;IGEN! Dolgok, amiker érkezéskor akartál megtenni&quot;</span>
  1576. <span class="hl_k">END</span> <span class="hl_k">SUB</span>
  1577. <span class="hl_c">REM egyszer</span>
  1578. <span class="hl_k">GOSUB</span> <span class="hl_f">ott_vagyunk_már</span>(<span class="hl_n">1</span>)
  1579. <span class="hl_c">REM aztán mégegyszer</span>
  1580. <span class="hl_k">GOSUB</span> <span class="hl_f">ott_vagyunk_már</span>(<span class="hl_n">0</span>)</code></div>
  1581. <p>A függvények roppant hasonlók, de ott mindenképp kell a <samp>RETURN</samp> és a <samp>RETURN</samp> utasításnak kell hogy legyen egy paramétere,
  1582. méghozzá pont olyan típusú, mint amit a függvény neve jelez. A függvényeket a programodból simán a nevükkel hívhatod, zárójelben
  1583. a paramétereikkel (a zárójel mindenképp kötelező, akkor is, ha nincs paramétere). Például:</p>
  1584. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br></pre><code><span class="hl_k">FUNCTION</span> <span class="hl_f">sztringesfüggvényem$</span>()
  1585. <span class="hl_k">RETURN</span> <span class="hl_s">&quot;egy sztring&quot;</span>
  1586. <span class="hl_k">END</span> <span class="hl_k">FUNCTION</span>
  1587. <span class="hl_k">LET</span> <span class="hl_v">a$</span> <span class="hl_o">=</span> <span class="hl_f">sztringesfüggvényem$</span>()</code></div>
  1588. <h2 id="bas_print">Print utasítás<a href="#bas_print"></a></h2>
  1589. <div class="pre"><pre>
  1590. PRINT kifejezés [;|,] [kifejezés [;|,] [kifejezés [;|,]]] ...
  1591. </pre></div>
  1592. <p>Kiír egy vagy több kifejezést a képernyőre. Ha a kifejezések <samp>;</samp> kettősponttal vannak elválasztva, akkor szorosan egymásután.
  1593. Ha <samp>,</samp> vesszővel, akkor oszlopokra tagoltan. A számok elé mindenképp kitesz egy szóközt, és ha a lista egy kifejezéssel zárul
  1594. (azaz nem <samp>;</samp> és nem <samp>,</samp> az utasítás vége), akkor egy újsor karaktert is kiír a végére.</p>
  1595. <h2 id="bas_input">Input utasítás<a href="#bas_input"></a></h2>
  1596. <div class="pre"><pre>
  1597. INPUT &quot;kérdés&quot; [;|,] változó
  1598. </pre></div>
  1599. <p>Kiírja a kérdést, majd bekér egy értéket a felhasználótól, és letárolja azt a megadott változóban. Ha a kérdés és a változó
  1600. <samp>,</samp> vesszővel van elválasztva, akkor a kérdés után egy <samp>?</samp> kérdőjelet is kitesz.</p>
  1601. <div class="warn"><p><span>FIGYELEM</span></p><p> Az ECMA-55 specifiákció több változót is megenged, de a MEG-4 BASIC csak egyet fogad el.</p></div>
  1602. <h2 id="bas_spec">Peek és Poke<a href="#bas_spec"></a></h2>
  1603. <p>Ezekkel a parancsokkal direktben elérhető a MEG-4 memóriája, így az MMIO terület is.</p>
  1604. <b>Beolvasás</b>
  1605. <div class="pre"><pre>
  1606. változó = PEEK(cím)
  1607. </pre></div>
  1608. <p>Beolvassa a megadott címen lévő bájtot, lebegőpontos számmá alakítja, és elhelyezi a megadott változóban.</p>
  1609. <p>Például, hogy lekérdezzük, a billentyűzetsor üres-e:
  1610. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_k">IF</span> <span class="hl_k">PEEK</span>(<span class="hl_n">$1A</span>) <span class="hl_o">&lt;&gt;</span> <span class="hl_k">PEEK</span>(<span class="hl_n">$1B</span>) <span class="hl_k">THEN</span></code></div></p>
  1611. <b>Kíírás</b>
  1612. <div class="pre"><pre>
  1613. POKE cím, kifejezés
  1614. </pre></div>
  1615. <p>Kiszámítja a kifjezés értékét, bájttá alakítja, majd azt a bájtértéket kiírja a megadott memóriacímre.</p>
  1616. <p>Például, hogy átállítsuk a palettát az 1-es színkód esetén:
  1617. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br></pre><code><span class="hl_c">REM piros összetevő</span>
  1618. <span class="hl_k">POKE</span> <span class="hl_n">$84</span>, <span class="hl_n">10</span>
  1619. <span class="hl_c">REM zöld összetevő</span>
  1620. <span class="hl_k">POKE</span> <span class="hl_n">$85</span>, <span class="hl_n">10</span>
  1621. <span class="hl_c">REM kék összetevő</span>
  1622. <span class="hl_k">POKE</span> <span class="hl_n">$86</span>, <span class="hl_n">10</span>
  1623. <span class="hl_c">REM alfa (átlátszóság)</span>
  1624. <span class="hl_k">POKE</span> <span class="hl_n">$87</span>, <span class="hl_n">255</span></code></div></p>
  1625. <h2 id="bas_api">Elérhető függvények<a href="#bas_api"></a></h2>
  1626. <p>Néhány MEG-4 API hívás rendszerváltozóként érhető el, <samp>RND</samp> (<a href="#rnd" onclick="c('rnd')">rnd</a>), <samp>TIME</samp> (<a href="#time" onclick="c('time')">time</a>), <samp>NOW%</samp> (<a href="#now" onclick="c('now')">now</a>), és <samp>INKEY$</samp> (<a href="#getc" onclick="c('getc')">getc</a>).</p>
  1627. <p>Néhány másik parancsként, <samp>INPUT</samp> (<a href="#gets" onclick="c('gets')">gets</a> + <a href="#val" onclick="c('val')">val</a>), <samp>PRINT</samp> (<a href="#printf" onclick="c('printf')">printf</a>), <samp>PEEK</samp> (<a href="#inb" onclick="c('inb')">inb</a>), <samp>POKE</samp> (<a href="#outb" onclick="c('outb')">outb</a>).</p>
  1628. <p>Hogy megfeleljen az ECMA-55 szabványnak, két további függvény át lett nevezve: <samp>SQR</samp> (<a href="#sqrt" onclick="c('sqrt')">sqrt</a>) és <samp>ATN%</samp> (<a href="#atan" onclick="c('atan')">atan</a>). Ezeken kívül
  1629. minden más pontosan úgy használható, ahogy ebben a dokumentációban szerepelnek, kivéve, hogy a visszatérési értékük típusának
  1630. megfelelő utótagot kaptak (például az <a href="#str" onclick="c('str')">str</a> sztringet ad vissza, ezért <samp>STR$</samp> lett belőle).</p>
  1631. <p>Fontos, hogy az ECMA-55 a trigonometrikus függvényeknél radiánt vár alapból (és egy <samp>OPTION</samp> paranccsal lehet fokokra váltani),
  1632. de a MEG-4 API mindig fokokat használ, 0-tól 359-ig, ahol a 0 a felfele irány és 90 a jobbra. Ezért van az, hogy az <samp>ATN%</samp> egy
  1633. egészszám típus utótagot kap például, mivel fokokat ad vissza egészszámban.</p>
  1634. <p>Alap esetben az olyan funkciókat, melyeknek nincs visszatérési értékük, a <samp>GOSUB</samp> kulcsszóval kell meghívni, azonban a MEG-4 API
  1635. egy különleges eset, mert azoknál ez a kulcsszó elhagyható, és az API egy-az-egyben hívható.</p><br style="clear:both;"><label class="btn prev" accesskey="p" for="_c" title="C">Előző</label><label class="btn next" accesskey="n" for="_assembly" title="Assembly">Következő</label></div>
  1636. <div class="page" rel="assembly"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Programozás&nbsp;»</li><li>&nbsp;Assembly</li></ul><hr></div>
  1637. <h1 id="assembly">Assembly<a href="#assembly"></a></h1>
  1638. <p>Ha ezt a nyelvet választod, akkor kezd a programodat az <samp>#!asm</samp> sorral.</p>
  1639. <h2 id="ex_asm">Példa program<a href="#ex_asm"></a></h2>
  1640. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br>22<br>23<br>24<br>25<br>26<br>27<br>28<br>29<br>30<br>31<br>32<br></pre><code><span class="hl_c">#!asm</span>
  1641. <span class="hl_t">.data</span>
  1642. <span class="hl_c">/* globális változók */</span>
  1643. <span class="hl_v">számláló</span>: <span class="hl_t">di</span> <span class="hl_n">123</span>
  1644. <span class="hl_v">szám</span>: <span class="hl_t">df</span> <span class="hl_n">3.1415</span>
  1645. <span class="hl_v">cím</span>: <span class="hl_t">di</span> <span class="hl_n">0x0048C</span>
  1646. <span class="hl_v">sztring</span>: <span class="hl_t">db</span> <span class="hl_s">&quot;valami&quot;</span>
  1647. <span class="hl_v">tömb</span>: <span class="hl_t">di</span> <span class="hl_n">0</span>, <span class="hl_n">0</span>, <span class="hl_n">0</span>, <span class="hl_n">0</span>, <span class="hl_n">0</span>, <span class="hl_n">0</span>, <span class="hl_n">0</span>, <span class="hl_n">0</span>, <span class="hl_n">0</span>, <span class="hl_n">0</span>
  1648. <span class="hl_v">fmt</span>: <span class="hl_t">db</span> <span class="hl_s">&quot;a számláló %d, balshift %d\n&quot;</span>
  1649. <span class="hl_t">.code</span>
  1650. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  1651. <span class="hl_v">setup</span>:
  1652. <span class="hl_c">/* lokális változó (igazából nem, csak helyet foglalunk a veremben) */</span>
  1653. <span class="hl_k">sp</span> <span class="hl_n">-4</span>
  1654. <span class="hl_k">ret</span>
  1655. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  1656. <span class="hl_v">loop</span>:
  1657. <span class="hl_c">/* MEG-4 stílusú kimenet */</span>
  1658. <span class="hl_k">pshci</span> <span class="hl_v">KEY_LSHIFT</span>
  1659. <span class="hl_k">scall</span> <span class="hl_v">getkey</span>
  1660. <span class="hl_k">sp</span> <span class="hl_n">4</span>
  1661. <span class="hl_k">pushi</span>
  1662. <span class="hl_k">ci</span> <span class="hl_v">számláló</span>
  1663. <span class="hl_k">ldi</span>
  1664. <span class="hl_k">pushi</span>
  1665. <span class="hl_k">pshci</span> <span class="hl_v">fmt</span>
  1666. <span class="hl_k">scall</span> <span class="hl_v">printf</span>
  1667. <span class="hl_k">sp</span> <span class="hl_n">12</span>
  1668. <span class="hl_k">ret</span></code></div>
  1669. <h2 id="asm_desc">Leírás<a href="#asm_desc"></a></h2>
  1670. <p>Ez igazából nem egy programozási nyelv. Amikor valamelyik beépített nyelvet lefordítod, akkor a fordító olyan bájtkódot generál,
  1671. amit aztán a CPU végrehajt. Az Assembly ezeknek a bájtkódoknak az egy-az-egybeni, ember számára is olvasható, szöveges mnemonik
  1672. átirata. Két szekciója van, adat és kód, mindkettő cimkék és utasítások tetszőleges sorozatából áll. Az utasítás egy mnemonik
  1673. opcionális paraméterrel.</p>
  1674. <p>Játszhatsz és kísérletezhetsz ezzel, ha bátornak érzed magad.</p>
  1675. <h2 id="asm_lit">Literálok<a href="#asm_lit"></a></h2>
  1676. <p>Pontosan ugyanazok, mint a <a href="#c_lit" onclick="c('c_lit')">MEG-4 C literáljai</a>.</p>
  1677. <h2 id="asm_var">Változók<a href="#asm_var"></a></h2>
  1678. <p>Assemblyben nincs olyan, hogy változó. Helyette a <samp>.data</samp> kulcsszó indítja az adat szekciót, amibe csak adatokat pakolsz a
  1679. <samp>db</samp> (bájt), <samp>dw</samp> (word, szó), <samp>di</samp> (integer, egészszám), <samp>df</samp> (float, lebegőpontos szám) utasítások paramétereként. Ebbe az
  1680. adatfolyamba az utasítások elé rakhatsz címkéket, amik az adott adat címét fogják jelenteni. A betöltéshez a kód szekcióban,
  1681. előbb be kell tölteni az akkumulátor regiszterbe egy ilyen címkét a <samp>ci</samp> utasítással, majd pedig kiadni a <samp>ldb</samp>
  1682. (load, bájt betöltése), <samp>ldw</samp> (szó betöltése), <samp>ldi</samp> (egészszám betöltése) vagy <samp>ldf</samp> (lebegőpontos szám betöltése) utasítás
  1683. valamelyikét. Ha az <samp>ldb</samp> vagy <samp>ldw</samp> betöltő utasításoknak nem-nulla paramétert adunk, akkor előjelesen 32 bitre kiegészítik az
  1684. értéket.</p>
  1685. <h2 id="asm_flow">Vezérlésirányítás<a href="#asm_flow"></a></h2>
  1686. <p>Minden, ami a <samp>.code</samp> kulcsszó után kerül, kód lesz. Nincs vezérlésirányítás, minden utasítás sorjában, egymás után kerül
  1687. végrehajtásra; kézzel kell átállítanod a PC (program counter, programszámláló) regisztert, hogy befolyásold ezt. Ehhez a <samp>jmp</samp>
  1688. (jump, ugrás), <samp>jz</samp> (jump if zero, ugrás ha nulla), <samp>jnz</samp> (jump if not zero, ugrás ha nem nulla) vagy az <samp>sw</samp> (switch,
  1689. esetválasztás) utasításokat használhatod.</p>
  1690. <h2 id="asm_func">Függvények<a href="#asm_func"></a></h2>
  1691. <p>Nincs olyan, hogy függvénydeklaráció. Csak megadsz egy címkét, hogy megjelöld a kód adott pontját. Hívásnál lerakod a paramétereket
  1692. a verembe <i>fordított sorrendben</i> a <samp>pushi</samp> és <samp>pushf</samp> utasításokkal, majd a <samp>call</samp> mnemoniknak paraméterül ezt a címkét adod.
  1693. A függvényen belül a paraméterek címét az <samp>adr</samp> (address, cím) utasítással lehet lekérni, aminek a paramétere a függvényparaméter
  1694. sorszáma szorozva néggyel. Például <samp>adr 0</samp> az első függvényparaméter címét rakja az akkumulátor regiszterbe, az <samp>adr 4</samp> a
  1695. másodikét. Visszatérni egy függvényből a <samp>ret</samp> utasítással lehet. A visszatérési érték az akkumulátor regiszterben adódik át,
  1696. amit beállíthatsz direktben a <samp>ci</samp> (constant integer, egészszám konstans) és <samp>cf</samp> (constant float, lebegőpontos konstans)
  1697. utasításokkal, illetve indirektben a <samp>popi</samp>, <samp>popf</samp>, <samp>ldb</samp>, <samp>ldw</samp>, <samp>ldi</samp> és <samp>ldf</samp> utasításokkal. Hívás után mindig a hívó fél
  1698. felelőssége a paraméterek eltávolítása a veremből az <samp>sp</samp>+paraméterek száma szorozva néggyel utasítással.</p>
  1699. <h2 id="asm_api">Elérhető függvények<a href="#asm_api"></a></h2>
  1700. <p>Minden MEG-4 API függvény a rendelkezésedre áll; pontosan azokkal a nevekkel, ahogy ebben a leírásban szerepelnek.</p>
  1701. <p>Lerakod a paramétereket a verembe <i>fordított sorrendben</i>, majd az <samp>scall</samp> (system call, rendszerhívás) mnemoniknak az egyik MEG-4
  1702. API funkció nevét adod paraméterül. Hívás után mindig a hívó fél felelőssége a paraméterek eltávolítása a veremből.</p>
  1703. <h2 id="mnemonikok">Mnemonikok<a href="#mnemonikok"></a></h2>
  1704. <p>Mielőtt belemennénk a részletekbe, muszáj pár szót ejteni a MEG-4 CPU specifikációjáról.</p>
  1705. <p>A MEG-4 CPU egy 32 bites, kicsi elöl (little endian) CPU. Minden érték a memóriában úgy van tárolva, hogy az alacsonyabb
  1706. helyiérték van az alacsonyabb címen. Képes műveleteket végezni 8 bites, 16 bites és 32 bites egészszámokkal (integer, előjeles
  1707. és előjel nélküli is), valamint 32 bites lebegőpontos számokkal.</p>
  1708. <p>A memóriamodellje sík, ami azt jelenti, hogy minden adat elérhető egy egyszerű offszettel. Nincs lapozás se virtuális
  1709. címfordítás, se szegmentálás, kivéve, hogy az adat- és kódszegmens hivatkozás implicit (azaz nem kell előtagot kiírni, a
  1710. szegmensre hivatkozás automatikus).</p>
  1711. <p>Biztonsági okokból a kódszegmens és az adatszegmens el van különítve, akárcsak a hívásverem és az adatverem. Veremtúlcsordulásos
  1712. támadás és egyéb buffertúlcsordulásos kód injektálás egyszerűen nem lehetséges ezen a CPU-n, ami különösen biztonságossá és
  1713. hülyebiztossá teszi (továbbá a kódszeparálás nélkül lehetetlen lenne harmadik fél bájtkódját integrálni, lásd <a href="#lua" onclick="c('lua')">Lua</a>). E
  1714. tekintetben inkább Harvard architektúrájú, viszont minden másban inkább Neumann architektúrájú.</p>
  1715. <p>A CPU a következő regiszterekkel rendelkezik:</p>
  1716. <ul><li>AC: akkumulátor regiszter, egészszám értékkel</li>
  1717. <li>AF: akkumulátor regiszter, lebegőpontos értékkel</li>
  1718. <li>FLG: a processzor jelzőbitjei (setup lefutott, B/K-ra illetve időzítőre várakozik, futtatás megszakítva)</li>
  1719. <li>TMR: az időzítő regiszter aktuális értéke</li>
  1720. <li>DP: adatmutató (data pointer), a felhasznált globális változó memória tetejére mutat</li>
  1721. <li>BP: bázismutató (base pointer), ez jelzi, hol van a függvényveremkeret teteje</li>
  1722. <li>SP: veremmutató (stack pointer), ez mutatja a verem alját</li>
  1723. <li>CP: hívásveremmutató (callstack pointer), a hívásverem tetejére mutat</li>
  1724. <li>PC: programszámláló (program counter), ez az éppen aktuálisan végrehajtott utasításra mutat</li></ul>
  1725. <p>Az adatszegmens bájt alapú, azaz a DP, BP és az SP regiszterek 8 bites egységekre mutatnak. Az adatszegmensre a <samp>db</samp> (8 bit),
  1726. <samp>dw</samp> (16 bit), <samp>di</samp> (32 bit) és <samp>df</samp> (32 bit float, lebegőpontos) menmonikokkal lehet adatokat elhelyezni. Ezeknek egy vagy akár
  1727. több vesszővel elválaszott paraméterük is lehet, továbbá a <samp>db</samp> esetén sztring literál és karakter literál is használható.</p>
  1728. <p>A kódszegmens felbontása 32 bit, azaz ez a legkissebb címezhető egység. Emiatt a PC ilyen 32 bites egységekre mutat és nem
  1729. bájtokra. A kódszegmensre a következő mnemonikokkal lehet utasításokat elhelyezni:</p>
  1730. <div class="table"><table><tr><th>Mnemonik </th><th>Paraméter </th><th>Leírás </th></tr>
  1731. <tr><td><samp>debug</samp> </td><td></td><td>Meghívja a beépített <a href="#debuggolo" onclick="c('debuggolo')">debuggoló</a>t (MEG-4 PRO alatt nop) </td></tr>
  1732. <tr><td><samp>ret</samp> </td><td></td><td>Visszatérés <samp>call</samp> hívásból (return), kivesz a hívásveremből </td></tr>
  1733. <tr><td><samp>scall</samp> </td><td>MEG-4 API funckció </td><td>Rendszerhívás (system call) </td></tr>
  1734. <tr><td><samp>call</samp> </td><td>cím/kódcimke </td><td>Beteszi a pozíciót a hívásverembe, majd meghívja a függvényt </td></tr>
  1735. <tr><td><samp>jmp</samp> </td><td>cím/kódcimke </td><td>Ugrás a megadott címre </td></tr>
  1736. <tr><td><samp>jz</samp> </td><td>cím/kódcimke </td><td>Ugrás a megadott címre, ha az akkumulátor nulla </td></tr>
  1737. <tr><td><samp>jnz</samp> </td><td>cím/kódcimke </td><td>Ugrás a megadott címre, ha az akkumulátor nem nulla </td></tr>
  1738. <tr><td><samp>js</samp> </td><td>cím/kódcimke </td><td>A veremből kivett értéket előjeligazítja, és ugrik, ha negatív vagy nulla </td></tr>
  1739. <tr><td><samp>jns</samp> </td><td>cím/kódcimke </td><td>A veremből kivett értéket előjeligazítja, és ugrik, ha pozitív </td></tr>
  1740. <tr><td><samp>sw</samp> </td><td>szám,cím,cím0,cím1... </td><td>Esetválasztás (switch, lásd alább) </td></tr>
  1741. <tr><td><samp>ci</samp> </td><td>szám/adat cimke </td><td>Egészszámot helyez az akkumulátorba </td></tr>
  1742. <tr><td><samp>cf</samp> </td><td>szám </td><td>Lebegőpontos számot helyez az akkumulátorba </td></tr>
  1743. <tr><td><samp>bnd</samp> </td><td>szám </td><td>Ellenőrzi, hogy az akkumulátor tartalma 0 és szám közötti-e </td></tr>
  1744. <tr><td><samp>lea</samp> </td><td>szám </td><td>A DP + szám címet tölti az akkumulátorba </td></tr>
  1745. <tr><td><samp>adr</samp> </td><td>szám </td><td>A BP + szám címet tölti az akkumulátorba </td></tr>
  1746. <tr><td><samp>sp</samp> </td><td>szám </td><td>Hozzáadja a számot az SP regiszterhez </td></tr>
  1747. <tr><td><samp>pshci</samp> </td><td>szám/adat cimke </td><td>Egészszám konstanst tol az adatverembe </td></tr>
  1748. <tr><td><samp>pshcf</samp> </td><td>szám </td><td>Lebegőpontos konstanst tol az adatverembe </td></tr>
  1749. <tr><td><samp>pushi</samp> </td><td></td><td>Az egészszám akkumulátor értékét az adatverembe tolja </td></tr>
  1750. <tr><td><samp>pushf</samp> </td><td></td><td>Az lebegőpontos akkumulátor értékét az adatverembe tolja </td></tr>
  1751. <tr><td><samp>popi</samp> </td><td></td><td>Kiveszi az adatverem legfelső elemét az egészszám akkumulátorba </td></tr>
  1752. <tr><td><samp>popf</samp> </td><td></td><td>Kiveszi az adatverem legfelső elemét a lebegőpontos akkumulátorba </td></tr>
  1753. <tr><td><samp>cnvi</samp> </td><td></td><td>Az adatverem legfelső elemét egészszámmá konvertálja </td></tr>
  1754. <tr><td><samp>cnvf</samp> </td><td></td><td>Az adatverem legfelső elemét lebegőpontos számmá konvertálja </td></tr>
  1755. <tr><td><samp>ldb</samp> </td><td>0/1 </td><td>Az akkumulátor által mutatott adatcímről egy bájtot tölt be (előjelesre egészít, ha nem-nulla a paraméter) </td></tr>
  1756. <tr><td><samp>ldw</samp> </td><td>0/1 </td><td>Az akkumulátor által mutatott adatcímről egy szót tölt be (előjelesre egészít, ha nem-nulla a paraméter) </td></tr>
  1757. <tr><td><samp>ldi</samp> </td><td></td><td>Az akkumulátor által mutatott adatcímről egy egészszámot tölt be </td></tr>
  1758. <tr><td><samp>ldf</samp> </td><td></td><td>Az akkumulátor által mutatott adatcímről egy lebegőpontost tölt be </td></tr>
  1759. <tr><td><samp>stb</samp> </td><td></td><td>Kiveszi a címet a veremből, és egy bájtot rak oda az akkumulátorból </td></tr>
  1760. <tr><td><samp>stw</samp> </td><td></td><td>Kiveszi a címet a veremből, és egy szót rak oda az akkumulátorból </td></tr>
  1761. <tr><td><samp>sti</samp> </td><td></td><td>Kiveszi a címet a veremből, és egy egészszámot rak oda az akkumulátorból </td></tr>
  1762. <tr><td><samp>stf</samp> </td><td></td><td>Kiveszi a címet a veremből, és egy lebegőpontost rak oda az akkumulátorból </td></tr>
  1763. <tr><td><samp>incb</samp> </td><td>szám </td><td>Kiveszi a címet a veremből, és számmal növeli a bájtot a címen </td></tr>
  1764. <tr><td><samp>incw</samp> </td><td>szám </td><td>Kiveszi a címet a veremből, és számmal növeli a szót a címen </td></tr>
  1765. <tr><td><samp>inci</samp> </td><td>szám </td><td>Kiveszi a címet a veremből, és számmal növeli az egészszámot a címen </td></tr>
  1766. <tr><td><samp>decb</samp> </td><td>szám </td><td>Kiveszi a címet a veremből, és számmal csökkenti a bájtot a címen </td></tr>
  1767. <tr><td><samp>decw</samp> </td><td>szám </td><td>Kiveszi a címet a veremből, és számmal csökkenti a szót a címen </td></tr>
  1768. <tr><td><samp>deci</samp> </td><td>szám </td><td>Kiveszi a címet a veremből, és számmal csökkenti az egészszámot a címen </td></tr>
  1769. <tr><td><samp>not</samp> </td><td></td><td>Logikai NEM művelet végzése az akkumulátoron </td></tr>
  1770. <tr><td><samp>neg</samp> </td><td></td><td>Bitenkénti NEM művelet végzése az akkumulátoron (negálás) </td></tr>
  1771. <tr><td><samp>or</samp> </td><td></td><td>A veremből kivett értékkel bitenkénti VAGY végzése az akkumulátoron </td></tr>
  1772. <tr><td><samp>xor</samp> </td><td></td><td>A veremből kivett értékkel KIZÁRÓ VAGY végzése az akkumulátoron </td></tr>
  1773. <tr><td><samp>and</samp> </td><td></td><td>A veremből kivett értékkel bitenkénti ÉS végzése az akkumulátoron </td></tr>
  1774. <tr><td><samp>shl</samp> </td><td></td><td>A veremből kivett értéket eltolja akkumlátornyi bittel balra, az eredmény az akkumulátorba kerül </td></tr>
  1775. <tr><td><samp>shr</samp> </td><td></td><td>A veremből kivett értéket eltolja akkumlátornyi bittel jobbra, az eredmény az akkumulátorba kerül </td></tr>
  1776. <tr><td><samp>eq</samp> </td><td></td><td>Beállítja az akkumulátort ha veremből kivett érték egyezik az akkumulátorral </td></tr>
  1777. <tr><td><samp>ne</samp> </td><td></td><td>Beállítja az akkumulátort ha veremből kivett érték nem egyezik az akkumulátorral </td></tr>
  1778. <tr><td><samp>lts</samp> </td><td></td><td>Beállítja az akkumulátort ha veremből kivett érték előjelesen kissebb </td></tr>
  1779. <tr><td><samp>gts</samp> </td><td></td><td>Beállítja az akkumulátort ha veremből kivett érték előjelesen nagyobb </td></tr>
  1780. <tr><td><samp>les</samp> </td><td></td><td>Beállítja az akkumulátort ha veremből kivett érték előjelesen kissebb vagy egyenlő </td></tr>
  1781. <tr><td><samp>ges</samp> </td><td></td><td>Beállítja az akkumulátort ha veremből kivett érték előjelesen nagyobb vagy egyenlő </td></tr>
  1782. <tr><td><samp>ltu</samp> </td><td></td><td>Beállítja az akkumulátort ha veremből kivett érték előjel nélkül kissebb </td></tr>
  1783. <tr><td><samp>gtu</samp> </td><td></td><td>Beállítja az akkumulátort ha veremből kivett érték előjel nélkül nagyobb </td></tr>
  1784. <tr><td><samp>leu</samp> </td><td></td><td>Beállítja az akkumulátort ha veremből kivett érték előjel nélkül kissebb vagy egyenlő </td></tr>
  1785. <tr><td><samp>geu</samp> </td><td></td><td>Beállítja az akkumulátort ha veremből kivett érték előjel nélkül nagyobb vagy egyenlő </td></tr>
  1786. <tr><td><samp>ltf</samp> </td><td></td><td>Beállítja az akkumulátort ha veremből kivett érték lebegőpontosan kissebb </td></tr>
  1787. <tr><td><samp>gtf</samp> </td><td></td><td>Beállítja az akkumulátort ha veremből kivett érték lebegőpontosan nagyobb </td></tr>
  1788. <tr><td><samp>lef</samp> </td><td></td><td>Beállítja az akkumulátort ha veremből kivett érték lebegőpontosan kissebb vagy egyenlő </td></tr>
  1789. <tr><td><samp>gef</samp> </td><td></td><td>Beállítja az akkumulátort ha veremből kivett érték lebegőpontosan nagyobb vagy egyenlő </td></tr>
  1790. <tr><td><samp>addi</samp> </td><td></td><td>Kivesz a veremből és hozzáadja az akkumulátort, egészszámként </td></tr>
  1791. <tr><td><samp>subi</samp> </td><td></td><td>Kivesz a veremből és kivonja belőle az akkumulátort, egészszámként </td></tr>
  1792. <tr><td><samp>muli</samp> </td><td></td><td>Kivesz a veremből és megszorozza az akkumulátorral, egészszámként </td></tr>
  1793. <tr><td><samp>divi</samp> </td><td></td><td>Kivesz a veremből és elosztja az akkumulátorral, egészszámként </td></tr>
  1794. <tr><td><samp>modi</samp> </td><td></td><td>Kivesz a veremből, elosztja és a maradék az akkumulátorba kerül, egészszámként </td></tr>
  1795. <tr><td><samp>powi</samp> </td><td></td><td>Kivesz a veremből és az akkumulátoradik hatványra emeli, egészszámként </td></tr>
  1796. <tr><td><samp>addf</samp> </td><td></td><td>Kivesz a veremből és hozzáadja az akkumulátort, lebegőpontosként </td></tr>
  1797. <tr><td><samp>subf</samp> </td><td></td><td>Kivesz a veremből és kivonja belőle az akkumulátort, lebegőpontosként </td></tr>
  1798. <tr><td><samp>mulf</samp> </td><td></td><td>Kivesz a veremből és megszorozza az akkumulátorral, lebegőpontosként </td></tr>
  1799. <tr><td><samp>divf</samp> </td><td></td><td>Kivesz a veremből és elosztja az akkumulátorral, lebegőpontosként </td></tr>
  1800. <tr><td><samp>modf</samp> </td><td></td><td>Kivesz a veremből, elosztja és a tizedes az akkumulátorba kerül, lebegőpontosként </td></tr>
  1801. <tr><td><samp>powf</samp> </td><td></td><td>Kivesz a veremből és az akkumulátoradik hatványra emeli, lebegőpontosként </td></tr></table></div>
  1802. <p>Az <samp>sw</samp> mnemonik változó számú (de legalább három) paraméterrel rendelkezik. Az első paramétere egy szám, a második egy kódcimke,
  1803. és a többi is mind kódcimke. Az akkumulátorból kivonja a megadott számot, majd ellenőrzi, hogy az eredmény pozitív-e és kissebb,
  1804. mint a megadott cimkék száma. Ha nem, akkor a második paraméterként megadott, első cimkére ugrik. Ha igen, akkor pedig a harmadik
  1805. paramétertől (második cimkétől) kezdve az akkumulátoradik cimkét veszi, és oda ugrik.</p>
  1806. <p>Szóval dióhéjban</p>
  1807. <div class="pre"><pre>
  1808. sw (érték), (cimke ahová egyébként ugrik),
  1809. (cimke ahová ugrik ha az akkumulátor egyenlő értékkel),
  1810. (cimke ahová ugrik ha az akkumulátor egyenlő érték + 1-el),
  1811. (cimke ahová ugrik ha az akkumulátor egyenlő érték + 2-vel),
  1812. (cimke ahová ugrik ha az akkumulátor egyenlő érték + 3-al),
  1813. ...
  1814. (cimke ahová ugrik ha az akkumulátor egyenlő érték + N-el)
  1815. </pre></div>
  1816. <p>Összesen 256 érték címkéje lehet minden <samp>sw</samp> mnemoniknak.</p><br style="clear:both;"><label class="btn prev" accesskey="p" for="_basic" title="BASIC">Előző</label><label class="btn next" accesskey="n" for="_lua" title="Lua">Következő</label></div>
  1817. <div class="page" rel="lua"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Programozás&nbsp;»</li><li>&nbsp;Lua</li></ul><hr></div>
  1818. <h1 id="lua">Lua<a href="#lua"></a></h1>
  1819. <p>Ha ezt a nyelvet választod, akkor kezd a programodat a <samp>#!lua</samp> sorral.</p>
  1820. <h2 id="ex_lua">Példa program<a href="#ex_lua"></a></h2>
  1821. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br>22<br></pre><code><span class="hl_c">#!lua</span>
  1822. <span class="hl_c">-- globális változók</span>
  1823. <span class="hl_v">szamlalo</span> <span class="hl_o">=</span> <span class="hl_n">123</span>
  1824. <span class="hl_v">szam</span> <span class="hl_o">=</span> <span class="hl_n">3.1415</span>
  1825. <span class="hl_v">cim</span> <span class="hl_o">=</span> <span class="hl_n">0x0048C</span>
  1826. <span class="hl_v">sztring</span> <span class="hl_o">=</span> <span class="hl_s">&quot;valami&quot;</span>
  1827. <span class="hl_v">tomb</span> <span class="hl_o">=</span> {}
  1828. <span class="hl_c">-- Induláskor lefuttatandó dolgok</span>
  1829. <span class="hl_k">function</span> <span class="hl_f">setup</span>()
  1830. <span class="hl_c">-- lokális változók</span>
  1831. <span class="hl_v">lokalisvagyok</span> <span class="hl_o">=</span> <span class="hl_n">234</span>
  1832. <span class="hl_k">end</span>
  1833. <span class="hl_c">-- Minden képkockánál lefuttatandó dolgok, 60 FPS</span>
  1834. <span class="hl_k">function</span> <span class="hl_f">loop</span>()
  1835. <span class="hl_c">-- Lua stílusú print</span>
  1836. <span class="hl_f">print</span>(<span class="hl_s">&quot;Épp&quot;</span>, <span class="hl_s">&quot;futok&quot;</span>)
  1837. <span class="hl_c">-- MEG-4 stílusú kimenet</span>
  1838. <span class="hl_f">printf</span>(<span class="hl_s">&quot;a számláló %d, balshift %d\n&quot;</span>, <span class="hl_v">szamlalo</span>, <span class="hl_f">getkey</span>(<span class="hl_v">KEY_LSHIFT</span>))
  1839. <span class="hl_k">end</span></code></div>
  1840. <h2 id="tovabbi_informaciok">További információk<a href="#tovabbi_informaciok"></a></h2>
  1841. <p>A többi nyelvvel ellentétben ez nem szerves része a MEG-4-nek, hanem egy külsős szoftver. Emiatt nincs (és nem is lehet)
  1842. tökéletesen integrálva (például nincs debuggolója és a hibaüzenetek sincsenek lefordítva). Maga a futtató a többi nyelvhez képest
  1843. iszonyat lassú, de működik, használható.</p>
  1844. <p>A beágyazott verzió a <b>Lua 5.4.7</b>, több módosítással. A biztonság érdekében a nyelvből kikerült a konkurencia, valamint a
  1845. dinamikus modulkezelés, fájlelérés, csővezetékek, parancsfuttatás. A <samp>coroutine</samp>, <samp>io</samp> és <samp>os</samp> függvénycsomagok és a függvényeik
  1846. nincsenek (de a nyelv eszköztára és a baselib összes többi része továbbra is elérhető). A hiányzó táblák helyett azonban bekerült
  1847. a MEG-4 API, ami ugyanúgy használható, mint a többi nyelvnél (pár apró, lényegtelen eltéréssel a jobb integráció kedvéért).</p>
  1848. <p>Amennyiben érdekel ez a nyelv, magyarul <a href="http://nyelvek.inf.elte.hu/leirasok/Lua" target="new">itt találsz</a> róla bővebb információt, illetve a
  1849. hivatalos <a href="https://www.lua.org/pil" target="new">Programming in Lua</a> útmutató (angolul).</p>
  1850. <h2 id="api_elteresek">API Eltérések<a href="#api_elteresek"></a></h2>
  1851. <ul><li><a href="#memsave" onclick="c('memsave')">memsave</a> egyformán elfogad MEG-4 memória címet (integer) vagy Lua táblát integer számokkal (ami egy bájttömb akar lenni).</li>
  1852. <li><a href="#memload" onclick="c('memload')">memload</a> híváskor mindenképp egy érvényes MEG-4 memória címet vár, de aztán Lua táblát ad vissza. Ha nem speciális MMIO
  1853. területre akarsz betölteni, akkor <samp>MEM_USER</samp>-t (0x30000-et) adj meg, és csak használd az adatokat a visszaadott Lua táblában.</li>
  1854. <li><a href="#memcpy" onclick="c('memcpy')">memcpy</a> paramétere lehet két MEG-4 memória cím, ahogy megszokott, de az egyik lehet Lua tábla is (de csak az egyik, mindkettő
  1855. nem). Ezzel a funkcióval lehet adatokat másolni a MEG-4 memória és a Lua között (de az <a href="#inb" onclick="c('inb')">inb</a> és az <a href="#outb" onclick="c('outb')">outb</a> is működik).</li>
  1856. <li><a href="#remap" onclick="c('remap')">remap</a> csak Lua táblát fogad el (amiben 256 integer számnak kell lennie).</li>
  1857. <li><a href="#maze" onclick="c('maze')">maze</a> utolsó két paramétere (<samp>numnpc</samp> és <samp>npc</samp>) helyett lehet használni egy darab Lua táblát (amiben minden elem egy újabb Lua tábla).</li>
  1858. <li><a href="#printf" onclick="c('printf')">printf</a>, <a href="#sprintf" onclick="c('sprintf')">sprintf</a> és <a href="#trace" onclick="c('trace')">trace</a> esetén nem a MEG-4 szabályait követi a <a href="#formazo_sztring" onclick="c('formazo_sztring')">formázó sztring</a>, hanem a Lua-ét (habár e kettő majdnem teljesen ugyanaz).</li></ul><br style="clear:both;"><label class="btn prev" accesskey="p" for="_assembly" title="Assembly">Előző</label><label class="btn next" accesskey="n" for="_memoriaterkep" title="Memóriatérkép">Következő</label></div>
  1859. <div class="page" rel="memoriaterkep"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;API Referencia&nbsp;»</li><li>&nbsp;Memóriatérkép</li></ul><hr></div>
  1860. <h1 id="memoriaterkep">Memóriatérkép<a href="#memoriaterkep"></a></h1>
  1861. <h2 id="altalanos">Általános<a href="#altalanos"></a></h2>
  1862. <p>Minden érték kicsi elöl (little endian), azaz a kissebb helyiértékű bájt van az alacsonyabb címen.</p>
  1863. <div class="table"><table><tr><th>Cím </th><th>Méret </th><th>Leírás </th></tr>
  1864. <tr><td>00000 </td><td class="right">1 </td><td>MEG-4 förmver verzió major (fő verzió) </td></tr>
  1865. <tr><td>00001 </td><td class="right">1 </td><td>MEG-4 förmver verzió minor (alverzió) </td></tr>
  1866. <tr><td>00002 </td><td class="right">1 </td><td>MEG-4 förmver verzió bugfix (hibajavító verzió) </td></tr>
  1867. <tr><td>00003 </td><td class="right">1 </td><td>performancia számláló, eltöltetlen idő 1/1000 másodpercekben </td></tr>
  1868. <tr><td>00004 </td><td class="right">4 </td><td>tikkszámláló, bekapcsolás óta eltelt idő 1/1000 másodpercekben </td></tr>
  1869. <tr><td>00008 </td><td class="right">8 </td><td>UTC unix időbélyeg </td></tr>
  1870. <tr><td>00010 </td><td class="right">2 </td><td>kiválaszott lokál, nyelvkód </td></tr></table></div>
  1871. <p>A performancia számláló azt mutatja, a legutóbbi képkocka generálásakor mennyi idő maradt kihasználatlanul. Ha ez nulla vagy
  1872. negatív, akkor az azt jelzi, mennyivel lépte túl a loop() függvényed a rendelkezésre álló időkeretet.</p>
  1873. <h2 id="mutato">Mutató<a href="#mutato"></a></h2>
  1874. <div class="table"><table><tr><th>Cím </th><th>Méret </th><th>Leírás </th></tr>
  1875. <tr><td>00012 </td><td class="right">2 </td><td>mutató (egér) gombok állapota (lásd <a href="#getbtn" onclick="c('getbtn')">getbtn</a> és <a href="#getclk" onclick="c('getclk')">getclk</a>) </td></tr>
  1876. <tr><td>00014 </td><td class="right">2 </td><td>mutató szprájt index </td></tr>
  1877. <tr><td>00016 </td><td class="right">2 </td><td>mutató X koordináta </td></tr>
  1878. <tr><td>00018 </td><td class="right">2 </td><td>mutató Y koordináta </td></tr></table></div>
  1879. <p>A mutató egérgombjai a következők:</p>
  1880. <div class="table"><table><tr><th>Define </th><th>Bitmaszk </th><th>Leírás </th></tr>
  1881. <tr><td><samp>BTN_L</samp> </td><td class="right">1 </td><td>Bal egérgomb (left) </td></tr>
  1882. <tr><td><samp>BTN_M</samp> </td><td class="right">2 </td><td>Középső egérgomb (middle) </td></tr>
  1883. <tr><td><samp>BTN_R</samp> </td><td class="right">4 </td><td>Jobb egérgomb (right) </td></tr>
  1884. <tr><td><samp>SCR_U</samp> </td><td class="right">8 </td><td>Szkrollozás fel (up) </td></tr>
  1885. <tr><td><samp>SCR_D</samp> </td><td class="right">16 </td><td>Szkrollozás le (down) </td></tr>
  1886. <tr><td><samp>SCR_L</samp> </td><td class="right">32 </td><td>Szkrollozás balra (left) </td></tr>
  1887. <tr><td><samp>SCR_R</samp> </td><td class="right">64 </td><td>Szkrollozás jobbra (right) </td></tr></table></div>
  1888. <p>A mutató szprájt felső bitjei adják meg a kurzor eltolását: bit 13-15 Y eltolás, bit 10-12 X eltolás, bit 0-9 szprájt.
  1889. Van néhány beépített, előre definiált kurzor:</p>
  1890. <div class="table"><table><tr><th>Define </th><th>Érték </th><th>Leírás </th></tr>
  1891. <tr><td><samp>PTR_NORM</samp> </td><td class="right">03fb </td><td>Normál (nyíl) mutató </td></tr>
  1892. <tr><td><samp>PTR_TEXT</samp> </td><td class="right">03fc </td><td>Szöveg mutató </td></tr>
  1893. <tr><td><samp>PTR_HAND</samp> </td><td class="right">0bfd </td><td>Hivatkozás mutató </td></tr>
  1894. <tr><td><samp>PTR_ERR</samp> </td><td class="right">93fe </td><td>Hiba történt mutató </td></tr>
  1895. <tr><td><samp>PTR_NONE</samp> </td><td class="right">ffff </td><td>Elrejti a mutatót </td></tr></table></div>
  1896. <h2 id="billentyuzet">Billentyűzet<a href="#billentyuzet"></a></h2>
  1897. <div class="table"><table><tr><th>Cím </th><th>Méret </th><th>Leírás </th></tr>
  1898. <tr><td>0001A </td><td class="right">1 </td><td>billentyűsor farok </td></tr>
  1899. <tr><td>0001B </td><td class="right">1 </td><td>billentyűsor fej </td></tr>
  1900. <tr><td>0001C </td><td class="right">64 </td><td>billentyűsor, 16 elem, egyenként 4 bájt (lásd <a href="#popkey" onclick="c('popkey')">popkey</a>) </td></tr>
  1901. <tr><td>0005C </td><td class="right">18 </td><td>lenyomott billentyű állapotok, szkenkódonként (lásd <a href="#getkey" onclick="c('getkey')">getkey</a>) </td></tr></table></div>
  1902. <p>A billentyűsorból kivett gombok UTF-8-ban vannak ábrázolva. Néhány érvénytelen UTF-8 sorozat speciális (nem-megjeleníthető)
  1903. gombnak felel meg, például:</p>
  1904. <div class="table"><table><tr><th>Gombkód </th><th>Leírás </th></tr>
  1905. <tr><td><samp>\x8</samp> </td><td>A 8-as karakter, <kbd>←Backspace</kbd> gomb </td></tr>
  1906. <tr><td><samp>\x9</samp> </td><td>A 9-es karakter, <kbd>Tab</kbd> gomb </td></tr>
  1907. <tr><td><samp>\n</samp> </td><td>A 10-es karakter, <kbd>⏎Enter</kbd> gomb </td></tr>
  1908. <tr><td><samp>\x1b</samp> </td><td>A 27-es karakter, <kbd>Esc</kbd> gomb </td></tr>
  1909. <tr><td><samp>Del</samp> </td><td>A <kbd>Del</kbd> (törlés előre) gomb </td></tr>
  1910. <tr><td><samp>Up</samp> </td><td>A kurzornyíl <kbd>▴</kbd> gomb </td></tr>
  1911. <tr><td><samp>Down</samp> </td><td>A kurzornyíl <kbd>▾</kbd> gomb </td></tr>
  1912. <tr><td><samp>Left</samp> </td><td>A kurzornyíl <kbd>◂</kbd> gomb </td></tr>
  1913. <tr><td><samp>Rght</samp> </td><td>A kurzornyíl <kbd>▸</kbd> gomb </td></tr>
  1914. <tr><td><samp>Cut</samp> </td><td>Kivág gomb (vagy <kbd>Ctrl</kbd>+<kbd>X</kbd>) </td></tr>
  1915. <tr><td><samp>Cpy</samp> </td><td>Másol gomb (vagy <kbd>Ctrl</kbd>+<kbd>C</kbd>) </td></tr>
  1916. <tr><td><samp>Pst</samp> </td><td>Beilleszt gomb (vagy <kbd>Ctrl</kbd>+<kbd>V</kbd>) </td></tr></table></div>
  1917. <p>A szkenkódok a következők:</p>
  1918. <div class="table"><table><tr><th>Szkenkód </th><th>Cím </th><th>Bitmaszk</th><th>Define </th></tr>
  1919. <tr><td class="right">0 </td><td>0005C </td><td class="right">1 </td><td><samp>KEY_CHEAT</samp> </td></tr>
  1920. <tr><td class="right">1 </td><td>0005C </td><td class="right">2 </td><td><samp>KEY_F1</samp> </td></tr>
  1921. <tr><td class="right">2 </td><td>0005C </td><td class="right">4 </td><td><samp>KEY_F2</samp> </td></tr>
  1922. <tr><td class="right">3 </td><td>0005C </td><td class="right">8 </td><td><samp>KEY_F3</samp> </td></tr>
  1923. <tr><td class="right">4 </td><td>0005C </td><td class="right">16 </td><td><samp>KEY_F4</samp> </td></tr>
  1924. <tr><td class="right">5 </td><td>0005C </td><td class="right">32 </td><td><samp>KEY_F5</samp> </td></tr>
  1925. <tr><td class="right">6 </td><td>0005C </td><td class="right">64 </td><td><samp>KEY_F6</samp> </td></tr>
  1926. <tr><td class="right">7 </td><td>0005C </td><td class="right">128 </td><td><samp>KEY_F7</samp> </td></tr>
  1927. <tr><td class="right">8 </td><td>0005D </td><td class="right">1 </td><td><samp>KEY_F8</samp> </td></tr>
  1928. <tr><td class="right">9 </td><td>0005D </td><td class="right">2 </td><td><samp>KEY_F9</samp> </td></tr>
  1929. <tr><td class="right">10 </td><td>0005D </td><td class="right">4 </td><td><samp>KEY_F10</samp> </td></tr>
  1930. <tr><td class="right">11 </td><td>0005D </td><td class="right">8 </td><td><samp>KEY_F11</samp> </td></tr>
  1931. <tr><td class="right">12 </td><td>0005D </td><td class="right">16 </td><td><samp>KEY_F12</samp> </td></tr>
  1932. <tr><td class="right">13 </td><td>0005D </td><td class="right">32 </td><td><samp>KEY_PRSCR</samp> </td></tr>
  1933. <tr><td class="right">14 </td><td>0005D </td><td class="right">64 </td><td><samp>KEY_SCRLOCK</samp> </td></tr>
  1934. <tr><td class="right">15 </td><td>0005D </td><td class="right">128 </td><td><samp>KEY_PAUSE</samp> </td></tr>
  1935. <tr><td class="right">16 </td><td>0005E </td><td class="right">1 </td><td><samp>KEY_BACKQUOTE</samp> </td></tr>
  1936. <tr><td class="right">17 </td><td>0005E </td><td class="right">2 </td><td><samp>KEY_1</samp> </td></tr>
  1937. <tr><td class="right">18 </td><td>0005E </td><td class="right">4 </td><td><samp>KEY_2</samp> </td></tr>
  1938. <tr><td class="right">19 </td><td>0005E </td><td class="right">8 </td><td><samp>KEY_3</samp> </td></tr>
  1939. <tr><td class="right">20 </td><td>0005E </td><td class="right">16 </td><td><samp>KEY_4</samp> </td></tr>
  1940. <tr><td class="right">21 </td><td>0005E </td><td class="right">32 </td><td><samp>KEY_5</samp> </td></tr>
  1941. <tr><td class="right">22 </td><td>0005E </td><td class="right">64 </td><td><samp>KEY_6</samp> </td></tr>
  1942. <tr><td class="right">23 </td><td>0005E </td><td class="right">128 </td><td><samp>KEY_7</samp> </td></tr>
  1943. <tr><td class="right">24 </td><td>0005F </td><td class="right">1 </td><td><samp>KEY_8</samp> </td></tr>
  1944. <tr><td class="right">25 </td><td>0005F </td><td class="right">2 </td><td><samp>KEY_9</samp> </td></tr>
  1945. <tr><td class="right">26 </td><td>0005F </td><td class="right">4 </td><td><samp>KEY_0</samp> </td></tr>
  1946. <tr><td class="right">27 </td><td>0005F </td><td class="right">8 </td><td><samp>KEY_MINUS</samp> </td></tr>
  1947. <tr><td class="right">28 </td><td>0005F </td><td class="right">16 </td><td><samp>KEY_EQUAL</samp> </td></tr>
  1948. <tr><td class="right">29 </td><td>0005F </td><td class="right">32 </td><td><samp>KEY_BACKSPACE</samp> </td></tr>
  1949. <tr><td class="right">30 </td><td>0005F </td><td class="right">64 </td><td><samp>KEY_TAB</samp> </td></tr>
  1950. <tr><td class="right">31 </td><td>0005F </td><td class="right">128 </td><td><samp>KEY_Q</samp> </td></tr>
  1951. <tr><td class="right">32 </td><td>00060 </td><td class="right">1 </td><td><samp>KEY_W</samp> </td></tr>
  1952. <tr><td class="right">33 </td><td>00060 </td><td class="right">2 </td><td><samp>KEY_E</samp> </td></tr>
  1953. <tr><td class="right">34 </td><td>00060 </td><td class="right">4 </td><td><samp>KEY_R</samp> </td></tr>
  1954. <tr><td class="right">35 </td><td>00060 </td><td class="right">8 </td><td><samp>KEY_T</samp> </td></tr>
  1955. <tr><td class="right">36 </td><td>00060 </td><td class="right">16 </td><td><samp>KEY_Y</samp> </td></tr>
  1956. <tr><td class="right">37 </td><td>00060 </td><td class="right">32 </td><td><samp>KEY_U</samp> </td></tr>
  1957. <tr><td class="right">38 </td><td>00060 </td><td class="right">64 </td><td><samp>KEY_I</samp> </td></tr>
  1958. <tr><td class="right">39 </td><td>00060 </td><td class="right">128 </td><td><samp>KEY_O</samp> </td></tr>
  1959. <tr><td class="right">40 </td><td>00061 </td><td class="right">1 </td><td><samp>KEY_P</samp> </td></tr>
  1960. <tr><td class="right">41 </td><td>00061 </td><td class="right">2 </td><td><samp>KEY_LBRACKET</samp> </td></tr>
  1961. <tr><td class="right">42 </td><td>00061 </td><td class="right">4 </td><td><samp>KEY_RBRACKET</samp> </td></tr>
  1962. <tr><td class="right">43 </td><td>00061 </td><td class="right">8 </td><td><samp>KEY_ENTER</samp> </td></tr>
  1963. <tr><td class="right">44 </td><td>00061 </td><td class="right">16 </td><td><samp>KEY_CAPSLOCK</samp> </td></tr>
  1964. <tr><td class="right">45 </td><td>00061 </td><td class="right">32 </td><td><samp>KEY_A</samp> </td></tr>
  1965. <tr><td class="right">46 </td><td>00061 </td><td class="right">64 </td><td><samp>KEY_S</samp> </td></tr>
  1966. <tr><td class="right">47 </td><td>00061 </td><td class="right">128 </td><td><samp>KEY_D</samp> </td></tr>
  1967. <tr><td class="right">48 </td><td>00062 </td><td class="right">1 </td><td><samp>KEY_F</samp> </td></tr>
  1968. <tr><td class="right">49 </td><td>00062 </td><td class="right">2 </td><td><samp>KEY_G</samp> </td></tr>
  1969. <tr><td class="right">50 </td><td>00062 </td><td class="right">4 </td><td><samp>KEY_H</samp> </td></tr>
  1970. <tr><td class="right">51 </td><td>00062 </td><td class="right">8 </td><td><samp>KEY_J</samp> </td></tr>
  1971. <tr><td class="right">52 </td><td>00062 </td><td class="right">16 </td><td><samp>KEY_K</samp> </td></tr>
  1972. <tr><td class="right">53 </td><td>00062 </td><td class="right">32 </td><td><samp>KEY_L</samp> </td></tr>
  1973. <tr><td class="right">54 </td><td>00062 </td><td class="right">64 </td><td><samp>KEY_SEMICOLON</samp> </td></tr>
  1974. <tr><td class="right">55 </td><td>00062 </td><td class="right">128 </td><td><samp>KEY_APOSTROPHE</samp> </td></tr>
  1975. <tr><td class="right">56 </td><td>00063 </td><td class="right">1 </td><td><samp>KEY_BACKSLASH</samp> </td></tr>
  1976. <tr><td class="right">57 </td><td>00063 </td><td class="right">2 </td><td><samp>KEY_LSHIFT</samp> </td></tr>
  1977. <tr><td class="right">58 </td><td>00063 </td><td class="right">4 </td><td><samp>KEY_LESS</samp> </td></tr>
  1978. <tr><td class="right">59 </td><td>00063 </td><td class="right">8 </td><td><samp>KEY_Z</samp> </td></tr>
  1979. <tr><td class="right">60 </td><td>00063 </td><td class="right">16 </td><td><samp>KEY_X</samp> </td></tr>
  1980. <tr><td class="right">61 </td><td>00063 </td><td class="right">32 </td><td><samp>KEY_C</samp> </td></tr>
  1981. <tr><td class="right">62 </td><td>00063 </td><td class="right">64 </td><td><samp>KEY_V</samp> </td></tr>
  1982. <tr><td class="right">63 </td><td>00063 </td><td class="right">128 </td><td><samp>KEY_B</samp> </td></tr>
  1983. <tr><td class="right">64 </td><td>00064 </td><td class="right">1 </td><td><samp>KEY_N</samp> </td></tr>
  1984. <tr><td class="right">65 </td><td>00064 </td><td class="right">2 </td><td><samp>KEY_M</samp> </td></tr>
  1985. <tr><td class="right">66 </td><td>00064 </td><td class="right">4 </td><td><samp>KEY_COMMA</samp> </td></tr>
  1986. <tr><td class="right">67 </td><td>00064 </td><td class="right">8 </td><td><samp>KEY_PERIOD</samp> </td></tr>
  1987. <tr><td class="right">68 </td><td>00064 </td><td class="right">16 </td><td><samp>KEY_SLASH</samp> </td></tr>
  1988. <tr><td class="right">69 </td><td>00064 </td><td class="right">32 </td><td><samp>KEY_RSHIFT</samp> </td></tr>
  1989. <tr><td class="right">70 </td><td>00064 </td><td class="right">64 </td><td><samp>KEY_LCTRL</samp> </td></tr>
  1990. <tr><td class="right">71 </td><td>00064 </td><td class="right">128 </td><td><samp>KEY_LSUPER</samp> </td></tr>
  1991. <tr><td class="right">72 </td><td>00065 </td><td class="right">1 </td><td><samp>KEY_LALT</samp> </td></tr>
  1992. <tr><td class="right">73 </td><td>00065 </td><td class="right">2 </td><td><samp>KEY_SPACE</samp> </td></tr>
  1993. <tr><td class="right">74 </td><td>00065 </td><td class="right">4 </td><td><samp>KEY_RALT</samp> </td></tr>
  1994. <tr><td class="right">75 </td><td>00065 </td><td class="right">8 </td><td><samp>KEY_RSUPER</samp> </td></tr>
  1995. <tr><td class="right">76 </td><td>00065 </td><td class="right">16 </td><td><samp>KEY_MENU</samp> </td></tr>
  1996. <tr><td class="right">77 </td><td>00065 </td><td class="right">32 </td><td><samp>KEY_RCTRL</samp> </td></tr>
  1997. <tr><td class="right">78 </td><td>00065 </td><td class="right">64 </td><td><samp>KEY_INS</samp> </td></tr>
  1998. <tr><td class="right">79 </td><td>00065 </td><td class="right">128 </td><td><samp>KEY_HOME</samp> </td></tr>
  1999. <tr><td class="right">80 </td><td>00066 </td><td class="right">1 </td><td><samp>KEY_PGUP</samp> </td></tr>
  2000. <tr><td class="right">81 </td><td>00066 </td><td class="right">2 </td><td><samp>KEY_DEL</samp> </td></tr>
  2001. <tr><td class="right">82 </td><td>00066 </td><td class="right">4 </td><td><samp>KEY_END</samp> </td></tr>
  2002. <tr><td class="right">83 </td><td>00066 </td><td class="right">8 </td><td><samp>KEY_PGDN</samp> </td></tr>
  2003. <tr><td class="right">84 </td><td>00066 </td><td class="right">16 </td><td><samp>KEY_UP</samp> </td></tr>
  2004. <tr><td class="right">85 </td><td>00066 </td><td class="right">32 </td><td><samp>KEY_LEFT</samp> </td></tr>
  2005. <tr><td class="right">86 </td><td>00066 </td><td class="right">64 </td><td><samp>KEY_DOWN</samp> </td></tr>
  2006. <tr><td class="right">87 </td><td>00066 </td><td class="right">128 </td><td><samp>KEY_RIGHT</samp> </td></tr>
  2007. <tr><td class="right">88 </td><td>00067 </td><td class="right">1 </td><td><samp>KEY_NUMLOCK</samp> </td></tr>
  2008. <tr><td class="right">89 </td><td>00067 </td><td class="right">2 </td><td><samp>KEY_KP_DIV</samp> </td></tr>
  2009. <tr><td class="right">90 </td><td>00067 </td><td class="right">4 </td><td><samp>KEY_KP_MUL</samp> </td></tr>
  2010. <tr><td class="right">91 </td><td>00067 </td><td class="right">8 </td><td><samp>KEY_KP_SUB</samp> </td></tr>
  2011. <tr><td class="right">92 </td><td>00067 </td><td class="right">16 </td><td><samp>KEY_KP_7</samp> </td></tr>
  2012. <tr><td class="right">93 </td><td>00067 </td><td class="right">32 </td><td><samp>KEY_KP_8</samp> </td></tr>
  2013. <tr><td class="right">94 </td><td>00067 </td><td class="right">64 </td><td><samp>KEY_KP_9</samp> </td></tr>
  2014. <tr><td class="right">95 </td><td>00067 </td><td class="right">128 </td><td><samp>KEY_KP_ADD</samp> </td></tr>
  2015. <tr><td class="right">96 </td><td>00068 </td><td class="right">1 </td><td><samp>KEY_KP_4</samp> </td></tr>
  2016. <tr><td class="right">97 </td><td>00068 </td><td class="right">2 </td><td><samp>KEY_KP_5</samp> </td></tr>
  2017. <tr><td class="right">98 </td><td>00068 </td><td class="right">4 </td><td><samp>KEY_KP_6</samp> </td></tr>
  2018. <tr><td class="right">99 </td><td>00068 </td><td class="right">8 </td><td><samp>KEY_KP_1</samp> </td></tr>
  2019. <tr><td class="right">100 </td><td>00068 </td><td class="right">16 </td><td><samp>KEY_KP_2</samp> </td></tr>
  2020. <tr><td class="right">101 </td><td>00068 </td><td class="right">32 </td><td><samp>KEY_KP_3</samp> </td></tr>
  2021. <tr><td class="right">102 </td><td>00068 </td><td class="right">64 </td><td><samp>KEY_KP_ENTER</samp> </td></tr>
  2022. <tr><td class="right">103 </td><td>00068 </td><td class="right">128 </td><td><samp>KEY_KP_0</samp> </td></tr>
  2023. <tr><td class="right">104 </td><td>00069 </td><td class="right">1 </td><td><samp>KEY_KP_DEC</samp> </td></tr>
  2024. <tr><td class="right">105 </td><td>00069 </td><td class="right">2 </td><td><samp>KEY_INT1</samp> </td></tr>
  2025. <tr><td class="right">106 </td><td>00069 </td><td class="right">4 </td><td><samp>KEY_INT2</samp> </td></tr>
  2026. <tr><td class="right">107 </td><td>00069 </td><td class="right">8 </td><td><samp>KEY_INT3</samp> </td></tr>
  2027. <tr><td class="right">108 </td><td>00069 </td><td class="right">16 </td><td><samp>KEY_INT4</samp> </td></tr>
  2028. <tr><td class="right">109 </td><td>00069 </td><td class="right">32 </td><td><samp>KEY_INT5</samp> </td></tr>
  2029. <tr><td class="right">110 </td><td>00069 </td><td class="right">64 </td><td><samp>KEY_INT6</samp> </td></tr>
  2030. <tr><td class="right">111 </td><td>00069 </td><td class="right">128 </td><td><samp>KEY_INT7</samp> </td></tr>
  2031. <tr><td class="right">112 </td><td>0006A </td><td class="right">1 </td><td><samp>KEY_INT8</samp> </td></tr>
  2032. <tr><td class="right">113 </td><td>0006A </td><td class="right">2 </td><td><samp>KEY_LNG1</samp> </td></tr>
  2033. <tr><td class="right">114 </td><td>0006A </td><td class="right">4 </td><td><samp>KEY_LNG2</samp> </td></tr>
  2034. <tr><td class="right">115 </td><td>0006A </td><td class="right">8 </td><td><samp>KEY_LNG3</samp> </td></tr>
  2035. <tr><td class="right">116 </td><td>0006A </td><td class="right">16 </td><td><samp>KEY_LNG4</samp> </td></tr>
  2036. <tr><td class="right">117 </td><td>0006A </td><td class="right">32 </td><td><samp>KEY_LNG5</samp> </td></tr>
  2037. <tr><td class="right">118 </td><td>0006A </td><td class="right">64 </td><td><samp>KEY_LNG6</samp> </td></tr>
  2038. <tr><td class="right">119 </td><td>0006A </td><td class="right">128 </td><td><samp>KEY_LNG7</samp> </td></tr>
  2039. <tr><td class="right">120 </td><td>0006B </td><td class="right">1 </td><td><samp>KEY_LNG8</samp> </td></tr>
  2040. <tr><td class="right">121 </td><td>0006B </td><td class="right">2 </td><td><samp>KEY_APP</samp> </td></tr>
  2041. <tr><td class="right">122 </td><td>0006B </td><td class="right">4 </td><td><samp>KEY_POWER</samp> </td></tr>
  2042. <tr><td class="right">123 </td><td>0006B </td><td class="right">8 </td><td><samp>KEY_KP_EQUAL</samp> </td></tr>
  2043. <tr><td class="right">124 </td><td>0006B </td><td class="right">16 </td><td><samp>KEY_EXEC</samp> </td></tr>
  2044. <tr><td class="right">125 </td><td>0006B </td><td class="right">32 </td><td><samp>KEY_HELP</samp> </td></tr>
  2045. <tr><td class="right">126 </td><td>0006B </td><td class="right">64 </td><td><samp>KEY_SELECT</samp> </td></tr>
  2046. <tr><td class="right">127 </td><td>0006B </td><td class="right">128 </td><td><samp>KEY_STOP</samp> </td></tr>
  2047. <tr><td class="right">128 </td><td>0006C </td><td class="right">1 </td><td><samp>KEY_AGAIN</samp> </td></tr>
  2048. <tr><td class="right">129 </td><td>0006C </td><td class="right">2 </td><td><samp>KEY_UNDO</samp> </td></tr>
  2049. <tr><td class="right">130 </td><td>0006C </td><td class="right">4 </td><td><samp>KEY_CUT</samp> </td></tr>
  2050. <tr><td class="right">131 </td><td>0006C </td><td class="right">8 </td><td><samp>KEY_COPY</samp> </td></tr>
  2051. <tr><td class="right">132 </td><td>0006C </td><td class="right">16 </td><td><samp>KEY_PASTE</samp> </td></tr>
  2052. <tr><td class="right">133 </td><td>0006C </td><td class="right">32 </td><td><samp>KEY_FIND</samp> </td></tr>
  2053. <tr><td class="right">134 </td><td>0006C </td><td class="right">64 </td><td><samp>KEY_MUTE</samp> </td></tr>
  2054. <tr><td class="right">135 </td><td>0006C </td><td class="right">128 </td><td><samp>KEY_VOLUP</samp> </td></tr>
  2055. <tr><td class="right">136 </td><td>0006D </td><td class="right">1 </td><td><samp>KEY_VOLDN</samp> </td></tr></table></div>
  2056. <h2 id="jatekpad">Játékpad<a href="#jatekpad"></a></h2>
  2057. <div class="table"><table><tr><th>Cím </th><th>Méret </th><th>Leírás </th></tr>
  2058. <tr><td>0006E </td><td class="right">2 </td><td>játékpad joystick határérték (alapból 8000) </td></tr>
  2059. <tr><td>00070 </td><td class="right">8 </td><td>elsődleges játékpad - <a href="#billentyuzet" onclick="c('billentyuzet')">billentyűzet</a> szkenkód leképezések </td></tr>
  2060. <tr><td>00078 </td><td class="right">4 </td><td>4 játékpad gombjainak lenyomott állapota (lásd <a href="#getpad" onclick="c('getpad')">getpad</a>) </td></tr></table></div>
  2061. <p>A játékpad gombok a következők:</p>
  2062. <div class="table"><table><tr><th>Define </th><th>Bitmaszk </th><th>Leírás </th></tr>
  2063. <tr><td><samp>BTN_L</samp> </td><td class="right">1 </td><td>A <samp>◁</samp> gomb vagy joystick balra </td></tr>
  2064. <tr><td><samp>BTN_U</samp> </td><td class="right">2 </td><td>A <samp>△</samp> gomb vagy joystick felfele </td></tr>
  2065. <tr><td><samp>BTN_R</samp> </td><td class="right">4 </td><td>A <samp>▷</samp> gomb vagy joystick jobbra </td></tr>
  2066. <tr><td><samp>BTN_D</samp> </td><td class="right">8 </td><td>A <samp>▽</samp> gomb vagy joystick lefele </td></tr>
  2067. <tr><td><samp>BTN_A</samp> </td><td class="right">16 </td><td>Az <samp>Ⓐ</samp> gomb </td></tr>
  2068. <tr><td><samp>BTN_B</samp> </td><td class="right">32 </td><td>A <samp>Ⓑ</samp> gomb </td></tr>
  2069. <tr><td><samp>BTN_X</samp> </td><td class="right">64 </td><td>A <samp>Ⓧ</samp> gomb </td></tr>
  2070. <tr><td><samp>BTN_Y</samp> </td><td class="right">128 </td><td>A <samp>Ⓨ</samp> gomb </td></tr></table></div>
  2071. <p>A <samp>△△▽▽◁▷◁▷ⒷⒶ</samp> sorozat a <samp>KEY_CHEAT</samp> "gombot" jelzi lenyomottnak.</p>
  2072. <h2 id="grafikus_feldolgozo_egyseg">Grafikus Feldolgozó Egység<a href="#grafikus_feldolgozo_egyseg"></a></h2>
  2073. <div class="table"><table><tr><th>Cím </th><th>Méret </th><th>Leírás </th></tr>
  2074. <tr><td>0007E </td><td class="right">1 </td><td>UNICODE kódpont felső bájtja a glifablakhoz </td></tr>
  2075. <tr><td>0007F </td><td class="right">1 </td><td>szprájtbank választó a térképhez </td></tr>
  2076. <tr><td>00080 </td><td class="right">1024 </td><td>paletta, 256 szín, egyenként 4 bájt, RGBA </td></tr>
  2077. <tr><td>00480 </td><td class="right">2 </td><td>x0, vágás X kezdete pixelben (minden rajzoló funkció esetén) </td></tr>
  2078. <tr><td>00482 </td><td class="right">2 </td><td>x1, vágás X vége pixelben </td></tr>
  2079. <tr><td>00484 </td><td class="right">2 </td><td>y0, vágás Y kezdete pixelben </td></tr>
  2080. <tr><td>00486 </td><td class="right">2 </td><td>y1, vágás Y vége pixelben </td></tr>
  2081. <tr><td>00488 </td><td class="right">2 </td><td>megjelenített vram X offszetje pixelben vagy 0xffff </td></tr>
  2082. <tr><td>0048A </td><td class="right">2 </td><td>megjelenített vram Y offszetje pixelben vagy 0xffff </td></tr>
  2083. <tr><td>0048C </td><td class="right">1 </td><td>teknős farok lent állapot (lásd <a href="#up" onclick="c('up')">up</a>, <a href="#down" onclick="c('down')">down</a>) </td></tr>
  2084. <tr><td>0048D </td><td class="right">1 </td><td>teknős farok színe, paletta index 0-tól 255-ig (lásd <a href="#color" onclick="c('color')">color</a>) </td></tr>
  2085. <tr><td>0048E </td><td class="right">2 </td><td>teknős irány fokokban, 0-tól 359-ig (lásd <a href="#left" onclick="c('left')">left</a>, <a href="#right" onclick="c('right')">right</a>) </td></tr>
  2086. <tr><td>00490 </td><td class="right">2 </td><td>teknős X koordináta pixelben (lásd <a href="#move" onclick="c('move')">move</a>) </td></tr>
  2087. <tr><td>00492 </td><td class="right">2 </td><td>teknős Y koordináta pixelben </td></tr>
  2088. <tr><td>00494 </td><td class="right">2 </td><td>útvesztő haladási sebesség 1/128-ad csempében (lásd <a href="#maze" onclick="c('maze')">maze</a>) </td></tr>
  2089. <tr><td>00496 </td><td class="right">2 </td><td>útvesztő forgási sebesség fokokban (1-től 90-ig) </td></tr>
  2090. <tr><td>00498 </td><td class="right">1 </td><td>konzol betűszíne, paletta index 0-tól 255-ig (lásd <a href="#printf" onclick="c('printf')">printf</a>) </td></tr>
  2091. <tr><td>00499 </td><td class="right">1 </td><td>konzol háttérszíne, paletta index 0-tól 255-ig </td></tr>
  2092. <tr><td>0049A </td><td class="right">2 </td><td>konzol X koordináta pixelben </td></tr>
  2093. <tr><td>0049C </td><td class="right">2 </td><td>konzol Y koordináta pixelben </td></tr>
  2094. <tr><td>0049E </td><td class="right">2 </td><td>kamera X koordináta <a href="#3d_s_ter" onclick="c('3d_s_ter')">3D-s tér</a>ben (lásd <a href="#tri3d" onclick="c('tri3d')">tri3d</a>, <a href="#tritx" onclick="c('tritx')">tritx</a>, <a href="#mesh" onclick="c('mesh')">mesh</a>) </td></tr>
  2095. <tr><td>004A0 </td><td class="right">2 </td><td>kamera Y koordináta </td></tr>
  2096. <tr><td>004A2 </td><td class="right">2 </td><td>kamera Z koordináta </td></tr>
  2097. <tr><td>004A4 </td><td class="right">2 </td><td>kamera iránya, dőlésszög (0 fel, 90 előre) </td></tr>
  2098. <tr><td>004A6 </td><td class="right">2 </td><td>kamera iránya, forgásszög (0 balra, 90 előre) </td></tr>
  2099. <tr><td>004A8 </td><td class="right">1 </td><td>kamera látószög (45 alapból, negatív ortografikus projekció) </td></tr>
  2100. <tr><td>004AA </td><td class="right">2 </td><td>fényforrás pozíció X koordináta (lásd <a href="#tri3d" onclick="c('tri3d')">tri3d</a>, <a href="#tritx" onclick="c('tritx')">tritx</a>, <a href="#mesh" onclick="c('mesh')">mesh</a>) </td></tr>
  2101. <tr><td>004AC </td><td class="right">2 </td><td>fényforrás pozíció Y koordináta </td></tr>
  2102. <tr><td>004AE </td><td class="right">2 </td><td>fényforrás pozíció Z koordináta </td></tr>
  2103. <tr><td>00600 </td><td class="right">64000 </td><td>térkép, 320 x 200 szprájt index (lásd <a href="#map" onclick="c('map')">map</a> és <a href="#maze" onclick="c('maze')">maze</a>) </td></tr>
  2104. <tr><td>10000 </td><td class="right">65536 </td><td>szprájtok, 256 x 256 paletta index, 1024 8 x 8 pixel (lásd <a href="#spr" onclick="c('spr')">spr</a>) </td></tr>
  2105. <tr><td>28000 </td><td class="right">32768 </td><td>csúszóablak 4096 betűglifhez (lásd 0007E, <a href="#width" onclick="c('width')">width</a> és <a href="#text" onclick="c('text')">text</a>) </td></tr></table></div>
  2106. <h2 id="digitalis_szignalfeldolgozo_processzor">Digitális Szignálfeldolgozó Processzor<a href="#digitalis_szignalfeldolgozo_processzor"></a></h2>
  2107. <div class="table"><table><tr><th>Cím </th><th>Méret </th><th>Leírás </th></tr>
  2108. <tr><td>0007C </td><td class="right">1 </td><td>hullámminta bank választó (1-től 31-ig) </td></tr>
  2109. <tr><td>0007D </td><td class="right">1 </td><td>zenesáv bank választó (0-tól 7-ig) </td></tr>
  2110. <tr><td>004BA </td><td class="right">1 </td><td>aktuális tempó (soronkénti tikkszám, csak olvasható) </td></tr>
  2111. <tr><td>004BB </td><td class="right">1 </td><td>aktuális sáv, amit épp játszik (csak olvasható) </td></tr>
  2112. <tr><td>004BC </td><td class="right">2 </td><td>aktuális sor, amit épp játszik (csak olvasható) </td></tr>
  2113. <tr><td>004BE </td><td class="right">2 </td><td>aktuális sáv sorainak száma (csak olvasható) </td></tr>
  2114. <tr><td>004C0 </td><td class="right">64 </td><td>16 csatorna státusz regisztere, egyenként 4 bájt (csak olvasható) </td></tr>
  2115. <tr><td>00500 </td><td class="right">256 </td><td>64 hangeffekt, egyenként 4 bájt </td></tr>
  2116. <tr><td>20000 </td><td class="right">16384 </td><td>ablak a hullámmintára (lásd 0007C) </td></tr>
  2117. <tr><td>24000 </td><td class="right">16384 </td><td>ablak a zenesáv mintákra (lásd 0007D) </td></tr></table></div>
  2118. <p>Az összes DSP státusz regiszter csak olvasható, és a csatornák regiszterei a következők:</p>
  2119. <div class="table"><table><tr><th>Cím </th><th>Méret </th><th>Leírás </th></tr>
  2120. <tr><td>0 </td><td class="right">2 </td><td>aktuális pozíció az épp lejátszott hullámmintában </td></tr>
  2121. <tr><td>2 </td><td class="right">1 </td><td>aktuális hullámminta (1-től 31-ig, 0 ha a csatorna nem szól) </td></tr>
  2122. <tr><td>3 </td><td class="right">1 </td><td>aktuális hangerő (0 ha a csatorna ki van kapcsolva) </td></tr></table></div>
  2123. <p>Az első 4 csatorna a zenéé, a többi a hangeffekteké.</p>
  2124. <p>A hullámminták esetén a 0-ás index nincs tárolva, mivel azt jelenti, "használd a korábbi mintát", ezért ez nem használható
  2125. a választóban. Az összes többi hullámminta formátuma:</p>
  2126. <div class="table"><table><tr><th>Cím </th><th>Méret </th><th>Leírás </th></tr>
  2127. <tr><td>0 </td><td class="right">2 </td><td>minták száma </td></tr>
  2128. <tr><td>2 </td><td class="right">2 </td><td>ismétlés kezdete </td></tr>
  2129. <tr><td>4 </td><td class="right">2 </td><td>ismétlés hossza </td></tr>
  2130. <tr><td>6 </td><td class="right">1 </td><td>finomhangolás, -8-tól 7-ig </td></tr>
  2131. <tr><td>7 </td><td class="right">1 </td><td>hangerő, 0-tól 64-ig </td></tr>
  2132. <tr><td>8 </td><td class="right">16376 </td><td>előjeles 8-bites mono minták </td></tr></table></div>
  2133. <p>A hangeffektek és a zenei sávok formátuma ugyanaz, csak annyi a különbség, hogy a zenéknél 4 hangjegy van soronként, minden
  2134. csatornához egy-egy és 1024 sor van összesen; míg a hangeffekteknél csak egy hangjegy van és 64 sor.</p>
  2135. <div class="table"><table><tr><th>Cím </th><th>Méret </th><th>Leírás </th></tr>
  2136. <tr><td>0 </td><td class="right">1 </td><td>hangjegy, lásd <samp>NOTE_x</samp> defineok, 0-tól 96-ig </td></tr>
  2137. <tr><td>1 </td><td class="right">1 </td><td>hullámminta index, 0-tól 31-ig </td></tr>
  2138. <tr><td>2 </td><td class="right">1 </td><td>effekt típusa, 0-tól 255-ig (lásd <a href="#hangjegyeffektek" onclick="c('hangjegyeffektek')">hangjegyeffektek</a>) </td></tr>
  2139. <tr><td>3 </td><td class="right">1 </td><td>effekt paraméter </td></tr></table></div>
  2140. <p>A hangjegy sorszáma a következő: a 0 azt jelenti, nincs beállítva. A többi pedig 8 oktávonként 12 érték, azaz az 1-es a C-0,
  2141. 12-es a B-0 (a legmélyebb oktávon), 13-as a C-1 (egy oktávval magasabb), a 14-es pedig a C#1 (cisz, fél hanggal magasabb).
  2142. A D hang a 4. oktávon tehát 1 + 4*12 + 2 = 51. A B-7 a 96-os, a legmagasabb hang a legmagasabb oktávon. De vannak
  2143. define-ok hozzájuk, például a C-1 a <samp>NOTE_C_1</samp> és a C#1 az <samp>NOTE_Cs1</samp>, ha nem akarsz számolni, akkor használhatod ezeket is a
  2144. programodban.</p>
  2145. <h2 id="hangjegyeffektek">Hangjegyeffektek<a href="#hangjegyeffektek"></a></h2>
  2146. <p>Az egyszerűség kedvéért a MEG-4 ugyanazokat az effektkódokat használja, mint az Amiga MOD fájlok (így ugyanazt látod a beépített
  2147. zeneszerkesztőben mint egy külsős trackerben), de nem támogatja az összeset. Mint korábban említettük, ezek a kódok három hexa
  2148. számból állnak, az első a típus <samp>t</samp>, az utolsó kettő pedig a paraméter, <samp>xy</samp> (vagy <samp>xx</samp>). Az <samp>E1</samp>-től <samp>ED</samp>-ig mind a típus bájtban van
  2149. tárolva, annak ellenére, hogy úgy látszik, egy tetrádja a paraméterbe lóg, pedig nem is.</p>
  2150. <div class="table"><table><tr><th>Effekt </th><th>Kód </th><th>Leírás </th></tr>
  2151. <tr><td>... </td><td>000 </td><td>Nincs effekt </td></tr>
  2152. <tr><td>Arp </td><td>0xy </td><td>Arpeggio, játszd le a hangot, hang+x, hang+y félhangot is </td></tr>
  2153. <tr><td>Po/ </td><td>1xx </td><td>Portamento fel, periódus csúsztatása x-el felfelé </td></tr>
  2154. <tr><td>Po\ </td><td>2xx </td><td>Portamento le, periódus csúsztatása x-el lefelé </td></tr>
  2155. <tr><td>Ptn </td><td>3xx </td><td>Tone portamento, periódus csúsztatása x-re </td></tr>
  2156. <tr><td>Vib </td><td>4xy </td><td>Vibrato, y félhanggal oszcillálja a magasságot x freken </td></tr>
  2157. <tr><td>Ctv </td><td>5xy </td><td>Tone portamento folyt. + hangerőcsúsztatás x fel vagy y le </td></tr>
  2158. <tr><td>Cvv </td><td>6xy </td><td>Vibrato folyt. + hangerőcsúsztatás x fel vagy y le </td></tr>
  2159. <tr><td>Trm </td><td>7xy </td><td>Tremolo, y amplitudóval oszcillálja a hangerőt x freken </td></tr>
  2160. <tr><td>Ofs </td><td>9xx </td><td>Hanghullám minta kezdjen x * 256 pozíción </td></tr>
  2161. <tr><td>Vls </td><td>Axy </td><td>Hangerőcsúsztatás x fel vagy y le </td></tr>
  2162. <tr><td>Jmp </td><td>Bxx </td><td>Pozícióugrás, a x * 64 -dik sorra </td></tr>
  2163. <tr><td>Vol </td><td>Cxx </td><td>Hangerő beállítása x-re (0 és 64 közötti) </td></tr>
  2164. <tr><td>Fp/ </td><td>E1x </td><td>Finom portamento fel, periódus növelése x-el </td></tr>
  2165. <tr><td>Fp\ </td><td>E2x </td><td>Finom portamento le, periódus csökkentése x-el </td></tr>
  2166. <tr><td>Svw </td><td>E4x </td><td>Vibrato hullámtípusa, 0 szinusz, 1 fűrész, 2 négyzet, 3 zaj</td></tr>
  2167. <tr><td>Ftn </td><td>E5x </td><td>Finomhangolás, tunningolás beállítása x-re (-8-tól 7-ig) </td></tr>
  2168. <tr><td>Stw </td><td>E7x </td><td>Tremolo hullámtípusa, 0 szinusz, 1 fűrész, 2 négyzet, 3 zaj</td></tr>
  2169. <tr><td>Rtg </td><td>E9x </td><td>Hang újrázás, a hullám újrakezdése x tikkenként </td></tr>
  2170. <tr><td>Fv/ </td><td>EAx </td><td>Finom hangerő csúsztatás felfelé, x-el </td></tr>
  2171. <tr><td>Fv\ </td><td>EBx </td><td>Finom hangerő csúsztatás lefelé, x-el </td></tr>
  2172. <tr><td>Cut </td><td>ECx </td><td>Hang elvágása x tikknél </td></tr>
  2173. <tr><td>Dly </td><td>EDx </td><td>Hang késleltetése x tikkel </td></tr>
  2174. <tr><td>Tpr </td><td>Fxx </td><td>Soronkénti tikkszám beállítása x-re (alapból 6) </td></tr></table></div>
  2175. <h2 id="felhasznaloi_memoria">Felhasználói memória<a href="#felhasznaloi_memoria"></a></h2>
  2176. <p>A 00000-tól 2FFFF-ig terjedő memóriacímek az MMIO-é, minden más fölötte (a 30000 címtől avagy <samp>MEM_USER</samp>-tól kezdve) szabadon
  2177. hasznosítható felhasználói memória.</p>
  2178. <div class="table"><table><tr><th>Cím </th><th>Méret </th><th>Leírás </th></tr>
  2179. <tr><td>30000 </td><td class="right">4 </td><td>(csak BASIC) a DATA címe </td></tr>
  2180. <tr><td>30004 </td><td class="right">4 </td><td>(csak BASIC) aktulális READ számláló </td></tr>
  2181. <tr><td>30008 </td><td class="right">4 </td><td>(csak BASIC) maximum READ számláló, DATA elemszáma </td></tr></table></div>
  2182. <p>Ezt követi a globális változók blokkja, amiket a programodban deklaráltál, azt pedig a konstansok, mint például a sztring
  2183. literálok. A BASIC nyelv esetén ezután jönnek a tényleges DATA rekordok.</p>
  2184. <p>Az inicializált adatok feletti memóriacímeket dinamikusan allokálhatod és felszabadíthatod a programodból a <a href="#malloc" onclick="c('malloc')">malloc</a> és <a href="#free" onclick="c('free')">free</a> hívásokkal.</p>
  2185. <p>Végezetül pedig a verem, a memória legtetején (a C0000-ás címtől avagy <samp>MEM_LIMIT</samp>-től kezdődően), ami <i>lefele</i> növekszik. A
  2186. programod lokális változói (amiket függvényeken belül deklaráltál) ide kerülnek. A verem mérete folyton változik, attól függően,
  2187. hogy épp melyik függvény hív melyik másik függvényt a programodban.</p>
  2188. <p>Amennyiben a dinamikusan allokált memória teteje és a verem alja összeérne, akkor a MEG-4 egy "Nincs elég memória" hibaüzenetet
  2189. dob.</p>
  2190. <h2 id="formazo_sztring">Formázó sztring<a href="#formazo_sztring"></a></h2>
  2191. <p>Néhány függvény, a <a href="#printf" onclick="c('printf')">printf</a>, <a href="#sprintf" onclick="c('sprintf')">sprintf</a> és a <a href="#trace" onclick="c('trace')">trace</a> formázó sztringet használ, amiben speciális karakterek lehetnek, amik a paraméterekre
  2192. hivatkoznak és előírják, hogyan kell azokat megjeleníteni. Ezek a következők:</p>
  2193. <div class="table"><table><tr><th>Kód </th><th>Leírás </th></tr>
  2194. <tr><td><samp>%%</samp> </td><td>A <samp>%</samp> karakter maga </td></tr>
  2195. <tr><td><samp>%d</samp> </td><td>A soronkövetkező paramétert decimális számként írja ki </td></tr>
  2196. <tr><td><samp>%u</samp> </td><td>A soronkövetkező paramétert pozitív számként írja ki </td></tr>
  2197. <tr><td><samp>%x</samp> </td><td>A soronkövetkező paramétert hexadecimális számként írja ki </td></tr>
  2198. <tr><td><samp>%o</samp> </td><td>A soronkövetkező paramétert oktális számként írja ki </td></tr>
  2199. <tr><td><samp>%b</samp> </td><td>A soronkövetkező paramétert bináris számként írja ki </td></tr>
  2200. <tr><td><samp>%f</samp> </td><td>A soronkövetkező paramétert lebegőpontos számként írja ki </td></tr>
  2201. <tr><td><samp>%s</samp> </td><td>A soronkövetkező paramétert sztringként kell kiírni </td></tr>
  2202. <tr><td><samp>%c</samp> </td><td>A soronkövetkező paramétert UTF-8 karakterként kell kiírni </td></tr>
  2203. <tr><td><samp>%p</samp> </td><td>A soronkövetkező paramétert címként írja ki (pointer) </td></tr>
  2204. <tr><td><samp>\t</samp> </td><td>Tab, igazítsd vízszintesen a pozíciót kiírás előtt </td></tr>
  2205. <tr><td><samp>\n</samp> </td><td>Kezd új sorban a kiírást </td></tr></table></div>
  2206. <p>Megadható kitöltés a <samp>%</samp> és a kód közötti méret megadásával. Ha ez <samp>0</samp>-val kezdődik, akkor nullával tölt ki, egyébként szóközzel.
  2207. Például a <samp>%4d</samp> jobbra fogja igazítani az értéket szóközökkel, míg a <samp>%04x</samp> nullákkal teszi ezt. Az <samp>f</samp> elfogad pontot és egy számot
  2208. utána, ami a tizedesjegyek számát adja meg (egészen 8-ig), például <samp>%.6f</samp>.</p>
  2209. <h2 id="3d_s_ter">3D-s Tér<a href="#3d_s_ter"></a></h2>
  2210. <p>MEG-4 alatt a 3 dimenziós tér a jobbkéz szabály szerint van értelmezve: +X van jobbra, +Y felfelé, és a +Z pedig a néző felé.</p>
  2211. <div class="pre"><pre>
  2212. +Y
  2213. |
  2214. |__ +X
  2215. /
  2216. +Z
  2217. </pre></div>
  2218. <p>Minden pont a -32767 és +32767 közé esik. Hogy ez a 3D-s világ hogyan képeződik le a 2D-s képernyődre, az azon múlik, hogy
  2219. hogyan állítottad be a kamerát (lásd <a href="#grafikus_feldolgozo_egyseg" onclick="c('grafikus_feldolgozo_egyseg')">Grafikus Feldolgozó Egység</a> 0049E-as cím). Természetesen meg kell mondanod az X, Y és Z
  2220. koordináták megadásával, hol van a kamera a világban. Aztán meg kell azt is adni, merre néz, a dőlésszöggel és a fordulási szöggel.
  2221. Végezetül meg kell adni a lencse típusát a látószöggel (field of view, FOV). Ez utóbbi általában 30 (nagyon szűk) és 180 fok (mint
  2222. a halak vagy madarak) közé esik. A MEG-4 127 fokig kezeli ezt, de van egy trükk. A pozitív FOV értékek perspektivikusan lesznek
  2223. leképezve (minnél távolabbi egy tárgy, annál kissebb), de negatív értéket is elfogad, ami viszont ortografikus leképezést jelent
  2224. (nem számít a távolság, a tárgy mindig ugyanakkora). A perspektívát az FPS játékok használják, míg az ortografikus leképezést
  2225. általában a stratégiai játékok részesítik előnyben.</p>
  2226. <p>Több háromszög együtt (teljes 3D-s modell) hatékonyan jeleníthető meg a <a href="#mesh" onclick="c('mesh')">mesh</a> funkcióval. Mivel a modellek valószínűleg lokális
  2227. koordinátákban vannak megadva, ezért ez minden modellt egymásra rajzol az origó körül. Ha több modellt is szeretnél megjeleníteni a
  2228. világban, ezért azokat először transzformálni kell (el kell helyezni) a világ koordinátáira a <a href="#trns" onclick="c('trns')">trns</a> hívásával, és a transzformált
  2229. vertex halmazt kell a <a href="#mesh" onclick="c('mesh')">mesh</a>-nek megadni (a forgatás és az áthelyezés nem változtatja meg a háromszögeket, csak a koordinátáikat).</p>
  2230. <h2 id="kod_szerkeszto_gyorsbillentyuk">Kód Szerkesztő gyorsbillentyűk<a href="#kod_szerkeszto_gyorsbillentyuk"></a></h2>
  2231. <p>A szokásos <a href="#billentyuzet" onclick="c('billentyuzet')">billentyűzet</a> kombinációkon túl a forráskód szerkesztéskor elérhető még:</p>
  2232. <div class="table"><table><tr><th>Billentyű </th><th>Leírás </th></tr>
  2233. <tr><td><kbd>Ctrl</kbd>+<kbd>F</kbd> </td><td>Sztring keresése </td></tr>
  2234. <tr><td><kbd>Ctrl</kbd>+<kbd>G</kbd> </td><td>Következő keresése </td></tr>
  2235. <tr><td><kbd>Ctrl</kbd>+<kbd>H</kbd> </td><td>Keresés és csere (a kijelöltben, vagy ha az nincs, akkor az egész forrásban) </td></tr>
  2236. <tr><td><kbd>Ctrl</kbd>+<kbd>J</kbd> </td><td>Megadott sorra ugrás </td></tr>
  2237. <tr><td><kbd>Ctrl</kbd>+<kbd>D</kbd> </td><td>Funkció definíciójához ugrás </td></tr>
  2238. <tr><td><kbd>Ctrl</kbd>+<kbd>N</kbd> </td><td>Könyvjelzők listája </td></tr>
  2239. <tr><td><kbd>Ctrl</kbd>+<kbd>B</kbd> </td><td>Könyvjelző ki/bekapcsolása az aktuális soron </td></tr>
  2240. <tr><td><kbd>Ctrl</kbd>+<kbd>▴</kbd> </td><td>Előző könyvjelzőhöz ugrás </td></tr>
  2241. <tr><td><kbd>Ctrl</kbd>+<kbd>▾</kbd> </td><td>Következő könyvjelzőhöz ugrás </td></tr>
  2242. <tr><td><kbd>Ctrl</kbd>+<kbd>◂</kbd> </td><td>Ugrás az előző szó elejére </td></tr>
  2243. <tr><td><kbd>Ctrl</kbd>+<kbd>▸</kbd> </td><td>Ugrás a következő szó végére </td></tr>
  2244. <tr><td><kbd>Ctrl</kbd>+<kbd>,</kbd> </td><td>Behúzás csökkentése a kijelölt területen </td></tr>
  2245. <tr><td><kbd>Ctrl</kbd>+<kbd>.</kbd> </td><td>Behúzás növelése a kijelölt területen </td></tr>
  2246. <tr><td><kbd>Home</kbd> </td><td>Kurzor mozgatása a sor elejére </td></tr>
  2247. <tr><td><kbd>End</kbd> </td><td>Kurzor mozgatása a sor végége </td></tr>
  2248. <tr><td><kbd>PgUp</kbd> </td><td>Kurzor mozgatása 42 sorral (egy oldallal) feljebb </td></tr>
  2249. <tr><td><kbd>PgDown</kbd> </td><td>Kurzor mozgatása 42 sorral (egy oldallal) lejjebb </td></tr>
  2250. <tr><td><kbd>F1</kbd> </td><td>Ha a kurzor egy API paraméterlistáján áll, akkor az a funkció súgójára visz </td></tr></table></div>
  2251. <p>A platform billentyűzetkiosztásától függetlenül, minden programozáshoz szükséges karakter (és még pár) mindig elérhető:</p>
  2252. <div class="table"><table><tr><th>Bal <kbd>Alt</kbd> + </th></tr>
  2253. <tr><td><kbd> </kbd> <kbd>(</kbd> <kbd>)</kbd> <kbd>{</kbd> <kbd>}</kbd> <kbd>〈</kbd> <kbd>〉</kbd> <kbd>!</kbd> <kbd>^</kbd> <kbd>_</kbd> <kbd>-</kbd> <kbd>=</kbd> </td></tr>
  2254. <tr><td><kbd>⇥</kbd> <kbd> </kbd> <kbd> </kbd> <kbd>€</kbd> <kbd>₹</kbd> <kbd>~</kbd> <kbd>¥</kbd> <kbd> </kbd> <kbd> </kbd> <kbd>°</kbd> <kbd>&quot;</kbd> <kbd>[</kbd> <kbd>]</kbd> </td></tr>
  2255. <tr><td><kbd>↨</kbd> <kbd>&amp;</kbd> <kbd>$</kbd> <kbd>@</kbd> <kbd>¦</kbd> <kbd> </kbd> <kbd>#</kbd> <kbd> </kbd> <kbd> </kbd> <kbd>£</kbd> <kbd>;</kbd> <kbd>'</kbd> <kbd>\</kbd> </td></tr>
  2256. <tr><td><kbd>⇮</kbd> <kbd>:</kbd> <kbd>?</kbd> <kbd> </kbd> <kbd>元</kbd> <kbd>%</kbd> <kbd>+</kbd> <kbd>✶</kbd> <kbd>,</kbd> <kbd>.</kbd> <kbd>/</kbd> </td></tr></table></div>
  2257. <p>Lásd még a menüben a további alternatív beviteli módokat és azok gyorsbillentyűit.</p><br style="clear:both;"><label class="btn prev" accesskey="p" for="_lua" title="Lua">Előző</label><label class="btn next" accesskey="n" for="_konzol" title="Konzol">Következő</label></div>
  2258. <div class="page" rel="konzol"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;API Referencia&nbsp;»</li><li>&nbsp;Konzol</li></ul><hr></div>
  2259. <h1 id="konzol">Konzol<a href="#konzol"></a></h1>
  2260. <h2 id="putc">putc<a href="#putc"></a></h2>
  2261. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">putc</span>(<span class="hl_t">uint32_t</span> <span class="hl_v">chr</span>)</code></div>
  2262. <dl>
  2263. <dt>Leírás</dt><dd>
  2264. Kiír egy karaktert a képernyőre.</dd>
  2265. <dt>Paraméterek</dt><dd>
  2266. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2267. <tr><td>chr </td><td>UTF-8 karakter </td></tr></table></div></dd></dl>
  2268. <hr>
  2269. <h2 id="printf">printf<a href="#printf"></a></h2>
  2270. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">printf</span>(<span class="hl_t">str_t</span> <span class="hl_v">fmt</span>, <span class="hl_o">...</span>)</code></div>
  2271. <dl>
  2272. <dt>Leírás</dt><dd>
  2273. Kiír egy szöveget a képernyőre.</dd>
  2274. <dt>Paraméterek</dt><dd>
  2275. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2276. <tr><td>fmt </td><td>megjelenítendő <a href="#formazo_sztring" onclick="c('formazo_sztring')">formázó sztring</a> </td></tr>
  2277. <tr><td>... </td><td>opcionális paraméterek </td></tr></table></div></dd></dl>
  2278. <hr>
  2279. <h2 id="getc">getc<a href="#getc"></a></h2>
  2280. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">uint32_t</span> <span class="hl_f">getc</span>(<span class="hl_t">void</span>)</code></div>
  2281. <dl>
  2282. <dt>Leírás</dt><dd>
  2283. Beolvas egy karaktert a konzolról, blokkolódik, ha nincs mit.</dd>
  2284. <dt>Visszatérési érték</dt><dd>
  2285. Egy UTF-8 karakter, amit a felhasználó leütött.</dd>
  2286. <dt>Lásd még</dt><dd>
  2287. <a href="#popkey" onclick="c('popkey')">popkey</a></dd></dl>
  2288. <hr>
  2289. <h2 id="gets">gets<a href="#gets"></a></h2>
  2290. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">str_t</span> <span class="hl_f">gets</span>(<span class="hl_t">void</span>)</code></div>
  2291. <dl>
  2292. <dt>Leírás</dt><dd>
  2293. Bekér egy újsor karakterrel lezárt szöveget a felhasználótól (az újsor karaktert nem adja vissza).</dd>
  2294. <dt>Visszatérési érték</dt><dd>
  2295. A beolvasott bájtok egy sztringben.</dd></dl>
  2296. <hr>
  2297. <h2 id="trace">trace<a href="#trace"></a></h2>
  2298. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">trace</span>(<span class="hl_t">str_t</span> <span class="hl_v">fmt</span>, <span class="hl_o">...</span>)</code></div>
  2299. <dl>
  2300. <dt>Leírás</dt><dd>
  2301. A futás jelzése a kimenetre való írással. Csak akkor működik, ha a <samp>meg4</samp> a <samp>-v</samp> kapcsolóval lett indítva.</dd>
  2302. <dt>Paraméterek</dt><dd>
  2303. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2304. <tr><td>fmt </td><td><a href="#formazo_sztring" onclick="c('formazo_sztring')">formázó sztring</a> </td></tr>
  2305. <tr><td>... </td><td>opcionális paraméterek </td></tr></table></div></dd></dl>
  2306. <hr>
  2307. <h2 id="delay">delay<a href="#delay"></a></h2>
  2308. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">delay</span>(<span class="hl_t">uint16_t</span> <span class="hl_v">msec</span>)</code></div>
  2309. <dl>
  2310. <dt>Leírás</dt><dd>
  2311. Késlelteti a programod végrehajtását.</dd>
  2312. <dt>Paraméterek</dt><dd>
  2313. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2314. <tr><td>msec </td><td>késleltetés ezredmásodpercekben </td></tr></table></div></dd></dl>
  2315. <hr>
  2316. <h2 id="exit">exit<a href="#exit"></a></h2>
  2317. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">exit</span>(<span class="hl_t">void</span>)</code></div>
  2318. <dl>
  2319. <dt>Leírás</dt><dd>
  2320. Kilép a programból.</dd></dl><br style="clear:both;"><label class="btn prev" accesskey="p" for="_memoriaterkep" title="Memóriatérkép">Előző</label><label class="btn next" accesskey="n" for="_audio" title="Audió">Következő</label></div>
  2321. <div class="page" rel="audio"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;API Referencia&nbsp;»</li><li>&nbsp;Audió</li></ul><hr></div>
  2322. <h1 id="audio">Audió<a href="#audio"></a></h1>
  2323. <h2 id="sfx">sfx<a href="#sfx"></a></h2>
  2324. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">sfx</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">sfx</span>, <span class="hl_t">uint8_t</span> <span class="hl_v">channel</span>, <span class="hl_t">uint8_t</span> <span class="hl_v">volume</span>)</code></div>
  2325. <dl>
  2326. <dt>Leírás</dt><dd>
  2327. Lejátszik egy hangeffektet.</dd>
  2328. <dt>Paraméterek</dt><dd>
  2329. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2330. <tr><td>sfx </td><td>a hangeffekt indexe, 0-tól 63-ig </td></tr>
  2331. <tr><td>channel </td><td>használni kívánt csatorna, 0-tól 11-ig </td></tr>
  2332. <tr><td>volume </td><td>hangerő, 0-tól 255-ig, 0 kikapcsolja a csatornát </td></tr></table></div></dd></dl>
  2333. <hr>
  2334. <h2 id="music">music<a href="#music"></a></h2>
  2335. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">music</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">track</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">row</span>, <span class="hl_t">uint8_t</span> <span class="hl_v">volume</span>)</code></div>
  2336. <dl>
  2337. <dt>Leírás</dt><dd>
  2338. Lejátszik egy zenesávot.</dd>
  2339. <dt>Paraméterek</dt><dd>
  2340. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2341. <tr><td>track </td><td>a zenesáv indexe, 0-tól 7-ig </td></tr>
  2342. <tr><td>row </td><td>amelyik sortól kezdve kell lejátszani, 0-tól 1023-ig (max sávhossz) </td></tr>
  2343. <tr><td>volume </td><td>hangerő, 0-tól 255-ig, 0 kikapcsolja a zenét </td></tr></table></div></dd></dl><br style="clear:both;"><label class="btn prev" accesskey="p" for="_konzol" title="Konzol">Előző</label><label class="btn next" accesskey="n" for="_gpio" title="GPIO">Következő</label></div>
  2344. <div class="page" rel="gpio"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;API Referencia&nbsp;»</li><li>&nbsp;GPIO</li></ul><hr></div>
  2345. <h1 id="gpio">GPIO<a href="#gpio"></a></h1>
  2346. <h2 id="gpio_rev">gpio_rev<a href="#gpio_rev"></a></h2>
  2347. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">uint32_t</span> <span class="hl_f">gpio_rev</span>(<span class="hl_t">void</span>)</code></div>
  2348. <dl>
  2349. <dt>Leírás</dt><dd>
  2350. Lekérdezi a GPIO board revíziós számát. 0-át ad vissza, ha a platformon nincs GPIO.</dd>
  2351. <dt>Visszatérési érték</dt><dd>
  2352. Board revíziós szám, vagy 0 ha nem támogatott.</dd></dl>
  2353. <hr>
  2354. <h2 id="gpio_get">gpio_get<a href="#gpio_get"></a></h2>
  2355. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_f">gpio_get</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">pin</span>)</code></div>
  2356. <dl>
  2357. <dt>Leírás</dt><dd>
  2358. Kiolvassa egy GPIO tüske értékét.</dd>
  2359. <dt>Paraméterek</dt><dd>
  2360. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2361. <tr><td>pin </td><td>fizikai tüske száma, 1-től 40-ig </td></tr></table></div></dd>
  2362. <dt>Visszatérési érték</dt><dd>
  2363. 1-el tér vissza, ha a tüske magas, 0-ával ha alacsony, -1 ha hiba történt (a GPIO tüske nem támogatott).</dd>
  2364. <dt>Lásd még</dt><dd>
  2365. <a href="#gpio_set" onclick="c('gpio_set')">gpio_set</a></dd></dl>
  2366. <hr>
  2367. <h2 id="gpio_set">gpio_set<a href="#gpio_set"></a></h2>
  2368. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_f">gpio_set</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">pin</span>, <span class="hl_t">int</span> <span class="hl_v">value</span>)</code></div>
  2369. <dl>
  2370. <dt>Leírás</dt><dd>
  2371. Beállítja egy GPIO tüske értékét.</dd>
  2372. <dt>Paraméterek</dt><dd>
  2373. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2374. <tr><td>pin </td><td>fizikai tüske száma, 1-től 40-ig </td></tr>
  2375. <tr><td>value </td><td>1 magasra kapcsolja a tüskét, 0 alacsonyra. </td></tr></table></div></dd>
  2376. <dt>Visszatérési érték</dt><dd>
  2377. 0-val tér vissza, ha sikeres volt, -1-el hiba esetén (a GPIO tüske nem támogatott).</dd>
  2378. <dt>Lásd még</dt><dd>
  2379. <a href="#gpio_get" onclick="c('gpio_get')">gpio_get</a></dd></dl><br style="clear:both;"><label class="btn prev" accesskey="p" for="_audio" title="Audió">Előző</label><label class="btn next" accesskey="n" for="_grafika" title="Grafika">Következő</label></div>
  2380. <div class="page" rel="grafika"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;API Referencia&nbsp;»</li><li>&nbsp;Grafika</li></ul><hr></div>
  2381. <h1 id="grafika">Grafika<a href="#grafika"></a></h1>
  2382. <h2 id="cls">cls<a href="#cls"></a></h2>
  2383. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">cls</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">palidx</span>)</code></div>
  2384. <dl>
  2385. <dt>Leírás</dt><dd>
  2386. Törli a képernyőt és alaphelyzetbe állítja a megjelenítő ablakát.</dd>
  2387. <dt>Paraméterek</dt><dd>
  2388. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2389. <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr></table></div></dd>
  2390. <dt>Lásd még</dt><dd>
  2391. <a href="#pget" onclick="c('pget')">pget</a>, <a href="#pset" onclick="c('pset')">pset</a></dd></dl>
  2392. <hr>
  2393. <h2 id="cget">cget<a href="#cget"></a></h2>
  2394. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">uint32_t</span> <span class="hl_f">cget</span>(<span class="hl_t">uint16_t</span> <span class="hl_v">x</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">y</span>)</code></div>
  2395. <dl>
  2396. <dt>Leírás</dt><dd>
  2397. Kiolvassa a megadott koordinátán lévő pixelt, és RGBA színt ad vissza.</dd>
  2398. <dt>Paraméterek</dt><dd>
  2399. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2400. <tr><td>x </td><td>X koordináta pixelben </td></tr>
  2401. <tr><td>y </td><td>Y koordináta pixelben </td></tr></table></div></dd>
  2402. <dt>Visszatérési érték</dt><dd>
  2403. Egy csomagolt színkód, RGBA csatornákkal (piros a legalacsonyabb bájtban).</dd>
  2404. <dt>Lásd még</dt><dd>
  2405. <a href="#cls" onclick="c('cls')">cls</a>, <a href="#pget" onclick="c('pget')">pget</a>, <a href="#pset" onclick="c('pset')">pset</a></dd></dl>
  2406. <hr>
  2407. <h2 id="pget">pget<a href="#pget"></a></h2>
  2408. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">uint8_t</span> <span class="hl_f">pget</span>(<span class="hl_t">uint16_t</span> <span class="hl_v">x</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">y</span>)</code></div>
  2409. <dl>
  2410. <dt>Leírás</dt><dd>
  2411. Kiolvassa a megadott koordinátán lévő pixelt, és paletta indexet ad vissza.</dd>
  2412. <dt>Paraméterek</dt><dd>
  2413. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2414. <tr><td>x </td><td>X koordináta pixelben </td></tr>
  2415. <tr><td>y </td><td>Y koordináta pixelben </td></tr></table></div></dd>
  2416. <dt>Visszatérési érték</dt><dd>
  2417. Szín paletta indexe, 0-tól 255-ig.</dd>
  2418. <dt>Lásd még</dt><dd>
  2419. <a href="#cls" onclick="c('cls')">cls</a>, <a href="#pset" onclick="c('pset')">pset</a>, <a href="#cget" onclick="c('cget')">cget</a></dd></dl>
  2420. <hr>
  2421. <h2 id="pset">pset<a href="#pset"></a></h2>
  2422. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">pset</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">palidx</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">x</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">y</span>)</code></div>
  2423. <dl>
  2424. <dt>Leírás</dt><dd>
  2425. Kirak egy pixelt a megadott koordinátára.</dd>
  2426. <dt>Paraméterek</dt><dd>
  2427. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2428. <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
  2429. <tr><td>x </td><td>X koordináta pixelben </td></tr>
  2430. <tr><td>y </td><td>Y koordináta pixelben </td></tr></table></div></dd>
  2431. <dt>Lásd még</dt><dd>
  2432. <a href="#cls" onclick="c('cls')">cls</a>, <a href="#pget" onclick="c('pget')">pget</a></dd></dl>
  2433. <hr>
  2434. <h2 id="width">width<a href="#width"></a></h2>
  2435. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">uint16_t</span> <span class="hl_f">width</span>(<span class="hl_t">int8_t</span> <span class="hl_v">type</span>, <span class="hl_t">str_t</span> <span class="hl_v">str</span>)</code></div>
  2436. <dl>
  2437. <dt>Leírás</dt><dd>
  2438. Visszaadja a megjelenítendő szöveg szélességét pixelekben.</dd>
  2439. <dt>Paraméterek</dt><dd>
  2440. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2441. <tr><td>type </td><td>betűtípus, -4-től 4-ig </td></tr>
  2442. <tr><td>str </td><td>megmérendő sztring </td></tr></table></div></dd>
  2443. <dt>Visszatérési érték</dt><dd>
  2444. A szöveg megjelenítéshez szükséges pixelek száma.</dd>
  2445. <dt>Lásd még</dt><dd>
  2446. <a href="#text" onclick="c('text')">text</a></dd></dl>
  2447. <hr>
  2448. <h2 id="text">text<a href="#text"></a></h2>
  2449. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">text</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">palidx</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y</span>, <span class="hl_t">int8_t</span> <span class="hl_v">type</span>, <span class="hl_t">uint8_t</span> <span class="hl_v">shidx</span>, <span class="hl_t">uint8_t</span> <span class="hl_v">sha</span>, <span class="hl_t">str_t</span> <span class="hl_v">str</span>)</code></div>
  2450. <dl>
  2451. <dt>Leírás</dt><dd>
  2452. Szöveget ír ki a képernyőre.</dd>
  2453. <dt>Paraméterek</dt><dd>
  2454. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2455. <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
  2456. <tr><td>x </td><td>X koordináta pixelben </td></tr>
  2457. <tr><td>y </td><td>Y koordináta pixelben </td></tr>
  2458. <tr><td>type </td><td>betűtípus, -4-től -1-ig monospace, 1-től 4-ig proporcionális </td></tr>
  2459. <tr><td>shidx </td><td>árnyék színe, paletta index 0-tól 255-ig </td></tr>
  2460. <tr><td>sha </td><td>árnyék átlátszósága, 0-tól (teljesen átlátszó) 255-ig (semennyire) </td></tr>
  2461. <tr><td>str </td><td>megjelenítendő sztring </td></tr></table></div></dd>
  2462. <dt>Lásd még</dt><dd>
  2463. <a href="#width" onclick="c('width')">width</a></dd></dl>
  2464. <hr>
  2465. <h2 id="line">line<a href="#line"></a></h2>
  2466. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">line</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">palidx</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x1</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y1</span>)</code></div>
  2467. <dl>
  2468. <dt>Leírás</dt><dd>
  2469. Húz egy anti-aliasolt vonalat.</dd>
  2470. <dt>Paraméterek</dt><dd>
  2471. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2472. <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
  2473. <tr><td>x0 </td><td>induló X koordináta pixelekben </td></tr>
  2474. <tr><td>y0 </td><td>induló Y koordináta pixelekben </td></tr>
  2475. <tr><td>x1 </td><td>vége X koordináta pixelekben </td></tr>
  2476. <tr><td>y1 </td><td>vége Y koordináta pixelekben </td></tr></table></div></dd>
  2477. <dt>Lásd még</dt><dd>
  2478. <a href="#qbez" onclick="c('qbez')">qbez</a>, <a href="#cbez" onclick="c('cbez')">cbez</a></dd></dl>
  2479. <hr>
  2480. <h2 id="qbez">qbez<a href="#qbez"></a></h2>
  2481. <div class="pre"><pre class="lineno">1<br>2<br></pre><code><span class="hl_t">void</span> <span class="hl_f">qbez</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">palidx</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x1</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y1</span>,
  2482. <span class="hl_t">int16_t</span> <span class="hl_v">cx</span>, <span class="hl_t">int16_t</span> <span class="hl_v">cy</span>)</code></div>
  2483. <dl>
  2484. <dt>Leírás</dt><dd>
  2485. Négyzetes (quadratic) Bezier ív húzása.</dd>
  2486. <dt>Paraméterek</dt><dd>
  2487. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2488. <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
  2489. <tr><td>x0 </td><td>induló X koordináta pixelekben </td></tr>
  2490. <tr><td>y0 </td><td>induló Y koordináta pixelekben </td></tr>
  2491. <tr><td>x1 </td><td>vége X koordináta pixelekben </td></tr>
  2492. <tr><td>y1 </td><td>vége Y koordináta pixelekben </td></tr>
  2493. <tr><td>cx </td><td>kontrollpont X koordináta pixelekben </td></tr>
  2494. <tr><td>cy </td><td>kontrollpont Y koordináta pixelekben </td></tr></table></div></dd>
  2495. <dt>Lásd még</dt><dd>
  2496. <a href="#line" onclick="c('line')">line</a>, <a href="#cbez" onclick="c('cbez')">cbez</a></dd></dl>
  2497. <hr>
  2498. <h2 id="cbez">cbez<a href="#cbez"></a></h2>
  2499. <div class="pre"><pre class="lineno">1<br>2<br></pre><code><span class="hl_t">void</span> <span class="hl_f">cbez</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">palidx</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x1</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y1</span>,
  2500. <span class="hl_t">int16_t</span> <span class="hl_v">cx0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">cy0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">cx1</span>, <span class="hl_t">int16_t</span> <span class="hl_v">cy1</span>)</code></div>
  2501. <dl>
  2502. <dt>Leírás</dt><dd>
  2503. Köbös (cubic) Bezier ív húzása.</dd>
  2504. <dt>Paraméterek</dt><dd>
  2505. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2506. <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
  2507. <tr><td>x0 </td><td>induló X koordináta pixelekben </td></tr>
  2508. <tr><td>y0 </td><td>induló Y koordináta pixelekben </td></tr>
  2509. <tr><td>x1 </td><td>vége X koordináta pixelekben </td></tr>
  2510. <tr><td>y1 </td><td>vége Y koordináta pixelekben </td></tr>
  2511. <tr><td>cx0 </td><td>első kontrollpont X koordinátája pixelekben </td></tr>
  2512. <tr><td>cy0 </td><td>első kontrollpont Y koordinátája pixelekben </td></tr>
  2513. <tr><td>cx1 </td><td>második kontrollpont X koordinátája pixelekben </td></tr>
  2514. <tr><td>cy1 </td><td>második kontrollpont Y koordinátája pixelekben </td></tr></table></div></dd>
  2515. <dt>Lásd még</dt><dd>
  2516. <a href="#line" onclick="c('line')">line</a>, <a href="#qbez" onclick="c('qbez')">qbez</a></dd></dl>
  2517. <hr>
  2518. <h2 id="tri">tri<a href="#tri"></a></h2>
  2519. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">tri</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">palidx</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x1</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y1</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x2</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y2</span>)</code></div>
  2520. <dl>
  2521. <dt>Leírás</dt><dd>
  2522. Kirajzol egy háromszöget.</dd>
  2523. <dt>Paraméterek</dt><dd>
  2524. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2525. <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
  2526. <tr><td>x0 </td><td>első csúcs X koordináta pixelekben </td></tr>
  2527. <tr><td>y0 </td><td>első csúcs Y koordináta pixelekben </td></tr>
  2528. <tr><td>x1 </td><td>második csúcs X koordináta pixelekben </td></tr>
  2529. <tr><td>y1 </td><td>második csúcs Y koordináta pixelekben </td></tr>
  2530. <tr><td>x2 </td><td>harmadik csúcs X koordináta pixelekben </td></tr>
  2531. <tr><td>y2 </td><td>harmadik csúcs Y koordináta pixelekben </td></tr></table></div></dd>
  2532. <dt>Lásd még</dt><dd>
  2533. <a href="#ftri" onclick="c('ftri')">ftri</a>, <a href="#tri2d" onclick="c('tri2d')">tri2d</a>, <a href="#tri3d" onclick="c('tri3d')">tri3d</a>, <a href="#tritx" onclick="c('tritx')">tritx</a>, <a href="#mesh" onclick="c('mesh')">mesh</a>, <a href="#trns" onclick="c('trns')">trns</a></dd></dl>
  2534. <hr>
  2535. <h2 id="ftri">ftri<a href="#ftri"></a></h2>
  2536. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">ftri</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">palidx</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x1</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y1</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x2</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y2</span>)</code></div>
  2537. <dl>
  2538. <dt>Leírás</dt><dd>
  2539. Kirajzol egy kitöltött háromszöget.</dd>
  2540. <dt>Paraméterek</dt><dd>
  2541. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2542. <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
  2543. <tr><td>x0 </td><td>első csúcs X koordináta pixelekben </td></tr>
  2544. <tr><td>y0 </td><td>első csúcs Y koordináta pixelekben </td></tr>
  2545. <tr><td>x1 </td><td>második csúcs X koordináta pixelekben </td></tr>
  2546. <tr><td>y1 </td><td>második csúcs Y koordináta pixelekben </td></tr>
  2547. <tr><td>x2 </td><td>harmadik csúcs X koordináta pixelekben </td></tr>
  2548. <tr><td>y2 </td><td>harmadik csúcs Y koordináta pixelekben </td></tr></table></div></dd>
  2549. <dt>Lásd még</dt><dd>
  2550. <a href="#tri" onclick="c('tri')">tri</a>, <a href="#tri2d" onclick="c('tri2d')">tri2d</a>, <a href="#tri3d" onclick="c('tri3d')">tri3d</a>, <a href="#tritx" onclick="c('tritx')">tritx</a>, <a href="#mesh" onclick="c('mesh')">mesh</a>, <a href="#trns" onclick="c('trns')">trns</a></dd></dl>
  2551. <hr>
  2552. <h2 id="tri2d">tri2d<a href="#tri2d"></a></h2>
  2553. <div class="pre"><pre class="lineno">1<br>2<br>3<br></pre><code><span class="hl_t">void</span> <span class="hl_f">tri2d</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">pi0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y0</span>,
  2554. <span class="hl_t">uint8_t</span> <span class="hl_v">pi1</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x1</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y1</span>,
  2555. <span class="hl_t">uint8_t</span> <span class="hl_v">pi2</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x2</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y2</span>)</code></div>
  2556. <dl>
  2557. <dt>Leírás</dt><dd>
  2558. Kirajzol egy kitöltött háromszöget színátmenetekkel.</dd>
  2559. <dt>Paraméterek</dt><dd>
  2560. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2561. <tr><td>pi0 </td><td>első csúcs színe, paletta index 0-tól 255-ig </td></tr>
  2562. <tr><td>x0 </td><td>első csúcs X koordináta pixelekben </td></tr>
  2563. <tr><td>y0 </td><td>első csúcs Y koordináta pixelekben </td></tr>
  2564. <tr><td>pi1 </td><td>második csúcs színe, paletta index 0-tól 255-ig </td></tr>
  2565. <tr><td>x1 </td><td>második csúcs X koordináta pixelekben </td></tr>
  2566. <tr><td>y1 </td><td>második csúcs Y koordináta pixelekben </td></tr>
  2567. <tr><td>pi2 </td><td>harmadik csúcs színe, paletta index 0-tól 255-ig </td></tr>
  2568. <tr><td>x2 </td><td>harmadik csúcs X koordináta pixelekben </td></tr>
  2569. <tr><td>y2 </td><td>harmadik csúcs Y koordináta pixelekben </td></tr></table></div></dd>
  2570. <dt>Lásd még</dt><dd>
  2571. <a href="#tri" onclick="c('tri')">tri</a>, <a href="#ftri" onclick="c('ftri')">ftri</a>, <a href="#tri3d" onclick="c('tri3d')">tri3d</a>, <a href="#tritx" onclick="c('tritx')">tritx</a>, <a href="#mesh" onclick="c('mesh')">mesh</a>, <a href="#trns" onclick="c('trns')">trns</a></dd></dl>
  2572. <hr>
  2573. <h2 id="tri3d">tri3d<a href="#tri3d"></a></h2>
  2574. <div class="pre"><pre class="lineno">1<br>2<br>3<br></pre><code><span class="hl_t">void</span> <span class="hl_f">tri3d</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">pi0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">z0</span>,
  2575. <span class="hl_t">uint8_t</span> <span class="hl_v">pi1</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x1</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y1</span>, <span class="hl_t">int16_t</span> <span class="hl_v">z1</span>,
  2576. <span class="hl_t">uint8_t</span> <span class="hl_v">pi2</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x2</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y2</span>, <span class="hl_t">int16_t</span> <span class="hl_v">z2</span>)</code></div>
  2577. <dl>
  2578. <dt>Leírás</dt><dd>
  2579. Kirajzol egy háromszöget színátmenetekkel <a href="#3d_s_ter" onclick="c('3d_s_ter')">3D-s tér</a>ben.</dd>
  2580. <dt>Paraméterek</dt><dd>
  2581. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2582. <tr><td>pi0 </td><td>első csúcs színe, paletta index 0-tól 255-ig </td></tr>
  2583. <tr><td>x0 </td><td>első csúcs X koordináta a térben </td></tr>
  2584. <tr><td>y0 </td><td>első csúcs Y koordináta a térben </td></tr>
  2585. <tr><td>z0 </td><td>első csúcs Z koordináta a térben </td></tr>
  2586. <tr><td>pi1 </td><td>második csúcs színe, paletta index 0-tól 255-ig </td></tr>
  2587. <tr><td>x1 </td><td>második csúcs X koordináta a térben </td></tr>
  2588. <tr><td>y1 </td><td>második csúcs Y koordináta a térben </td></tr>
  2589. <tr><td>z1 </td><td>második csúcs Z koordináta a térben </td></tr>
  2590. <tr><td>pi2 </td><td>harmadik csúcs színe, paletta index 0-tól 255-ig </td></tr>
  2591. <tr><td>x2 </td><td>harmadik csúcs X koordináta a térben </td></tr>
  2592. <tr><td>y2 </td><td>harmadik csúcs Y koordináta a térben </td></tr>
  2593. <tr><td>z2 </td><td>harmadik csúcs Z koordináta a térben </td></tr></table></div></dd>
  2594. <dt>Lásd még</dt><dd>
  2595. <a href="#tri" onclick="c('tri')">tri</a>, <a href="#ftri" onclick="c('ftri')">ftri</a>, <a href="#tri2d" onclick="c('tri2d')">tri2d</a>, <a href="#tritx" onclick="c('tritx')">tritx</a>, <a href="#mesh" onclick="c('mesh')">mesh</a>, <a href="#trns" onclick="c('trns')">trns</a></dd></dl>
  2596. <hr>
  2597. <h2 id="tritx">tritx<a href="#tritx"></a></h2>
  2598. <div class="pre"><pre class="lineno">1<br>2<br>3<br></pre><code><span class="hl_t">void</span> <span class="hl_f">tritx</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">u0</span>, <span class="hl_t">uint8_t</span> <span class="hl_v">v0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">z0</span>,
  2599. <span class="hl_t">uint8_t</span> <span class="hl_v">u1</span>, <span class="hl_t">uint8_t</span> <span class="hl_v">v1</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x1</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y1</span>, <span class="hl_t">int16_t</span> <span class="hl_v">z1</span>,
  2600. <span class="hl_t">uint8_t</span> <span class="hl_v">u2</span>, <span class="hl_t">uint8_t</span> <span class="hl_v">v2</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x2</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y2</span>, <span class="hl_t">int16_t</span> <span class="hl_v">z2</span>)</code></div>
  2601. <dl>
  2602. <dt>Leírás</dt><dd>
  2603. Kirajzol egy textúrázott háromszöget <a href="#3d_s_ter" onclick="c('3d_s_ter')">3D-s tér</a>ben.</dd>
  2604. <dt>Paraméterek</dt><dd>
  2605. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2606. <tr><td>u0 </td><td>első csúcs textúra X koordináta, 0-tól 255-ig </td></tr>
  2607. <tr><td>v0 </td><td>első csúcs textúra Y koordináta, 0-tól 255-ig </td></tr>
  2608. <tr><td>x0 </td><td>első csúcs X koordináta a térben </td></tr>
  2609. <tr><td>y0 </td><td>első csúcs Y koordináta a térben </td></tr>
  2610. <tr><td>z0 </td><td>első csúcs Z koordináta a térben </td></tr>
  2611. <tr><td>u0 </td><td>második csúcs textúra X koordináta, 0-tól 255-ig </td></tr>
  2612. <tr><td>v0 </td><td>második csúcs textúra Y koordináta, 0-tól 255-ig </td></tr>
  2613. <tr><td>x1 </td><td>második csúcs X koordináta a térben </td></tr>
  2614. <tr><td>y1 </td><td>második csúcs Y koordináta a térben </td></tr>
  2615. <tr><td>z1 </td><td>második csúcs Z koordináta a térben </td></tr>
  2616. <tr><td>u0 </td><td>harmadik csúcs textúra X koordináta, 0-tól 255-ig </td></tr>
  2617. <tr><td>v0 </td><td>harmadik csúcs textúra Y koordináta, 0-tól 255-ig </td></tr>
  2618. <tr><td>x2 </td><td>harmadik csúcs X koordináta a térben </td></tr>
  2619. <tr><td>y2 </td><td>harmadik csúcs Y koordináta a térben </td></tr>
  2620. <tr><td>z2 </td><td>harmadik csúcs Z koordináta a térben </td></tr></table></div></dd>
  2621. <dt>Lásd még</dt><dd>
  2622. <a href="#tri" onclick="c('tri')">tri</a>, <a href="#ftri" onclick="c('ftri')">ftri</a>, <a href="#tri2d" onclick="c('tri2d')">tri2d</a>, <a href="#tri3d" onclick="c('tri3d')">tri3d</a>, <a href="#mesh" onclick="c('mesh')">mesh</a>, <a href="#trns" onclick="c('trns')">trns</a></dd></dl>
  2623. <hr>
  2624. <h2 id="mesh">mesh<a href="#mesh"></a></h2>
  2625. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">mesh</span>(<span class="hl_t">addr_t</span> <span class="hl_v">verts</span>, <span class="hl_t">addr_t</span> <span class="hl_v">uvs</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">numtri</span>, <span class="hl_t">addr_t</span> <span class="hl_v">tris</span>)</code></div>
  2626. <dl>
  2627. <dt>Leírás</dt><dd>
  2628. Kirajzol egy modellt a <a href="#3d_s_ter" onclick="c('3d_s_ter')">3D-s tér</a>ben háromszögekből, indexált pontok és textúra koordináták (vagy paletta) használatával.</dd>
  2629. <dt>Paraméterek</dt><dd>
  2630. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2631. <tr><td>verts </td><td>vertex pontok tömbjének címe, egyenként 3 x 2 bájt, X, Y, Z </td></tr>
  2632. <tr><td>uvs </td><td>UV pontok tömbjének címe (ha 0, akkor palettát használ), egyenként 2 x 1 bájt, textúra X, Y </td></tr>
  2633. <tr><td>numtri </td><td>háromszögek száma </td></tr>
  2634. <tr><td>tris </td><td>háromszögek, indexeket tartalmazó tömb címe, egyenként 6 x 1 bájt, vi1, ui1/pi1, vi2, ui2/pi2, vi3, ui3/pi3 </td></tr></table></div></dd>
  2635. <dt>Lásd még</dt><dd>
  2636. <a href="#tri" onclick="c('tri')">tri</a>, <a href="#ftri" onclick="c('ftri')">ftri</a>, <a href="#tri2d" onclick="c('tri2d')">tri2d</a>, <a href="#tri3d" onclick="c('tri3d')">tri3d</a>, <a href="#tritx" onclick="c('tritx')">tritx</a>, <a href="#trns" onclick="c('trns')">trns</a></dd></dl>
  2637. <hr>
  2638. <h2 id="rect">rect<a href="#rect"></a></h2>
  2639. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">rect</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">palidx</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x1</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y1</span>)</code></div>
  2640. <dl>
  2641. <dt>Leírás</dt><dd>
  2642. Kirajzol egy téglalapot.</dd>
  2643. <dt>Paraméterek</dt><dd>
  2644. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2645. <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
  2646. <tr><td>x0 </td><td>bal felső sarok X koordináta pixelekben </td></tr>
  2647. <tr><td>y0 </td><td>bal felső sarok Y koordináta pixelekben </td></tr>
  2648. <tr><td>x1 </td><td>jobb alsó sarok X koordináta pixelekben </td></tr>
  2649. <tr><td>y1 </td><td>jobb alsó sarok Y koordináta pixelekben </td></tr></table></div></dd>
  2650. <dt>Lásd még</dt><dd>
  2651. <a href="#frect" onclick="c('frect')">frect</a></dd></dl>
  2652. <hr>
  2653. <h2 id="frect">frect<a href="#frect"></a></h2>
  2654. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">frect</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">palidx</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x1</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y1</span>)</code></div>
  2655. <dl>
  2656. <dt>Leírás</dt><dd>
  2657. Kirajzol egy kitöltött téglalapot.</dd>
  2658. <dt>Paraméterek</dt><dd>
  2659. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2660. <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
  2661. <tr><td>x0 </td><td>bal felső sarok X koordináta pixelekben </td></tr>
  2662. <tr><td>y0 </td><td>bal felső sarok Y koordináta pixelekben </td></tr>
  2663. <tr><td>x1 </td><td>jobb alsó sarok X koordináta pixelekben </td></tr>
  2664. <tr><td>y1 </td><td>jobb alsó sarok Y koordináta pixelekben </td></tr></table></div></dd>
  2665. <dt>Lásd még</dt><dd>
  2666. <a href="#rect" onclick="c('rect')">rect</a></dd></dl>
  2667. <hr>
  2668. <h2 id="circ">circ<a href="#circ"></a></h2>
  2669. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">circ</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">palidx</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">r</span>)</code></div>
  2670. <dl>
  2671. <dt>Leírás</dt><dd>
  2672. Kirajzol egy kört.</dd>
  2673. <dt>Paraméterek</dt><dd>
  2674. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2675. <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
  2676. <tr><td>x </td><td>középpont X koordináta pixelekben </td></tr>
  2677. <tr><td>y </td><td>középpont Y koordináta pixelekben </td></tr>
  2678. <tr><td>r </td><td>sugár pixelekben </td></tr></table></div></dd>
  2679. <dt>Lásd még</dt><dd>
  2680. <a href="#fcirc" onclick="c('fcirc')">fcirc</a>, <a href="#ellip" onclick="c('ellip')">ellip</a>, <a href="#fellip" onclick="c('fellip')">fellip</a></dd></dl>
  2681. <hr>
  2682. <h2 id="fcirc">fcirc<a href="#fcirc"></a></h2>
  2683. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">fcirc</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">palidx</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">r</span>)</code></div>
  2684. <dl>
  2685. <dt>Leírás</dt><dd>
  2686. Kirajzol egy kitöltött kört.</dd>
  2687. <dt>Paraméterek</dt><dd>
  2688. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2689. <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
  2690. <tr><td>x </td><td>középpont X koordináta pixelekben </td></tr>
  2691. <tr><td>y </td><td>középpont Y koordináta pixelekben </td></tr>
  2692. <tr><td>r </td><td>sugár pixelekben </td></tr></table></div></dd>
  2693. <dt>Lásd még</dt><dd>
  2694. <a href="#circ" onclick="c('circ')">circ</a>, <a href="#ellip" onclick="c('ellip')">ellip</a>, <a href="#fellip" onclick="c('fellip')">fellip</a></dd></dl>
  2695. <hr>
  2696. <h2 id="ellip">ellip<a href="#ellip"></a></h2>
  2697. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">ellip</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">palidx</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x1</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y1</span>)</code></div>
  2698. <dl>
  2699. <dt>Leírás</dt><dd>
  2700. Kirajzol egy ellipszist.</dd>
  2701. <dt>Paraméterek</dt><dd>
  2702. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2703. <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
  2704. <tr><td>x0 </td><td>bal felső sarok X koordináta pixelekben </td></tr>
  2705. <tr><td>y0 </td><td>bal felső sarok Y koordináta pixelekben </td></tr>
  2706. <tr><td>x1 </td><td>jobb alsó sarok X koordináta pixelekben </td></tr>
  2707. <tr><td>y1 </td><td>jobb alsó sarok Y koordináta pixelekben </td></tr></table></div></dd>
  2708. <dt>Lásd még</dt><dd>
  2709. <a href="#circ" onclick="c('circ')">circ</a>, <a href="#fcirc" onclick="c('fcirc')">fcirc</a>, <a href="#fellip" onclick="c('fellip')">fellip</a></dd></dl>
  2710. <hr>
  2711. <h2 id="fellip">fellip<a href="#fellip"></a></h2>
  2712. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">fellip</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">palidx</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y0</span>, <span class="hl_t">int16_t</span> <span class="hl_v">x1</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y1</span>)</code></div>
  2713. <dl>
  2714. <dt>Leírás</dt><dd>
  2715. Kirajzol egy kitöltött ellipszist.</dd>
  2716. <dt>Paraméterek</dt><dd>
  2717. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2718. <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
  2719. <tr><td>x0 </td><td>bal felső sarok X koordináta pixelekben </td></tr>
  2720. <tr><td>y0 </td><td>bal felső sarok Y koordináta pixelekben </td></tr>
  2721. <tr><td>x1 </td><td>jobb alsó sarok X koordináta pixelekben </td></tr>
  2722. <tr><td>y1 </td><td>jobb alsó sarok Y koordináta pixelekben </td></tr></table></div></dd>
  2723. <dt>Lásd még</dt><dd>
  2724. <a href="#circ" onclick="c('circ')">circ</a>, <a href="#fcirc" onclick="c('fcirc')">fcirc</a>, <a href="#ellip" onclick="c('ellip')">ellip</a></dd></dl>
  2725. <hr>
  2726. <h2 id="move">move<a href="#move"></a></h2>
  2727. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">move</span>(<span class="hl_t">int16_t</span> <span class="hl_v">x</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">deg</span>)</code></div>
  2728. <dl>
  2729. <dt>Leírás</dt><dd>
  2730. Elhelyezi a teknőst a képernyőn vagy az útvesztőben.</dd>
  2731. <dt>Paraméterek</dt><dd>
  2732. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2733. <tr><td>x </td><td>X koordináta pixelben (vagy 1/128-ad csempében <a href="#maze" onclick="c('maze')">maze</a> esetén) </td></tr>
  2734. <tr><td>y </td><td>Y koordináta pixelben </td></tr>
  2735. <tr><td>deg </td><td>irány fokokban, 0-tól 359-ig, 0 fok felfele van, 90 fok jobbra </td></tr></table></div></dd>
  2736. <dt>Lásd még</dt><dd>
  2737. <a href="#left" onclick="c('left')">left</a>, <a href="#right" onclick="c('right')">right</a>, <a href="#up" onclick="c('up')">up</a>, <a href="#down" onclick="c('down')">down</a>, <a href="#color" onclick="c('color')">color</a>, <a href="#forw" onclick="c('forw')">forw</a>, <a href="#back" onclick="c('back')">back</a></dd></dl>
  2738. <hr>
  2739. <h2 id="left">left<a href="#left"></a></h2>
  2740. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">left</span>(<span class="hl_t">uint16_t</span> <span class="hl_v">deg</span>)</code></div>
  2741. <dl>
  2742. <dt>Leírás</dt><dd>
  2743. Balra forgatja a teknőst.</dd>
  2744. <dt>Paraméterek</dt><dd>
  2745. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2746. <tr><td>deg </td><td>változás fokokban, 0-tól 359-ig </td></tr></table></div></dd>
  2747. <dt>Lásd még</dt><dd>
  2748. <a href="#move" onclick="c('move')">move</a>, <a href="#right" onclick="c('right')">right</a>, <a href="#up" onclick="c('up')">up</a>, <a href="#down" onclick="c('down')">down</a>, <a href="#color" onclick="c('color')">color</a>, <a href="#forw" onclick="c('forw')">forw</a>, <a href="#back" onclick="c('back')">back</a></dd></dl>
  2749. <hr>
  2750. <h2 id="right">right<a href="#right"></a></h2>
  2751. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">right</span>(<span class="hl_t">uint16_t</span> <span class="hl_v">deg</span>)</code></div>
  2752. <dl>
  2753. <dt>Leírás</dt><dd>
  2754. Jobbra forgatja a teknőst.</dd>
  2755. <dt>Paraméterek</dt><dd>
  2756. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2757. <tr><td>deg </td><td>változás fokokban, 0-tól 359-ig </td></tr></table></div></dd>
  2758. <dt>Lásd még</dt><dd>
  2759. <a href="#move" onclick="c('move')">move</a>, <a href="#left" onclick="c('left')">left</a>, <a href="#up" onclick="c('up')">up</a>, <a href="#down" onclick="c('down')">down</a>, <a href="#color" onclick="c('color')">color</a>, <a href="#forw" onclick="c('forw')">forw</a>, <a href="#back" onclick="c('back')">back</a></dd></dl>
  2760. <hr>
  2761. <h2 id="up">up<a href="#up"></a></h2>
  2762. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">up</span>(<span class="hl_t">void</span>)</code></div>
  2763. <dl>
  2764. <dt>Leírás</dt><dd>
  2765. Felemeli a teknős farkát. Ezután a teknős úgy mozog, hogy nem húz vonalat.</dd>
  2766. <dt>Lásd még</dt><dd>
  2767. <a href="#move" onclick="c('move')">move</a>, <a href="#left" onclick="c('left')">left</a>, <a href="#right" onclick="c('right')">right</a>, <a href="#down" onclick="c('down')">down</a>, <a href="#color" onclick="c('color')">color</a>, <a href="#forw" onclick="c('forw')">forw</a>, <a href="#back" onclick="c('back')">back</a></dd></dl>
  2768. <hr>
  2769. <h2 id="down">down<a href="#down"></a></h2>
  2770. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">down</span>(<span class="hl_t">void</span>)</code></div>
  2771. <dl>
  2772. <dt>Leírás</dt><dd>
  2773. Leteszi a teknős farkát. Ezután amikor a teknős mozog, vonalat húz (lásd <a href="#color" onclick="c('color')">color</a>).</dd>
  2774. <dt>Lásd még</dt><dd>
  2775. <a href="#move" onclick="c('move')">move</a>, <a href="#left" onclick="c('left')">left</a>, <a href="#right" onclick="c('right')">right</a>, <a href="#up" onclick="c('up')">up</a>, <a href="#color" onclick="c('color')">color</a>, <a href="#forw" onclick="c('forw')">forw</a>, <a href="#back" onclick="c('back')">back</a></dd></dl>
  2776. <hr>
  2777. <h2 id="color">color<a href="#color"></a></h2>
  2778. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">color</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">palidx</span>)</code></div>
  2779. <dl>
  2780. <dt>Leírás</dt><dd>
  2781. Beállítja a teknős farkának színét, amikor a teknős mozog, ilyen színű vonalat húz maga után.</dd>
  2782. <dt>Paraméterek</dt><dd>
  2783. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2784. <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr></table></div></dd>
  2785. <dt>Lásd még</dt><dd>
  2786. <a href="#move" onclick="c('move')">move</a>, <a href="#left" onclick="c('left')">left</a>, <a href="#right" onclick="c('right')">right</a>, <a href="#up" onclick="c('up')">up</a>, <a href="#down" onclick="c('down')">down</a>, <a href="#forw" onclick="c('forw')">forw</a>, <a href="#back" onclick="c('back')">back</a></dd></dl>
  2787. <hr>
  2788. <h2 id="forw">forw<a href="#forw"></a></h2>
  2789. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">forw</span>(<span class="hl_t">uint16_t</span> <span class="hl_v">cnt</span>)</code></div>
  2790. <dl>
  2791. <dt>Leírás</dt><dd>
  2792. Előre mozgatja a teknőst.</dd>
  2793. <dt>Paraméterek</dt><dd>
  2794. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2795. <tr><td>cnt </td><td>mennyit, pixelekben (vagy 1/128-ad csempében <a href="#maze" onclick="c('maze')">maze</a> esetén) </td></tr></table></div></dd>
  2796. <dt>Lásd még</dt><dd>
  2797. <a href="#move" onclick="c('move')">move</a>, <a href="#left" onclick="c('left')">left</a>, <a href="#right" onclick="c('right')">right</a>, <a href="#up" onclick="c('up')">up</a>, <a href="#down" onclick="c('down')">down</a>, <a href="#color" onclick="c('color')">color</a>, <a href="#back" onclick="c('back')">back</a></dd></dl>
  2798. <hr>
  2799. <h2 id="back">back<a href="#back"></a></h2>
  2800. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">back</span>(<span class="hl_t">uint16_t</span> <span class="hl_v">cnt</span>)</code></div>
  2801. <dl>
  2802. <dt>Leírás</dt><dd>
  2803. Hátra mozgatja a teknőst.</dd>
  2804. <dt>Paraméterek</dt><dd>
  2805. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2806. <tr><td>cnt </td><td>mennyit, pixelekben (vagy 1/128-ad csempében <a href="#maze" onclick="c('maze')">maze</a> esetén) </td></tr></table></div></dd>
  2807. <dt>Lásd még</dt><dd>
  2808. <a href="#move" onclick="c('move')">move</a>, <a href="#left" onclick="c('left')">left</a>, <a href="#right" onclick="c('right')">right</a>, <a href="#up" onclick="c('up')">up</a>, <a href="#down" onclick="c('down')">down</a>, <a href="#color" onclick="c('color')">color</a>, <a href="#forw" onclick="c('forw')">forw</a></dd></dl>
  2809. <hr>
  2810. <h2 id="spr">spr<a href="#spr"></a></h2>
  2811. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">spr</span>(<span class="hl_t">int16_t</span> <span class="hl_v">x</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">sprite</span>, <span class="hl_t">uint8_t</span> <span class="hl_v">sw</span>, <span class="hl_t">uint8_t</span> <span class="hl_v">sh</span>, <span class="hl_t">int8_t</span> <span class="hl_v">scale</span>, <span class="hl_t">uint8_t</span> <span class="hl_v">type</span>)</code></div>
  2812. <dl>
  2813. <dt>Leírás</dt><dd>
  2814. Megjelenít egy, vagy akár több, egymásmelletti szprájtot.</dd>
  2815. <dt>Paraméterek</dt><dd>
  2816. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2817. <tr><td>x </td><td>X koordináta pixelben </td></tr>
  2818. <tr><td>y </td><td>Y koordináta pixelben </td></tr>
  2819. <tr><td>sprite </td><td>szprájt index, 0-tól 1023-ig </td></tr>
  2820. <tr><td>sw </td><td>vízszintes szprájtok száma </td></tr>
  2821. <tr><td>sh </td><td>függőleges szprájtok száma </td></tr>
  2822. <tr><td>scale </td><td>nagyítás, -3-tól 4-ig </td></tr>
  2823. <tr><td>type </td><td>típus, 0=normális, 1=forg. 90, 2=forg. 180, 3=forg. 270, 4=függőleges tükrözés, 6=tükr.+90, 5=vízszintes tükr., 7=tükr.+270 </td></tr></table></div></dd>
  2824. <dt>Lásd még</dt><dd>
  2825. <a href="#dlg" onclick="c('dlg')">dlg</a>, <a href="#stext" onclick="c('stext')">stext</a></dd></dl>
  2826. <hr>
  2827. <h2 id="dlg">dlg<a href="#dlg"></a></h2>
  2828. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br></pre><code><span class="hl_t">void</span> <span class="hl_f">dlg</span>(<span class="hl_t">int16_t</span> <span class="hl_v">x</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">w</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">h</span>, <span class="hl_t">int8_t</span> <span class="hl_v">scale</span>,
  2829. <span class="hl_t">uint16_t</span> <span class="hl_v">tl</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">tm</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">tr</span>,
  2830. <span class="hl_t">uint16_t</span> <span class="hl_v">ml</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">bg</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">mr</span>,
  2831. <span class="hl_t">uint16_t</span> <span class="hl_v">bl</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">bm</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">br</span>)</code></div>
  2832. <dl>
  2833. <dt>Leírás</dt><dd>
  2834. Megjelenít egy dialógusablakot szprájtok használatával.</dd>
  2835. <dt>Paraméterek</dt><dd>
  2836. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2837. <tr><td>x </td><td>X koordináta pixelben </td></tr>
  2838. <tr><td>y </td><td>Y koordináta pixelben </td></tr>
  2839. <tr><td>w </td><td>dialógusablak szélessége pixelekben </td></tr>
  2840. <tr><td>h </td><td>dialógusablak magassága pixelekben </td></tr>
  2841. <tr><td>scale </td><td>nagyítás, -3-tól 4-ig </td></tr>
  2842. <tr><td>tl </td><td>bal felső sarok szprájt id </td></tr>
  2843. <tr><td>tm </td><td>középső felső szprájt id </td></tr>
  2844. <tr><td>tr </td><td>jobb felső sarok szprájt id </td></tr>
  2845. <tr><td>ml </td><td>középső bal oldal szprájt id </td></tr>
  2846. <tr><td>bg </td><td>háttér szprájt id </td></tr>
  2847. <tr><td>mr </td><td>középső jobb oldal szprájt id </td></tr>
  2848. <tr><td>bl </td><td>bal alsó sarok szprájt id </td></tr>
  2849. <tr><td>bm </td><td>középső alsó szprájt id </td></tr>
  2850. <tr><td>br </td><td>jobb alsó sarok szprájt id </td></tr></table></div></dd>
  2851. <dt>Lásd még</dt><dd>
  2852. <a href="#spr" onclick="c('spr')">spr</a>, <a href="#stext" onclick="c('stext')">stext</a></dd></dl>
  2853. <hr>
  2854. <h2 id="stext">stext<a href="#stext"></a></h2>
  2855. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">stext</span>(<span class="hl_t">int16_t</span> <span class="hl_v">x</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">fs</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">fu</span>, <span class="hl_t">uint8_t</span> <span class="hl_v">sw</span>, <span class="hl_t">uint8_t</span> <span class="hl_v">sh</span>, <span class="hl_t">int8_t</span> <span class="hl_v">scale</span>, <span class="hl_t">str_t</span> <span class="hl_v">str</span>)</code></div>
  2856. <dl>
  2857. <dt>Leírás</dt><dd>
  2858. Szöveg megjelenítése a képernyőn szprájtok használatával.</dd>
  2859. <dt>Paraméterek</dt><dd>
  2860. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2861. <tr><td>x </td><td>X koordináta pixelben </td></tr>
  2862. <tr><td>y </td><td>Y koordináta pixelben </td></tr>
  2863. <tr><td>fs </td><td>az első megjelenítendő szprájt indexe </td></tr>
  2864. <tr><td>fu </td><td>az első UNICODE (legkissebb lehetséges karakter) a sztringben </td></tr>
  2865. <tr><td>sw </td><td>vízszintes szprájtok száma </td></tr>
  2866. <tr><td>sh </td><td>függőleges szprájtok száma </td></tr>
  2867. <tr><td>scale </td><td>nagyítás, -3-tól 4-ig </td></tr>
  2868. <tr><td>str </td><td>nullával lezárt UTF-8 sztring </td></tr></table></div></dd>
  2869. <dt>Lásd még</dt><dd>
  2870. <a href="#spr" onclick="c('spr')">spr</a>, <a href="#dlg" onclick="c('dlg')">dlg</a></dd></dl>
  2871. <hr>
  2872. <h2 id="remap">remap<a href="#remap"></a></h2>
  2873. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">remap</span>(<span class="hl_t">addr_t</span> <span class="hl_v">replace</span>)</code></div>
  2874. <dl>
  2875. <dt>Leírás</dt><dd>
  2876. Lecseréli a csempéket a térképen. Használható arra, hogy meganimáljuk a térképet.</dd>
  2877. <dt>Paraméterek</dt><dd>
  2878. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2879. <tr><td>replace </td><td>egy 256 elemű, szprájt idkat tartalmazó tömb </td></tr></table></div></dd>
  2880. <dt>Lásd még</dt><dd>
  2881. <a href="#mget" onclick="c('mget')">mget</a>, <a href="#mset" onclick="c('mset')">mset</a>, <a href="#map" onclick="c('map')">map</a>, <a href="#maze" onclick="c('maze')">maze</a></dd></dl>
  2882. <hr>
  2883. <h2 id="mget">mget<a href="#mget"></a></h2>
  2884. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">uint16_t</span> <span class="hl_f">mget</span>(<span class="hl_t">uint16_t</span> <span class="hl_v">mx</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">my</span>)</code></div>
  2885. <dl>
  2886. <dt>Leírás</dt><dd>
  2887. Visszaadja a térkép egy csempéjét.</dd>
  2888. <dt>Paraméterek</dt><dd>
  2889. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2890. <tr><td>mx </td><td>X térképkoordináta csempékben </td></tr>
  2891. <tr><td>my </td><td>Y térképkoordináta csempékben </td></tr></table></div></dd>
  2892. <dt>Visszatérési érték</dt><dd>
  2893. A megadott koordinátán lévő szprájt indexe.</dd>
  2894. <dt>Lásd még</dt><dd>
  2895. <a href="#remap" onclick="c('remap')">remap</a>, <a href="#mset" onclick="c('mset')">mset</a>, <a href="#map" onclick="c('map')">map</a>, <a href="#maze" onclick="c('maze')">maze</a></dd></dl>
  2896. <hr>
  2897. <h2 id="mset">mset<a href="#mset"></a></h2>
  2898. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">mset</span>(<span class="hl_t">uint16_t</span> <span class="hl_v">mx</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">my</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">sprite</span>)</code></div>
  2899. <dl>
  2900. <dt>Leírás</dt><dd>
  2901. Beállítja a térkép egy csempéjét.</dd>
  2902. <dt>Paraméterek</dt><dd>
  2903. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2904. <tr><td>mx </td><td>X térképkoordináta csempékben </td></tr>
  2905. <tr><td>my </td><td>Y térképkoordináta csempékben </td></tr>
  2906. <tr><td>sprite </td><td>szprájt index, 0-tól 1023-ig </td></tr></table></div></dd>
  2907. <dt>Lásd még</dt><dd>
  2908. <a href="#remap" onclick="c('remap')">remap</a>, <a href="#mget" onclick="c('mget')">mget</a>, <a href="#map" onclick="c('map')">map</a>, <a href="#maze" onclick="c('maze')">maze</a></dd></dl>
  2909. <hr>
  2910. <h2 id="map">map<a href="#map"></a></h2>
  2911. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">map</span>(<span class="hl_t">int16_t</span> <span class="hl_v">x</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">mx</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">my</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">mw</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">mh</span>, <span class="hl_t">int8_t</span> <span class="hl_v">scale</span>)</code></div>
  2912. <dl>
  2913. <dt>Leírás</dt><dd>
  2914. Kirajzolja a térképet (vagy egy részét).</dd>
  2915. <dt>Paraméterek</dt><dd>
  2916. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2917. <tr><td>x </td><td>X koordináta pixelben </td></tr>
  2918. <tr><td>y </td><td>Y koordináta pixelben </td></tr>
  2919. <tr><td>mx </td><td>X térképkoordináta csempékben </td></tr>
  2920. <tr><td>my </td><td>Y térképkoordináta csempékben </td></tr>
  2921. <tr><td>mw </td><td>vízszintes csempék száma </td></tr>
  2922. <tr><td>mh </td><td>függőleges csempék száma </td></tr>
  2923. <tr><td>scale </td><td>nagyítás, -3-tól 4-ig </td></tr></table></div></dd>
  2924. <dt>Lásd még</dt><dd>
  2925. <a href="#remap" onclick="c('remap')">remap</a>, <a href="#mget" onclick="c('mget')">mget</a>, <a href="#mset" onclick="c('mset')">mset</a>, <a href="#maze" onclick="c('maze')">maze</a></dd></dl>
  2926. <hr>
  2927. <h2 id="maze">maze<a href="#maze"></a></h2>
  2928. <div class="pre"><pre class="lineno">1<br>2<br></pre><code><span class="hl_t">void</span> <span class="hl_f">maze</span>(<span class="hl_t">uint16_t</span> <span class="hl_v">mx</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">my</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">mw</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">mh</span>, <span class="hl_t">uint8_t</span> <span class="hl_v">scale</span>,
  2929. <span class="hl_t">uint16_t</span> <span class="hl_v">sky</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">grd</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">door</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">wall</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">obj</span>, <span class="hl_t">uint8_t</span> <span class="hl_v">numnpc</span>, <span class="hl_t">addr_t</span> <span class="hl_v">npc</span>)</code></div>
  2930. <dl>
  2931. <dt>Leírás</dt><dd>
  2932. A teknőc pozícióját használva 3D-s útvesztőként jeleníti meg a térképet.</dd>
  2933. <dt>Paraméterek</dt><dd>
  2934. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2935. <tr><td>mx </td><td>X térképkoordináta csempékben </td></tr>
  2936. <tr><td>my </td><td>Y térképkoordináta csempékben </td></tr>
  2937. <tr><td>mw </td><td>vízszintes csempék száma </td></tr>
  2938. <tr><td>mh </td><td>függőleges csempék száma </td></tr>
  2939. <tr><td>scale </td><td>csempénkénti szprájtszám kettő hatványban, 0-tól 3-ig </td></tr>
  2940. <tr><td>sky </td><td>ég csempe index </td></tr>
  2941. <tr><td>grd </td><td>föld csempe index </td></tr>
  2942. <tr><td>door </td><td>első ajtó csempe indexe </td></tr>
  2943. <tr><td>wall </td><td>első fal csempe indexe </td></tr>
  2944. <tr><td>obj </td><td>első tárgy csempe indexe </td></tr>
  2945. <tr><td>numnpc </td><td>NJK rekordok száma </td></tr>
  2946. <tr><td>npc </td><td>uint32_t tömb, numnpc darab x,y,csempe index hármas </td></tr></table></div></dd>
  2947. <dt>Lásd még</dt><dd>
  2948. <a href="#remap" onclick="c('remap')">remap</a>, <a href="#mget" onclick="c('mget')">mget</a>, <a href="#mset" onclick="c('mset')">mset</a>, <a href="#map" onclick="c('map')">map</a></dd></dl><br style="clear:both;"><label class="btn prev" accesskey="p" for="_gpio" title="GPIO">Előző</label><label class="btn next" accesskey="n" for="_bemenet" title="Bemenet">Következő</label></div>
  2949. <div class="page" rel="bemenet"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;API Referencia&nbsp;»</li><li>&nbsp;Bemenet</li></ul><hr></div>
  2950. <h1 id="bemenet">Bemenet<a href="#bemenet"></a></h1>
  2951. <h2 id="getpad">getpad<a href="#getpad"></a></h2>
  2952. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_f">getpad</span>(<span class="hl_t">int</span> <span class="hl_v">pad</span>, <span class="hl_t">int</span> <span class="hl_v">btn</span>)</code></div>
  2953. <dl>
  2954. <dt>Leírás</dt><dd>
  2955. Visszaadja az egyik játékpad egy gombjának állapotát.</dd>
  2956. <dt>Paraméterek</dt><dd>
  2957. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2958. <tr><td>pad </td><td>játékpad index, 0-tól 3-ig </td></tr>
  2959. <tr><td>btn </td><td>az egyik <a href="#jatekpad" onclick="c('jatekpad')">játékpad</a> gomb, <samp>BTN_</samp> </td></tr></table></div></dd>
  2960. <dt>Visszatérési érték</dt><dd>
  2961. Nulla ha nincs lenyomva, nem nulla ha le van nyomva.</dd>
  2962. <dt>Lásd még</dt><dd>
  2963. <a href="#prspad" onclick="c('prspad')">prspad</a>, <a href="#relpad" onclick="c('relpad')">relpad</a>, <a href="#getbtn" onclick="c('getbtn')">getbtn</a>, <a href="#getclk" onclick="c('getclk')">getclk</a>, <a href="#getkey" onclick="c('getkey')">getkey</a></dd></dl>
  2964. <hr>
  2965. <h2 id="prspad">prspad<a href="#prspad"></a></h2>
  2966. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_f">prspad</span>(<span class="hl_t">int</span> <span class="hl_v">pad</span>, <span class="hl_t">int</span> <span class="hl_v">btn</span>)</code></div>
  2967. <dl>
  2968. <dt>Leírás</dt><dd>
  2969. Igaz értékkel tér vissza, ha a legutóbbi hívás óta le lett nyomva a játékpad gombja (press).</dd>
  2970. <dt>Paraméterek</dt><dd>
  2971. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2972. <tr><td>pad </td><td>játékpad index, 0-tól 3-ig </td></tr>
  2973. <tr><td>btn </td><td>az egyik <a href="#jatekpad" onclick="c('jatekpad')">játékpad</a> gomb, <samp>BTN_</samp> </td></tr></table></div></dd>
  2974. <dt>Visszatérési érték</dt><dd>
  2975. Nulla ha nem lett lenyomva, nem nulla ha le lett nyomva.</dd>
  2976. <dt>Lásd még</dt><dd>
  2977. <a href="#relpad" onclick="c('relpad')">relpad</a>, <a href="#getpad" onclick="c('getpad')">getpad</a>, <a href="#getbtn" onclick="c('getbtn')">getbtn</a>, <a href="#getclk" onclick="c('getclk')">getclk</a>, <a href="#getkey" onclick="c('getkey')">getkey</a></dd></dl>
  2978. <hr>
  2979. <h2 id="relpad">relpad<a href="#relpad"></a></h2>
  2980. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_f">relpad</span>(<span class="hl_t">int</span> <span class="hl_v">pad</span>, <span class="hl_t">int</span> <span class="hl_v">btn</span>)</code></div>
  2981. <dl>
  2982. <dt>Leírás</dt><dd>
  2983. Igaz értékkel tér vissza, ha a legutóbbi hívás óta fel lett engedve a játékpad gombja (release).</dd>
  2984. <dt>Paraméterek</dt><dd>
  2985. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  2986. <tr><td>pad </td><td>játékpad index, 0-tól 3-ig </td></tr>
  2987. <tr><td>btn </td><td>az egyik <a href="#jatekpad" onclick="c('jatekpad')">játékpad</a> gomb, <samp>BTN_</samp> </td></tr></table></div></dd>
  2988. <dt>Visszatérési érték</dt><dd>
  2989. Nulla ha nem lett felengedve, nem nulla ha fel lett engedve.</dd>
  2990. <dt>Lásd még</dt><dd>
  2991. <a href="#prspad" onclick="c('prspad')">prspad</a>, <a href="#getpad" onclick="c('getpad')">getpad</a>, <a href="#getbtn" onclick="c('getbtn')">getbtn</a>, <a href="#getclk" onclick="c('getclk')">getclk</a>, <a href="#getkey" onclick="c('getkey')">getkey</a></dd></dl>
  2992. <hr>
  2993. <h2 id="getbtn">getbtn<a href="#getbtn"></a></h2>
  2994. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_f">getbtn</span>(<span class="hl_t">int</span> <span class="hl_v">btn</span>)</code></div>
  2995. <dl>
  2996. <dt>Leírás</dt><dd>
  2997. Visszaadja az egyik egérgomb állapotát.</dd>
  2998. <dt>Paraméterek</dt><dd>
  2999. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3000. <tr><td>btn </td><td>az egyik <a href="#mutato" onclick="c('mutato')">mutató</a> gomb, <samp>BTN_</samp> vagy <samp>SCR_</samp> </td></tr></table></div></dd>
  3001. <dt>Visszatérési érték</dt><dd>
  3002. Nulla ha nincs lenyomva, nem nulla ha le van nyomva.</dd>
  3003. <dt>Lásd még</dt><dd>
  3004. <a href="#prspad" onclick="c('prspad')">prspad</a>, <a href="#relpad" onclick="c('relpad')">relpad</a>, <a href="#getpad" onclick="c('getpad')">getpad</a>, <a href="#getclk" onclick="c('getclk')">getclk</a>, <a href="#getkey" onclick="c('getkey')">getkey</a></dd></dl>
  3005. <hr>
  3006. <h2 id="getclk">getclk<a href="#getclk"></a></h2>
  3007. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_f">getclk</span>(<span class="hl_t">int</span> <span class="hl_v">btn</span>)</code></div>
  3008. <dl>
  3009. <dt>Leírás</dt><dd>
  3010. Visszaadja az egérgomb kattintást (click).</dd>
  3011. <dt>Paraméterek</dt><dd>
  3012. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3013. <tr><td>btn </td><td>az egyik <a href="#mutato" onclick="c('mutato')">mutató</a> gomb, <samp>BTN_</samp> </td></tr></table></div></dd>
  3014. <dt>Visszatérési érték</dt><dd>
  3015. Nulla ha nem kattintottak vele, nem nulla ha volt kattinttás.</dd>
  3016. <dt>Lásd még</dt><dd>
  3017. <a href="#prspad" onclick="c('prspad')">prspad</a>, <a href="#relpad" onclick="c('relpad')">relpad</a>, <a href="#getpad" onclick="c('getpad')">getpad</a>, <a href="#getbtn" onclick="c('getbtn')">getbtn</a>, <a href="#getkey" onclick="c('getkey')">getkey</a></dd></dl>
  3018. <hr>
  3019. <h2 id="getkey">getkey<a href="#getkey"></a></h2>
  3020. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_f">getkey</span>(<span class="hl_t">int</span> <span class="hl_v">sc</span>)</code></div>
  3021. <dl>
  3022. <dt>Leírás</dt><dd>
  3023. Visszaadja az egyik billentyű állapotát.</dd>
  3024. <dt>Paraméterek</dt><dd>
  3025. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3026. <tr><td>sc </td><td>szkenkód, 1-től 144-ig, lásd <a href="#billentyuzet" onclick="c('billentyuzet')">billentyűzet</a> </td></tr></table></div></dd>
  3027. <dt>Visszatérési érték</dt><dd>
  3028. Nulla ha nincs lenyomva, nem nulla ha le van nyomva.</dd>
  3029. <dt>Lásd még</dt><dd>
  3030. <a href="#prspad" onclick="c('prspad')">prspad</a>, <a href="#relpad" onclick="c('relpad')">relpad</a>, <a href="#getpad" onclick="c('getpad')">getpad</a>, <a href="#getbtn" onclick="c('getbtn')">getbtn</a>, <a href="#getclk" onclick="c('getclk')">getclk</a></dd></dl>
  3031. <hr>
  3032. <h2 id="popkey">popkey<a href="#popkey"></a></h2>
  3033. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">uint32_t</span> <span class="hl_f">popkey</span>(<span class="hl_t">void</span>)</code></div>
  3034. <dl>
  3035. <dt>Leírás</dt><dd>
  3036. Visszaadja a következő UTF-8 gombot a billentyűsorból. Lásd <a href="#billentyuzet" onclick="c('billentyuzet')">billentyűzet</a>.</dd>
  3037. <dt>Visszatérési érték</dt><dd>
  3038. A gomb UTF-8 reprezentációja, vagy 0 ha a sor üres volt.</dd>
  3039. <dt>Lásd még</dt><dd>
  3040. <a href="#pendkey" onclick="c('pendkey')">pendkey</a>, <a href="#lenkey" onclick="c('lenkey')">lenkey</a>, <a href="#speckey" onclick="c('speckey')">speckey</a></dd></dl>
  3041. <hr>
  3042. <h2 id="pendkey">pendkey<a href="#pendkey"></a></h2>
  3043. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_f">pendkey</span>(<span class="hl_t">void</span>)</code></div>
  3044. <dl>
  3045. <dt>Leírás</dt><dd>
  3046. Igaz értékkel tér vissza, ha legalább egy billentyű várakozik a sorban (de benthagyja a sorban, nem veszi ki).</dd>
  3047. <dt>Visszatérési érték</dt><dd>
  3048. 1 ha van kiolvasatlan billentyű a sorban, egyébként 0 ha a sor üres.</dd>
  3049. <dt>Lásd még</dt><dd>
  3050. <a href="#popkey" onclick="c('popkey')">popkey</a>, <a href="#lenkey" onclick="c('lenkey')">lenkey</a>, <a href="#speckey" onclick="c('speckey')">speckey</a></dd></dl>
  3051. <hr>
  3052. <h2 id="lenkey">lenkey<a href="#lenkey"></a></h2>
  3053. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_f">lenkey</span>(<span class="hl_t">uint32_t</span> <span class="hl_v">key</span>)</code></div>
  3054. <dl>
  3055. <dt>Leírás</dt><dd>
  3056. Visszaadja egy UTF-8 gomb hosszát bájtokban.</dd>
  3057. <dt>Paraméterek</dt><dd>
  3058. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3059. <tr><td>key </td><td>a gomb, ahogy a billentyűsorból kijött </td></tr></table></div></dd>
  3060. <dt>Visszatérési érték</dt><dd>
  3061. UTF-8 reprezentáció hossza bájtokban.</dd>
  3062. <dt>Lásd még</dt><dd>
  3063. <a href="#popkey" onclick="c('popkey')">popkey</a>, <a href="#pendkey" onclick="c('pendkey')">pendkey</a>, <a href="#speckey" onclick="c('speckey')">speckey</a></dd></dl>
  3064. <hr>
  3065. <h2 id="speckey">speckey<a href="#speckey"></a></h2>
  3066. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_f">speckey</span>(<span class="hl_t">uint32_t</span> <span class="hl_v">key</span>)</code></div>
  3067. <dl>
  3068. <dt>Leírás</dt><dd>
  3069. Igaz értékkel tér vissza, ha a gomb speciális.</dd>
  3070. <dt>Paraméterek</dt><dd>
  3071. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3072. <tr><td>key </td><td>a gomb, ahogy a billentyűsorból kijött </td></tr></table></div></dd>
  3073. <dt>Visszatérési érték</dt><dd>
  3074. 1 ha a gomb speciális, és 0 ha megjeleníthető.</dd>
  3075. <dt>Lásd még</dt><dd>
  3076. <a href="#popkey" onclick="c('popkey')">popkey</a>, <a href="#pendkey" onclick="c('pendkey')">pendkey</a>, <a href="#lenkey" onclick="c('lenkey')">lenkey</a></dd></dl><br style="clear:both;"><label class="btn prev" accesskey="p" for="_grafika" title="Grafika">Előző</label><label class="btn next" accesskey="n" for="_matematika" title="Matematika">Következő</label></div>
  3077. <div class="page" rel="matematika"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;API Referencia&nbsp;»</li><li>&nbsp;Matematika</li></ul><hr></div>
  3078. <h1 id="matematika">Matematika<a href="#matematika"></a></h1>
  3079. <h2 id="rand">rand<a href="#rand"></a></h2>
  3080. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">uint32_t</span> <span class="hl_f">rand</span>(<span class="hl_t">void</span>)</code></div>
  3081. <dl>
  3082. <dt>Leírás</dt><dd>
  3083. Véletlenszám. A <samp>%</samp> modulo használatával méretezhető, például <samp>1 + rand() % 6</samp> 1 és 6 között ad vissza értéket, mint a dobókocka.</dd>
  3084. <dt>Visszatérési érték</dt><dd>
  3085. Egy véletlen szám 0 és 2<sup>32</sup>-1 (4294967295) között.</dd>
  3086. <dt>Lásd még</dt><dd>
  3087. <a href="#rnd" onclick="c('rnd')">rnd</a></dd></dl>
  3088. <hr>
  3089. <h2 id="rnd">rnd<a href="#rnd"></a></h2>
  3090. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">rnd</span>(<span class="hl_t">void</span>)</code></div>
  3091. <dl>
  3092. <dt>Leírás</dt><dd>
  3093. Véletlenszám. Ugyanaz, mint a <a href="#rand" onclick="c('rand')">rand</a>, csak lebegőpontos számot ad vissza.</dd>
  3094. <dt>Visszatérési érték</dt><dd>
  3095. Egy véletlen szám 0.0 és 1.0 között.</dd>
  3096. <dt>Lásd még</dt><dd>
  3097. <a href="#rand" onclick="c('rand')">rand</a></dd></dl>
  3098. <hr>
  3099. <h2 id="float">float<a href="#float"></a></h2>
  3100. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_t">float</span>(<span class="hl_t">int</span> <span class="hl_v">val</span>)</code></div>
  3101. <dl>
  3102. <dt>Leírás</dt><dd>
  3103. Egy egészszám lebegőpontos alakját adja vissza.</dd>
  3104. <dt>Paraméterek</dt><dd>
  3105. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3106. <tr><td>val </td><td>érték </td></tr></table></div></dd>
  3107. <dt>Visszatérési érték</dt><dd>
  3108. Lebegőpontos szám.</dd>
  3109. <dt>Lásd még</dt><dd>
  3110. <a href="#int" onclick="c('int')">int</a></dd></dl>
  3111. <hr>
  3112. <h2 id="int">int<a href="#int"></a></h2>
  3113. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_t">int</span>(<span class="hl_t">float</span> <span class="hl_v">val</span>)</code></div>
  3114. <dl>
  3115. <dt>Leírás</dt><dd>
  3116. Egy lebegőpontos szám egészszám alakos változatát adja vissza.</dd>
  3117. <dt>Paraméterek</dt><dd>
  3118. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3119. <tr><td>val </td><td>érték </td></tr></table></div></dd>
  3120. <dt>Visszatérési érték</dt><dd>
  3121. Egészszám.</dd>
  3122. <dt>Lásd még</dt><dd>
  3123. <a href="#float" onclick="c('float')">float</a></dd></dl>
  3124. <hr>
  3125. <h2 id="floor">floor<a href="#floor"></a></h2>
  3126. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">floor</span>(<span class="hl_t">float</span> <span class="hl_v">val</span>)</code></div>
  3127. <dl>
  3128. <dt>Leírás</dt><dd>
  3129. Visszaadja a legnagyobb olyan egész lebegőpontos számot, ami még kissebb a megadottnál.</dd>
  3130. <dt>Paraméterek</dt><dd>
  3131. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3132. <tr><td>val </td><td>érték </td></tr></table></div></dd>
  3133. <dt>Visszatérési érték</dt><dd>
  3134. A szám lefele kerekítve.</dd>
  3135. <dt>Lásd még</dt><dd>
  3136. <a href="#ceil" onclick="c('ceil')">ceil</a></dd></dl>
  3137. <hr>
  3138. <h2 id="ceil">ceil<a href="#ceil"></a></h2>
  3139. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">ceil</span>(<span class="hl_t">float</span> <span class="hl_v">val</span>)</code></div>
  3140. <dl>
  3141. <dt>Leírás</dt><dd>
  3142. Visszaadja a legkissebb olyan egész lebegőpontos számot, ami már nagyobb a megadottnál.</dd>
  3143. <dt>Paraméterek</dt><dd>
  3144. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3145. <tr><td>val </td><td>érték </td></tr></table></div></dd>
  3146. <dt>Visszatérési érték</dt><dd>
  3147. A szám felfele kerekítve.</dd>
  3148. <dt>Lásd még</dt><dd>
  3149. <a href="#floor" onclick="c('floor')">floor</a></dd></dl>
  3150. <hr>
  3151. <h2 id="sgn">sgn<a href="#sgn"></a></h2>
  3152. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">sgn</span>(<span class="hl_t">float</span> <span class="hl_v">val</span>)</code></div>
  3153. <dl>
  3154. <dt>Leírás</dt><dd>
  3155. Visszaadja a szám előjelét.</dd>
  3156. <dt>Paraméterek</dt><dd>
  3157. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3158. <tr><td>val </td><td>érték </td></tr></table></div></dd>
  3159. <dt>Visszatérési érték</dt><dd>
  3160. Vagy 1.0 vagy -1.0.</dd>
  3161. <dt>Lásd még</dt><dd>
  3162. <a href="#abs" onclick="c('abs')">abs</a></dd></dl>
  3163. <hr>
  3164. <h2 id="abs">abs<a href="#abs"></a></h2>
  3165. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">abs</span>(<span class="hl_t">float</span> <span class="hl_v">val</span>)</code></div>
  3166. <dl>
  3167. <dt>Leírás</dt><dd>
  3168. Visszaadja a lebegőpontos szám abszolút értékét.</dd>
  3169. <dt>Paraméterek</dt><dd>
  3170. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3171. <tr><td>val </td><td>érték </td></tr></table></div></dd>
  3172. <dt>Visszatérési érték</dt><dd>
  3173. Vagy az érték, vagy -érték, mindig pozitív.</dd>
  3174. <dt>Lásd még</dt><dd>
  3175. <a href="#sgn" onclick="c('sgn')">sgn</a></dd></dl>
  3176. <hr>
  3177. <h2 id="exp">exp<a href="#exp"></a></h2>
  3178. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">exp</span>(<span class="hl_t">float</span> <span class="hl_v">val</span>)</code></div>
  3179. <dl>
  3180. <dt>Leírás</dt><dd>
  3181. Visszaadja az érték exponenciálisát, azaz a természetes alapú logaritmus értékedik hatványát.</dd>
  3182. <dt>Paraméterek</dt><dd>
  3183. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3184. <tr><td>val </td><td>érték </td></tr></table></div></dd>
  3185. <dt>Visszatérési érték</dt><dd>
  3186. Az e<sup>val</sup> értéke.</dd>
  3187. <dt>Lásd még</dt><dd>
  3188. <a href="#log" onclick="c('log')">log</a>, <a href="#pow" onclick="c('pow')">pow</a></dd></dl>
  3189. <hr>
  3190. <h2 id="log">log<a href="#log"></a></h2>
  3191. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">log</span>(<span class="hl_t">float</span> <span class="hl_v">val</span>)</code></div>
  3192. <dl>
  3193. <dt>Leírás</dt><dd>
  3194. Visszaadja az érték természetes alapú logaritmusát.</dd>
  3195. <dt>Paraméterek</dt><dd>
  3196. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3197. <tr><td>val </td><td>érték </td></tr></table></div></dd>
  3198. <dt>Visszatérési érték</dt><dd>
  3199. A val természetes alapú logaritmusa.</dd>
  3200. <dt>Lásd még</dt><dd>
  3201. <a href="#exp" onclick="c('exp')">exp</a></dd></dl>
  3202. <hr>
  3203. <h2 id="pow">pow<a href="#pow"></a></h2>
  3204. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">pow</span>(<span class="hl_t">float</span> <span class="hl_v">val</span>, <span class="hl_t">float</span> <span class="hl_v">exp</span>)</code></div>
  3205. <dl>
  3206. <dt>Leírás</dt><dd>
  3207. Visszaadja egy szám hatványát. Ez nagyon lassú, próbáld elkerülni a használatát.</dd>
  3208. <dt>Paraméterek</dt><dd>
  3209. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3210. <tr><td>val </td><td>érték </td></tr>
  3211. <tr><td>exp </td><td>kitevő </td></tr></table></div></dd>
  3212. <dt>Visszatérési érték</dt><dd>
  3213. A val<sup>exp</sup> értéke.</dd>
  3214. <dt>Lásd még</dt><dd>
  3215. <a href="#exp" onclick="c('exp')">exp</a>, <a href="#sqrt" onclick="c('sqrt')">sqrt</a>, <a href="#rsqrt" onclick="c('rsqrt')">rsqrt</a></dd></dl>
  3216. <hr>
  3217. <h2 id="sqrt">sqrt<a href="#sqrt"></a></h2>
  3218. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">sqrt</span>(<span class="hl_t">float</span> <span class="hl_v">val</span>)</code></div>
  3219. <dl>
  3220. <dt>Leírás</dt><dd>
  3221. Visszaadja egy szám négyzetgyökét. Ez nagyon lassú, próbáld elkerülni a használatát.</dd>
  3222. <dt>Paraméterek</dt><dd>
  3223. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3224. <tr><td>val </td><td>érték </td></tr></table></div></dd>
  3225. <dt>Visszatérési érték</dt><dd>
  3226. Az érték négyzetgyöke.</dd>
  3227. <dt>Lásd még</dt><dd>
  3228. <a href="#pow" onclick="c('pow')">pow</a>, <a href="#rsqrt" onclick="c('rsqrt')">rsqrt</a></dd></dl>
  3229. <hr>
  3230. <h2 id="rsqrt">rsqrt<a href="#rsqrt"></a></h2>
  3231. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">rsqrt</span>(<span class="hl_t">float</span> <span class="hl_v">val</span>)</code></div>
  3232. <dl>
  3233. <dt>Leírás</dt><dd>
  3234. Visszaadja egy szám négyzetgyökének reciprokát (1/sqrt(val)). John Carmack féle gyors metódust használ.</dd>
  3235. <dt>Paraméterek</dt><dd>
  3236. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3237. <tr><td>val </td><td>érték </td></tr></table></div></dd>
  3238. <dt>Visszatérési érték</dt><dd>
  3239. Az érték négyzetgyökének reciproka.</dd>
  3240. <dt>Lásd még</dt><dd>
  3241. <a href="#pow" onclick="c('pow')">pow</a>, <a href="#sqrt" onclick="c('sqrt')">sqrt</a></dd></dl>
  3242. <hr>
  3243. <h2 id="clamp">clamp<a href="#clamp"></a></h2>
  3244. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">clamp</span>(<span class="hl_t">float</span> <span class="hl_v">val</span>, <span class="hl_t">float</span> <span class="hl_v">minv</span>, <span class="hl_t">float</span> <span class="hl_v">maxv</span>)</code></div>
  3245. <dl>
  3246. <dt>Leírás</dt><dd>
  3247. Lecsípi (klimpeli) a megadott értéket két határérték közé.</dd>
  3248. <dt>Paraméterek</dt><dd>
  3249. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3250. <tr><td>val </td><td>érték </td></tr>
  3251. <tr><td>minv </td><td>minimum érték </td></tr>
  3252. <tr><td>maxv </td><td>maximum érték </td></tr></table></div></dd>
  3253. <dt>Visszatérési érték</dt><dd>
  3254. Klimpelt érték.</dd>
  3255. <dt>Lásd még</dt><dd>
  3256. <a href="#clampv2" onclick="c('clampv2')">clampv2</a>, <a href="#clampv3" onclick="c('clampv3')">clampv3</a>, <a href="#clampv4" onclick="c('clampv4')">clampv4</a></dd></dl>
  3257. <hr>
  3258. <h2 id="lerp">lerp<a href="#lerp"></a></h2>
  3259. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">lerp</span>(<span class="hl_t">float</span> <span class="hl_v">a</span>, <span class="hl_t">float</span> <span class="hl_v">b</span>, <span class="hl_t">float</span> <span class="hl_v">t</span>)</code></div>
  3260. <dl>
  3261. <dt>Leírás</dt><dd>
  3262. Lineárisan interpolál két érték között.</dd>
  3263. <dt>Paraméterek</dt><dd>
  3264. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3265. <tr><td>a </td><td>első lebegőpontos érték </td></tr>
  3266. <tr><td>b </td><td>második lebegőpontos érték </td></tr>
  3267. <tr><td>t </td><td>interpoláció értéke 0.0 és 1.0 között </td></tr></table></div></dd>
  3268. <dt>Lásd még</dt><dd>
  3269. <a href="#lerpv2" onclick="c('lerpv2')">lerpv2</a>, <a href="#lerpv3" onclick="c('lerpv3')">lerpv3</a>, <a href="#lerpv4" onclick="c('lerpv4')">lerpv4</a>, <a href="#lerpq" onclick="c('lerpq')">lerpq</a>, <a href="#slerpq" onclick="c('slerpq')">slerpq</a></dd></dl>
  3270. <hr>
  3271. <h2 id="pi">pi<a href="#pi"></a></h2>
  3272. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">pi</span>(<span class="hl_t">void</span>)</code></div>
  3273. <dl>
  3274. <dt>Leírás</dt><dd>
  3275. Visszaadja a π értékét lebegőpontos számként.</dd>
  3276. <dt>Visszatérési érték</dt><dd>
  3277. A 3.14159265358979323846 érték.</dd></dl>
  3278. <hr>
  3279. <h2 id="cos">cos<a href="#cos"></a></h2>
  3280. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">cos</span>(<span class="hl_t">uint16_t</span> <span class="hl_v">deg</span>)</code></div>
  3281. <dl>
  3282. <dt>Leírás</dt><dd>
  3283. Visszaadja a koszinuszt.</dd>
  3284. <dt>Paraméterek</dt><dd>
  3285. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3286. <tr><td>deg </td><td>fok, 0-tól 359-ig, 0 felfele, 90 jobbra </td></tr></table></div></dd>
  3287. <dt>Visszatérési érték</dt><dd>
  3288. A fok koszinusza, -1.0 és 1.0 közötti érték.</dd>
  3289. <dt>Lásd még</dt><dd>
  3290. <a href="#sin" onclick="c('sin')">sin</a>, <a href="#tan" onclick="c('tan')">tan</a>, <a href="#acos" onclick="c('acos')">acos</a>, <a href="#asin" onclick="c('asin')">asin</a>, <a href="#atan" onclick="c('atan')">atan</a>, <a href="#atan2" onclick="c('atan2')">atan2</a></dd></dl>
  3291. <hr>
  3292. <h2 id="sin">sin<a href="#sin"></a></h2>
  3293. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">sin</span>(<span class="hl_t">uint16_t</span> <span class="hl_v">deg</span>)</code></div>
  3294. <dl>
  3295. <dt>Leírás</dt><dd>
  3296. Visszaadja a szinuszt.</dd>
  3297. <dt>Paraméterek</dt><dd>
  3298. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3299. <tr><td>deg </td><td>fok, 0-tól 359-ig, 0 felfele, 90 jobbra </td></tr></table></div></dd>
  3300. <dt>Visszatérési érték</dt><dd>
  3301. A fok szinusza, -1.0 és 1.0 közötti érték.</dd>
  3302. <dt>Lásd még</dt><dd>
  3303. <a href="#cos" onclick="c('cos')">cos</a>, <a href="#tan" onclick="c('tan')">tan</a>, <a href="#acos" onclick="c('acos')">acos</a>, <a href="#asin" onclick="c('asin')">asin</a>, <a href="#atan" onclick="c('atan')">atan</a>, <a href="#atan2" onclick="c('atan2')">atan2</a></dd></dl>
  3304. <hr>
  3305. <h2 id="tan">tan<a href="#tan"></a></h2>
  3306. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">tan</span>(<span class="hl_t">uint16_t</span> <span class="hl_v">deg</span>)</code></div>
  3307. <dl>
  3308. <dt>Leírás</dt><dd>
  3309. Visszaadja a tangenst.</dd>
  3310. <dt>Paraméterek</dt><dd>
  3311. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3312. <tr><td>deg </td><td>fok, 0-tól 359-ig, 0 felfele, 90 jobbra </td></tr></table></div></dd>
  3313. <dt>Visszatérési érték</dt><dd>
  3314. A fok tangense, -1.0 és 1.0 közötti érték.</dd>
  3315. <dt>Lásd még</dt><dd>
  3316. <a href="#cos" onclick="c('cos')">cos</a>, <a href="#sin" onclick="c('sin')">sin</a>, <a href="#acos" onclick="c('acos')">acos</a>, <a href="#asin" onclick="c('asin')">asin</a>, <a href="#atan" onclick="c('atan')">atan</a>, <a href="#atan2" onclick="c('atan2')">atan2</a></dd></dl>
  3317. <hr>
  3318. <h2 id="acos">acos<a href="#acos"></a></h2>
  3319. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">uint16_t</span> <span class="hl_f">acos</span>(<span class="hl_t">float</span> <span class="hl_v">val</span>)</code></div>
  3320. <dl>
  3321. <dt>Leírás</dt><dd>
  3322. Visszaadja az arkuszkoszinuszt.</dd>
  3323. <dt>Paraméterek</dt><dd>
  3324. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3325. <tr><td>val </td><td>érték, -1.0 és 1.0 között </td></tr></table></div></dd>
  3326. <dt>Visszatérési érték</dt><dd>
  3327. Arkuszkoszinusz fokokban, 0-tól 359-ig, 0 felfele, 90 jobbra.</dd>
  3328. <dt>Lásd még</dt><dd>
  3329. <a href="#cos" onclick="c('cos')">cos</a>, <a href="#sin" onclick="c('sin')">sin</a>, <a href="#tan" onclick="c('tan')">tan</a>, <a href="#asin" onclick="c('asin')">asin</a>, <a href="#atan" onclick="c('atan')">atan</a>, <a href="#atan2" onclick="c('atan2')">atan2</a></dd></dl>
  3330. <hr>
  3331. <h2 id="asin">asin<a href="#asin"></a></h2>
  3332. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">uint16_t</span> <span class="hl_f">asin</span>(<span class="hl_t">float</span> <span class="hl_v">val</span>)</code></div>
  3333. <dl>
  3334. <dt>Leírás</dt><dd>
  3335. Visszaadja az arkuszszinuszt.</dd>
  3336. <dt>Paraméterek</dt><dd>
  3337. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3338. <tr><td>val </td><td>érték, -1.0 és 1.0 között </td></tr></table></div></dd>
  3339. <dt>Visszatérési érték</dt><dd>
  3340. Arkuszszinusz fokokban, 0-tól 359-ig, 0 felfele, 90 jobbra.</dd>
  3341. <dt>Lásd még</dt><dd>
  3342. <a href="#cos" onclick="c('cos')">cos</a>, <a href="#sin" onclick="c('sin')">sin</a>, <a href="#tan" onclick="c('tan')">tan</a>, <a href="#acos" onclick="c('acos')">acos</a>, <a href="#atan" onclick="c('atan')">atan</a>, <a href="#atan2" onclick="c('atan2')">atan2</a></dd></dl>
  3343. <hr>
  3344. <h2 id="atan">atan<a href="#atan"></a></h2>
  3345. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">uint16_t</span> <span class="hl_f">atan</span>(<span class="hl_t">float</span> <span class="hl_v">val</span>)</code></div>
  3346. <dl>
  3347. <dt>Leírás</dt><dd>
  3348. Visszaadja az arkusztangenst.</dd>
  3349. <dt>Paraméterek</dt><dd>
  3350. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3351. <tr><td>val </td><td>érték, -1.0 és 1.0 között </td></tr></table></div></dd>
  3352. <dt>Visszatérési érték</dt><dd>
  3353. Arkusztangens fokokban, 0-tól 359-ig, 0 felfele, 90 jobbra.</dd>
  3354. <dt>Lásd még</dt><dd>
  3355. <a href="#cos" onclick="c('cos')">cos</a>, <a href="#sin" onclick="c('sin')">sin</a>, <a href="#tan" onclick="c('tan')">tan</a>, <a href="#acos" onclick="c('acos')">acos</a>, <a href="#asin" onclick="c('asin')">asin</a>, <a href="#atan2" onclick="c('atan2')">atan2</a></dd></dl>
  3356. <hr>
  3357. <h2 id="atan2">atan2<a href="#atan2"></a></h2>
  3358. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">uint16_t</span> <span class="hl_f">atan2</span>(<span class="hl_t">float</span> <span class="hl_v">y</span>, <span class="hl_t">float</span> <span class="hl_v">x</span>)</code></div>
  3359. <dl>
  3360. <dt>Leírás</dt><dd>
  3361. Visszaadja y/x arkusztangensét, figyelembe véve az y és x előjelét a kvadráns meghatározásánál.</dd>
  3362. <dt>Paraméterek</dt><dd>
  3363. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3364. <tr><td>y </td><td>Y koordináta </td></tr>
  3365. <tr><td>x </td><td>X koordináta </td></tr></table></div></dd>
  3366. <dt>Visszatérési érték</dt><dd>
  3367. Arkusztangens fokokban, 0-tól 359-ig, 0 felfele, 90 jobbra.</dd>
  3368. <dt>Lásd még</dt><dd>
  3369. <a href="#cos" onclick="c('cos')">cos</a>, <a href="#sin" onclick="c('sin')">sin</a>, <a href="#tan" onclick="c('tan')">tan</a>, <a href="#acos" onclick="c('acos')">acos</a>, <a href="#asin" onclick="c('asin')">asin</a></dd></dl>
  3370. <hr>
  3371. <h2 id="dotv2">dotv2<a href="#dotv2"></a></h2>
  3372. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">dotv2</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  3373. <dl>
  3374. <dt>Leírás</dt><dd>
  3375. Kiszámolja a kételemű vektorok skaláris szorzatát (dot product).</dd>
  3376. <dt>Paraméterek</dt><dd>
  3377. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3378. <tr><td>a </td><td>két float címe </td></tr>
  3379. <tr><td>b </td><td>két float címe </td></tr></table></div></dd>
  3380. <dt>Visszatérési érték</dt><dd>
  3381. A vektorok skaláris szorzata.</dd>
  3382. <dt>Lásd még</dt><dd>
  3383. <a href="#lenv2" onclick="c('lenv2')">lenv2</a>, <a href="#scalev2" onclick="c('scalev2')">scalev2</a>, <a href="#negv2" onclick="c('negv2')">negv2</a>, <a href="#addv2" onclick="c('addv2')">addv2</a>, <a href="#subv2" onclick="c('subv2')">subv2</a>, <a href="#mulv2" onclick="c('mulv2')">mulv2</a>, <a href="#divv2" onclick="c('divv2')">divv2</a>, <a href="#clampv2" onclick="c('clampv2')">clampv2</a>, <a href="#lerpv2" onclick="c('lerpv2')">lerpv2</a>, <a href="#normv2" onclick="c('normv2')">normv2</a></dd></dl>
  3384. <hr>
  3385. <h2 id="lenv2">lenv2<a href="#lenv2"></a></h2>
  3386. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">lenv2</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>)</code></div>
  3387. <dl>
  3388. <dt>Leírás</dt><dd>
  3389. Kiszámítja a kételemű vektor hosszát. Ez nagyon lassú, próbáld elkerülni a használatát (lásd <a href="#normv2" onclick="c('normv2')">normv2</a>).</dd>
  3390. <dt>Paraméterek</dt><dd>
  3391. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3392. <tr><td>a </td><td>két float címe </td></tr></table></div></dd>
  3393. <dt>Visszatérési érték</dt><dd>
  3394. A vektor hossza.</dd>
  3395. <dt>Lásd még</dt><dd>
  3396. <a href="#dotv2" onclick="c('dotv2')">dotv2</a>, <a href="#scalev2" onclick="c('scalev2')">scalev2</a>, <a href="#negv2" onclick="c('negv2')">negv2</a>, <a href="#addv2" onclick="c('addv2')">addv2</a>, <a href="#subv2" onclick="c('subv2')">subv2</a>, <a href="#mulv2" onclick="c('mulv2')">mulv2</a>, <a href="#divv2" onclick="c('divv2')">divv2</a>, <a href="#clampv2" onclick="c('clampv2')">clampv2</a>, <a href="#lerpv2" onclick="c('lerpv2')">lerpv2</a>, <a href="#normv2" onclick="c('normv2')">normv2</a></dd></dl>
  3397. <hr>
  3398. <h2 id="scalev2">scalev2<a href="#scalev2"></a></h2>
  3399. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">scalev2</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">float</span> <span class="hl_v">s</span>)</code></div>
  3400. <dl>
  3401. <dt>Leírás</dt><dd>
  3402. Atméretezi a kételemű vektort (skálázás, skalárral szorzás).</dd>
  3403. <dt>Paraméterek</dt><dd>
  3404. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3405. <tr><td>a </td><td>két float címe </td></tr>
  3406. <tr><td>s </td><td>skálázó érték </td></tr></table></div></dd>
  3407. <dt>Lásd még</dt><dd>
  3408. <a href="#dotv2" onclick="c('dotv2')">dotv2</a>, <a href="#lenv2" onclick="c('lenv2')">lenv2</a>, <a href="#negv2" onclick="c('negv2')">negv2</a>, <a href="#addv2" onclick="c('addv2')">addv2</a>, <a href="#subv2" onclick="c('subv2')">subv2</a>, <a href="#mulv2" onclick="c('mulv2')">mulv2</a>, <a href="#divv2" onclick="c('divv2')">divv2</a>, <a href="#clampv2" onclick="c('clampv2')">clampv2</a>, <a href="#lerpv2" onclick="c('lerpv2')">lerpv2</a>, <a href="#normv2" onclick="c('normv2')">normv2</a></dd></dl>
  3409. <hr>
  3410. <h2 id="negv2">negv2<a href="#negv2"></a></h2>
  3411. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">negv2</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>)</code></div>
  3412. <dl>
  3413. <dt>Leírás</dt><dd>
  3414. Negálja a kételemű vektort.</dd>
  3415. <dt>Paraméterek</dt><dd>
  3416. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3417. <tr><td>a </td><td>két float címe </td></tr></table></div></dd>
  3418. <dt>Lásd még</dt><dd>
  3419. <a href="#dotv2" onclick="c('dotv2')">dotv2</a>, <a href="#lenv2" onclick="c('lenv2')">lenv2</a>, <a href="#scalev2" onclick="c('scalev2')">scalev2</a>, <a href="#addv2" onclick="c('addv2')">addv2</a>, <a href="#subv2" onclick="c('subv2')">subv2</a>, <a href="#mulv2" onclick="c('mulv2')">mulv2</a>, <a href="#divv2" onclick="c('divv2')">divv2</a>, <a href="#clampv2" onclick="c('clampv2')">clampv2</a>, <a href="#lerpv2" onclick="c('lerpv2')">lerpv2</a>, <a href="#normv2" onclick="c('normv2')">normv2</a></dd></dl>
  3420. <hr>
  3421. <h2 id="addv2">addv2<a href="#addv2"></a></h2>
  3422. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">addv2</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  3423. <dl>
  3424. <dt>Leírás</dt><dd>
  3425. Összead két kételemű vektort.</dd>
  3426. <dt>Paraméterek</dt><dd>
  3427. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3428. <tr><td>dst </td><td>két float címe (kimenet) </td></tr>
  3429. <tr><td>a </td><td>két float címe </td></tr>
  3430. <tr><td>b </td><td>két float címe </td></tr></table></div></dd>
  3431. <dt>Lásd még</dt><dd>
  3432. <a href="#dotv2" onclick="c('dotv2')">dotv2</a>, <a href="#lenv2" onclick="c('lenv2')">lenv2</a>, <a href="#scalev2" onclick="c('scalev2')">scalev2</a>, <a href="#negv2" onclick="c('negv2')">negv2</a>, <a href="#subv2" onclick="c('subv2')">subv2</a>, <a href="#mulv2" onclick="c('mulv2')">mulv2</a>, <a href="#divv2" onclick="c('divv2')">divv2</a>, <a href="#clampv2" onclick="c('clampv2')">clampv2</a>, <a href="#lerpv2" onclick="c('lerpv2')">lerpv2</a>, <a href="#normv2" onclick="c('normv2')">normv2</a></dd></dl>
  3433. <hr>
  3434. <h2 id="subv2">subv2<a href="#subv2"></a></h2>
  3435. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">subv2</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  3436. <dl>
  3437. <dt>Leírás</dt><dd>
  3438. Kivon két kételemű vektort.</dd>
  3439. <dt>Paraméterek</dt><dd>
  3440. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3441. <tr><td>dst </td><td>két float címe (kimenet) </td></tr>
  3442. <tr><td>a </td><td>két float címe </td></tr>
  3443. <tr><td>b </td><td>két float címe </td></tr></table></div></dd>
  3444. <dt>Lásd még</dt><dd>
  3445. <a href="#dotv2" onclick="c('dotv2')">dotv2</a>, <a href="#lenv2" onclick="c('lenv2')">lenv2</a>, <a href="#scalev2" onclick="c('scalev2')">scalev2</a>, <a href="#negv2" onclick="c('negv2')">negv2</a>, <a href="#addv2" onclick="c('addv2')">addv2</a>, <a href="#mulv2" onclick="c('mulv2')">mulv2</a>, <a href="#divv2" onclick="c('divv2')">divv2</a>, <a href="#clampv2" onclick="c('clampv2')">clampv2</a>, <a href="#lerpv2" onclick="c('lerpv2')">lerpv2</a>, <a href="#normv2" onclick="c('normv2')">normv2</a></dd></dl>
  3446. <hr>
  3447. <h2 id="mulv2">mulv2<a href="#mulv2"></a></h2>
  3448. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">mulv2</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  3449. <dl>
  3450. <dt>Leírás</dt><dd>
  3451. Összeszoroz két kételemű vektort (lineáris kombináció).</dd>
  3452. <dt>Paraméterek</dt><dd>
  3453. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3454. <tr><td>dst </td><td>két float címe (kimenet) </td></tr>
  3455. <tr><td>a </td><td>két float címe </td></tr>
  3456. <tr><td>b </td><td>két float címe </td></tr></table></div></dd>
  3457. <dt>Lásd még</dt><dd>
  3458. <a href="#dotv2" onclick="c('dotv2')">dotv2</a>, <a href="#lenv2" onclick="c('lenv2')">lenv2</a>, <a href="#scalev2" onclick="c('scalev2')">scalev2</a>, <a href="#negv2" onclick="c('negv2')">negv2</a>, <a href="#addv2" onclick="c('addv2')">addv2</a>, <a href="#subv2" onclick="c('subv2')">subv2</a>, <a href="#divv2" onclick="c('divv2')">divv2</a>, <a href="#clampv2" onclick="c('clampv2')">clampv2</a>, <a href="#lerpv2" onclick="c('lerpv2')">lerpv2</a>, <a href="#normv2" onclick="c('normv2')">normv2</a></dd></dl>
  3459. <hr>
  3460. <h2 id="divv2">divv2<a href="#divv2"></a></h2>
  3461. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">divv2</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  3462. <dl>
  3463. <dt>Leírás</dt><dd>
  3464. Eloszt két kételemű vektort (lineáris kombináció).</dd>
  3465. <dt>Paraméterek</dt><dd>
  3466. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3467. <tr><td>dst </td><td>két float címe (kimenet) </td></tr>
  3468. <tr><td>a </td><td>két float címe </td></tr>
  3469. <tr><td>b </td><td>két float címe </td></tr></table></div></dd>
  3470. <dt>Lásd még</dt><dd>
  3471. <a href="#dotv2" onclick="c('dotv2')">dotv2</a>, <a href="#lenv2" onclick="c('lenv2')">lenv2</a>, <a href="#scalev2" onclick="c('scalev2')">scalev2</a>, <a href="#negv2" onclick="c('negv2')">negv2</a>, <a href="#addv2" onclick="c('addv2')">addv2</a>, <a href="#subv2" onclick="c('subv2')">subv2</a>, <a href="#mulv2" onclick="c('mulv2')">mulv2</a>, <a href="#clampv2" onclick="c('clampv2')">clampv2</a>, <a href="#lerpv2" onclick="c('lerpv2')">lerpv2</a>, <a href="#normv2" onclick="c('normv2')">normv2</a></dd></dl>
  3472. <hr>
  3473. <h2 id="clampv2">clampv2<a href="#clampv2"></a></h2>
  3474. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">clampv2</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">v</span>, <span class="hl_t">addr_t</span> <span class="hl_v">minv</span>, <span class="hl_t">addr_t</span> <span class="hl_v">maxv</span>)</code></div>
  3475. <dl>
  3476. <dt>Leírás</dt><dd>
  3477. Lecsípi (klimpeli) a megadott kételemű vektort két határérték közé.</dd>
  3478. <dt>Paraméterek</dt><dd>
  3479. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3480. <tr><td>dst </td><td>két float címe (kimenet) </td></tr>
  3481. <tr><td>v </td><td>két float címe, bemeneti érték </td></tr>
  3482. <tr><td>minv </td><td>két float címe, minimum </td></tr>
  3483. <tr><td>maxv </td><td>két float címe, maximum </td></tr></table></div></dd>
  3484. <dt>Lásd még</dt><dd>
  3485. <a href="#dotv2" onclick="c('dotv2')">dotv2</a>, <a href="#lenv2" onclick="c('lenv2')">lenv2</a>, <a href="#scalev2" onclick="c('scalev2')">scalev2</a>, <a href="#negv2" onclick="c('negv2')">negv2</a>, <a href="#addv2" onclick="c('addv2')">addv2</a>, <a href="#subv2" onclick="c('subv2')">subv2</a>, <a href="#mulv2" onclick="c('mulv2')">mulv2</a>, <a href="#divv2" onclick="c('divv2')">divv2</a>, <a href="#lerpv2" onclick="c('lerpv2')">lerpv2</a>, <a href="#normv2" onclick="c('normv2')">normv2</a></dd></dl>
  3486. <hr>
  3487. <h2 id="lerpv2">lerpv2<a href="#lerpv2"></a></h2>
  3488. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">lerpv2</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>, <span class="hl_t">float</span> <span class="hl_v">t</span>)</code></div>
  3489. <dl>
  3490. <dt>Leírás</dt><dd>
  3491. Lineárisan interpolál két kételemű vektor között.</dd>
  3492. <dt>Paraméterek</dt><dd>
  3493. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3494. <tr><td>dst </td><td>két float címe (kimenet) </td></tr>
  3495. <tr><td>a </td><td>két float címe </td></tr>
  3496. <tr><td>b </td><td>két float címe </td></tr>
  3497. <tr><td>t </td><td>interpoláció értéke 0.0 és 1.0 között </td></tr></table></div></dd>
  3498. <dt>Lásd még</dt><dd>
  3499. <a href="#dotv2" onclick="c('dotv2')">dotv2</a>, <a href="#lenv2" onclick="c('lenv2')">lenv2</a>, <a href="#scalev2" onclick="c('scalev2')">scalev2</a>, <a href="#negv2" onclick="c('negv2')">negv2</a>, <a href="#addv2" onclick="c('addv2')">addv2</a>, <a href="#subv2" onclick="c('subv2')">subv2</a>, <a href="#mulv2" onclick="c('mulv2')">mulv2</a>, <a href="#divv2" onclick="c('divv2')">divv2</a>, <a href="#clampv2" onclick="c('clampv2')">clampv2</a>, <a href="#normv2" onclick="c('normv2')">normv2</a></dd></dl>
  3500. <hr>
  3501. <h2 id="normv2">normv2<a href="#normv2"></a></h2>
  3502. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">normv2</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>)</code></div>
  3503. <dl>
  3504. <dt>Leírás</dt><dd>
  3505. Normalizálja a kételemű vektort.</dd>
  3506. <dt>Paraméterek</dt><dd>
  3507. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3508. <tr><td>a </td><td>két float címe </td></tr></table></div></dd>
  3509. <dt>Lásd még</dt><dd>
  3510. <a href="#dotv2" onclick="c('dotv2')">dotv2</a>, <a href="#lenv2" onclick="c('lenv2')">lenv2</a>, <a href="#scalev2" onclick="c('scalev2')">scalev2</a>, <a href="#negv2" onclick="c('negv2')">negv2</a>, <a href="#addv2" onclick="c('addv2')">addv2</a>, <a href="#subv2" onclick="c('subv2')">subv2</a>, <a href="#mulv2" onclick="c('mulv2')">mulv2</a>, <a href="#divv2" onclick="c('divv2')">divv2</a>, <a href="#clampv2" onclick="c('clampv2')">clampv2</a>, <a href="#lerpv2" onclick="c('lerpv2')">lerpv2</a></dd></dl>
  3511. <hr>
  3512. <h2 id="dotv3">dotv3<a href="#dotv3"></a></h2>
  3513. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">dotv3</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  3514. <dl>
  3515. <dt>Leírás</dt><dd>
  3516. Kiszámolja a háromelemű vektorok skaláris szorzatát (dot product).</dd>
  3517. <dt>Paraméterek</dt><dd>
  3518. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3519. <tr><td>a </td><td>három float címe </td></tr>
  3520. <tr><td>b </td><td>három float címe </td></tr></table></div></dd>
  3521. <dt>Visszatérési érték</dt><dd>
  3522. A vektorok skaláris szorzata.</dd>
  3523. <dt>Lásd még</dt><dd>
  3524. <a href="#lenv3" onclick="c('lenv3')">lenv3</a>, <a href="#scalev3" onclick="c('scalev3')">scalev3</a>, <a href="#negv3" onclick="c('negv3')">negv3</a>, <a href="#addv3" onclick="c('addv3')">addv3</a>, <a href="#subv3" onclick="c('subv3')">subv3</a>, <a href="#mulv3" onclick="c('mulv3')">mulv3</a>, <a href="#divv3" onclick="c('divv3')">divv3</a>, <a href="#crossv3" onclick="c('crossv3')">crossv3</a>, <a href="#clampv3" onclick="c('clampv3')">clampv3</a>, <a href="#lerpv3" onclick="c('lerpv3')">lerpv3</a>, <a href="#normv3" onclick="c('normv3')">normv3</a></dd></dl>
  3525. <hr>
  3526. <h2 id="lenv3">lenv3<a href="#lenv3"></a></h2>
  3527. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">lenv3</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>)</code></div>
  3528. <dl>
  3529. <dt>Leírás</dt><dd>
  3530. Kiszámítja a háromelemű vektor hosszát. Ez nagyon lassú, próbáld elkerülni a használatát (lásd <a href="#normv3" onclick="c('normv3')">normv3</a>).</dd>
  3531. <dt>Paraméterek</dt><dd>
  3532. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3533. <tr><td>a </td><td>három float címe </td></tr></table></div></dd>
  3534. <dt>Visszatérési érték</dt><dd>
  3535. A vektor hossza.</dd>
  3536. <dt>Lásd még</dt><dd>
  3537. <a href="#dotv3" onclick="c('dotv3')">dotv3</a>, <a href="#scalev3" onclick="c('scalev3')">scalev3</a>, <a href="#negv3" onclick="c('negv3')">negv3</a>, <a href="#addv3" onclick="c('addv3')">addv3</a>, <a href="#subv3" onclick="c('subv3')">subv3</a>, <a href="#mulv3" onclick="c('mulv3')">mulv3</a>, <a href="#divv3" onclick="c('divv3')">divv3</a>, <a href="#crossv3" onclick="c('crossv3')">crossv3</a>, <a href="#clampv3" onclick="c('clampv3')">clampv3</a>, <a href="#lerpv3" onclick="c('lerpv3')">lerpv3</a>, <a href="#normv3" onclick="c('normv3')">normv3</a></dd></dl>
  3538. <hr>
  3539. <h2 id="scalev3">scalev3<a href="#scalev3"></a></h2>
  3540. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">scalev3</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">float</span> <span class="hl_v">s</span>)</code></div>
  3541. <dl>
  3542. <dt>Leírás</dt><dd>
  3543. Atméretezi a háromelemű vektort (skálázás, skalárral szorzás).</dd>
  3544. <dt>Paraméterek</dt><dd>
  3545. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3546. <tr><td>a </td><td>három float címe </td></tr>
  3547. <tr><td>s </td><td>skálázó érték </td></tr></table></div></dd>
  3548. <dt>Lásd még</dt><dd>
  3549. <a href="#dotv3" onclick="c('dotv3')">dotv3</a>, <a href="#lenv3" onclick="c('lenv3')">lenv3</a>, <a href="#negv3" onclick="c('negv3')">negv3</a>, <a href="#addv3" onclick="c('addv3')">addv3</a>, <a href="#subv3" onclick="c('subv3')">subv3</a>, <a href="#mulv3" onclick="c('mulv3')">mulv3</a>, <a href="#divv3" onclick="c('divv3')">divv3</a>, <a href="#crossv3" onclick="c('crossv3')">crossv3</a>, <a href="#clampv3" onclick="c('clampv3')">clampv3</a>, <a href="#lerpv3" onclick="c('lerpv3')">lerpv3</a>, <a href="#normv3" onclick="c('normv3')">normv3</a></dd></dl>
  3550. <hr>
  3551. <h2 id="negv3">negv3<a href="#negv3"></a></h2>
  3552. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">negv3</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>)</code></div>
  3553. <dl>
  3554. <dt>Leírás</dt><dd>
  3555. Negálja a háromelemű vektort.</dd>
  3556. <dt>Paraméterek</dt><dd>
  3557. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3558. <tr><td>a </td><td>három float címe </td></tr></table></div></dd>
  3559. <dt>Lásd még</dt><dd>
  3560. <a href="#dotv3" onclick="c('dotv3')">dotv3</a>, <a href="#lenv3" onclick="c('lenv3')">lenv3</a>, <a href="#scalev3" onclick="c('scalev3')">scalev3</a>, <a href="#addv3" onclick="c('addv3')">addv3</a>, <a href="#subv3" onclick="c('subv3')">subv3</a>, <a href="#mulv3" onclick="c('mulv3')">mulv3</a>, <a href="#divv3" onclick="c('divv3')">divv3</a>, <a href="#crossv3" onclick="c('crossv3')">crossv3</a>, <a href="#clampv3" onclick="c('clampv3')">clampv3</a>, <a href="#lerpv3" onclick="c('lerpv3')">lerpv3</a>, <a href="#normv3" onclick="c('normv3')">normv3</a></dd></dl>
  3561. <hr>
  3562. <h2 id="addv3">addv3<a href="#addv3"></a></h2>
  3563. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">addv3</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  3564. <dl>
  3565. <dt>Leírás</dt><dd>
  3566. Összead két háromelemű vektort.</dd>
  3567. <dt>Paraméterek</dt><dd>
  3568. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3569. <tr><td>dst </td><td>három float címe (kimenet) </td></tr>
  3570. <tr><td>a </td><td>három float címe </td></tr>
  3571. <tr><td>b </td><td>három float címe </td></tr></table></div></dd>
  3572. <dt>Lásd még</dt><dd>
  3573. <a href="#dotv3" onclick="c('dotv3')">dotv3</a>, <a href="#lenv3" onclick="c('lenv3')">lenv3</a>, <a href="#scalev3" onclick="c('scalev3')">scalev3</a>, <a href="#negv3" onclick="c('negv3')">negv3</a>, <a href="#subv3" onclick="c('subv3')">subv3</a>, <a href="#mulv3" onclick="c('mulv3')">mulv3</a>, <a href="#divv3" onclick="c('divv3')">divv3</a>, <a href="#crossv3" onclick="c('crossv3')">crossv3</a>, <a href="#clampv3" onclick="c('clampv3')">clampv3</a>, <a href="#lerpv3" onclick="c('lerpv3')">lerpv3</a>, <a href="#normv3" onclick="c('normv3')">normv3</a></dd></dl>
  3574. <hr>
  3575. <h2 id="subv3">subv3<a href="#subv3"></a></h2>
  3576. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">subv3</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  3577. <dl>
  3578. <dt>Leírás</dt><dd>
  3579. Kivon két háromelemű vektort.</dd>
  3580. <dt>Paraméterek</dt><dd>
  3581. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3582. <tr><td>dst </td><td>három float címe (kimenet) </td></tr>
  3583. <tr><td>a </td><td>három float címe </td></tr>
  3584. <tr><td>b </td><td>három float címe </td></tr></table></div></dd>
  3585. <dt>Lásd még</dt><dd>
  3586. <a href="#dotv3" onclick="c('dotv3')">dotv3</a>, <a href="#lenv3" onclick="c('lenv3')">lenv3</a>, <a href="#scalev3" onclick="c('scalev3')">scalev3</a>, <a href="#negv3" onclick="c('negv3')">negv3</a>, <a href="#addv3" onclick="c('addv3')">addv3</a>, <a href="#mulv3" onclick="c('mulv3')">mulv3</a>, <a href="#divv3" onclick="c('divv3')">divv3</a>, <a href="#crossv3" onclick="c('crossv3')">crossv3</a>, <a href="#clampv3" onclick="c('clampv3')">clampv3</a>, <a href="#lerpv3" onclick="c('lerpv3')">lerpv3</a>, <a href="#normv3" onclick="c('normv3')">normv3</a></dd></dl>
  3587. <hr>
  3588. <h2 id="mulv3">mulv3<a href="#mulv3"></a></h2>
  3589. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">mulv3</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  3590. <dl>
  3591. <dt>Leírás</dt><dd>
  3592. Összeszoroz két háromelemű vektort (lineáris kombináció).</dd>
  3593. <dt>Paraméterek</dt><dd>
  3594. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3595. <tr><td>dst </td><td>három float címe (kimenet) </td></tr>
  3596. <tr><td>a </td><td>három float címe </td></tr>
  3597. <tr><td>b </td><td>három float címe </td></tr></table></div></dd>
  3598. <dt>Lásd még</dt><dd>
  3599. <a href="#dotv3" onclick="c('dotv3')">dotv3</a>, <a href="#lenv3" onclick="c('lenv3')">lenv3</a>, <a href="#scalev3" onclick="c('scalev3')">scalev3</a>, <a href="#negv3" onclick="c('negv3')">negv3</a>, <a href="#addv3" onclick="c('addv3')">addv3</a>, <a href="#subv3" onclick="c('subv3')">subv3</a>, <a href="#divv3" onclick="c('divv3')">divv3</a>, <a href="#crossv3" onclick="c('crossv3')">crossv3</a>, <a href="#clampv3" onclick="c('clampv3')">clampv3</a>, <a href="#lerpv3" onclick="c('lerpv3')">lerpv3</a>, <a href="#normv3" onclick="c('normv3')">normv3</a></dd></dl>
  3600. <hr>
  3601. <h2 id="divv3">divv3<a href="#divv3"></a></h2>
  3602. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">divv3</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  3603. <dl>
  3604. <dt>Leírás</dt><dd>
  3605. Eloszt két háromelemű vektort (lineáris kombináció).</dd>
  3606. <dt>Paraméterek</dt><dd>
  3607. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3608. <tr><td>dst </td><td>három float címe (kimenet) </td></tr>
  3609. <tr><td>a </td><td>három float címe </td></tr>
  3610. <tr><td>b </td><td>három float címe </td></tr></table></div></dd>
  3611. <dt>Lásd még</dt><dd>
  3612. <a href="#dotv3" onclick="c('dotv3')">dotv3</a>, <a href="#lenv3" onclick="c('lenv3')">lenv3</a>, <a href="#scalev3" onclick="c('scalev3')">scalev3</a>, <a href="#negv3" onclick="c('negv3')">negv3</a>, <a href="#addv3" onclick="c('addv3')">addv3</a>, <a href="#subv3" onclick="c('subv3')">subv3</a>, <a href="#mulv3" onclick="c('mulv3')">mulv3</a>, <a href="#crossv3" onclick="c('crossv3')">crossv3</a>, <a href="#clampv3" onclick="c('clampv3')">clampv3</a>, <a href="#lerpv3" onclick="c('lerpv3')">lerpv3</a>, <a href="#normv3" onclick="c('normv3')">normv3</a></dd></dl>
  3613. <hr>
  3614. <h2 id="crossv3">crossv3<a href="#crossv3"></a></h2>
  3615. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">crossv3</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  3616. <dl>
  3617. <dt>Leírás</dt><dd>
  3618. Összeszoroz két háromelemű vektort (cross product, keresztszorzat, vektoriális szorzat).</dd>
  3619. <dt>Paraméterek</dt><dd>
  3620. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3621. <tr><td>dst </td><td>három float címe (kimenet) </td></tr>
  3622. <tr><td>a </td><td>három float címe </td></tr>
  3623. <tr><td>b </td><td>három float címe </td></tr></table></div></dd>
  3624. <dt>Lásd még</dt><dd>
  3625. <a href="#dotv3" onclick="c('dotv3')">dotv3</a>, <a href="#lenv3" onclick="c('lenv3')">lenv3</a>, <a href="#scalev3" onclick="c('scalev3')">scalev3</a>, <a href="#negv3" onclick="c('negv3')">negv3</a>, <a href="#addv3" onclick="c('addv3')">addv3</a>, <a href="#subv3" onclick="c('subv3')">subv3</a>, <a href="#mulv3" onclick="c('mulv3')">mulv3</a>, <a href="#divv3" onclick="c('divv3')">divv3</a>, <a href="#clampv3" onclick="c('clampv3')">clampv3</a>, <a href="#lerpv3" onclick="c('lerpv3')">lerpv3</a>, <a href="#normv3" onclick="c('normv3')">normv3</a></dd></dl>
  3626. <hr>
  3627. <h2 id="clampv3">clampv3<a href="#clampv3"></a></h2>
  3628. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">clampv3</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">v</span>, <span class="hl_t">addr_t</span> <span class="hl_v">minv</span>, <span class="hl_t">addr_t</span> <span class="hl_v">maxv</span>)</code></div>
  3629. <dl>
  3630. <dt>Leírás</dt><dd>
  3631. Lecsípi (klimpeli) a megadott háromelemű vektort két határérték közé.</dd>
  3632. <dt>Paraméterek</dt><dd>
  3633. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3634. <tr><td>dst </td><td>három float címe (kimenet) </td></tr>
  3635. <tr><td>v </td><td>három float címe, bemeneti érték </td></tr>
  3636. <tr><td>minv </td><td>három float címe, minimum </td></tr>
  3637. <tr><td>maxv </td><td>három float címe, maximum </td></tr></table></div></dd>
  3638. <dt>Lásd még</dt><dd>
  3639. <a href="#dotv3" onclick="c('dotv3')">dotv3</a>, <a href="#lenv3" onclick="c('lenv3')">lenv3</a>, <a href="#scalev3" onclick="c('scalev3')">scalev3</a>, <a href="#negv3" onclick="c('negv3')">negv3</a>, <a href="#addv3" onclick="c('addv3')">addv3</a>, <a href="#subv3" onclick="c('subv3')">subv3</a>, <a href="#mulv3" onclick="c('mulv3')">mulv3</a>, <a href="#divv3" onclick="c('divv3')">divv3</a>, <a href="#crossv3" onclick="c('crossv3')">crossv3</a>, <a href="#lerpv3" onclick="c('lerpv3')">lerpv3</a>, <a href="#normv3" onclick="c('normv3')">normv3</a></dd></dl>
  3640. <hr>
  3641. <h2 id="lerpv3">lerpv3<a href="#lerpv3"></a></h2>
  3642. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">lerpv3</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>, <span class="hl_t">float</span> <span class="hl_v">t</span>)</code></div>
  3643. <dl>
  3644. <dt>Leírás</dt><dd>
  3645. Lineárisan interpolál két háromelemű vektor között.</dd>
  3646. <dt>Paraméterek</dt><dd>
  3647. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3648. <tr><td>dst </td><td>három float címe (kimenet) </td></tr>
  3649. <tr><td>a </td><td>három float címe </td></tr>
  3650. <tr><td>b </td><td>három float címe </td></tr>
  3651. <tr><td>t </td><td>interpoláció értéke 0.0 és 1.0 között </td></tr></table></div></dd>
  3652. <dt>Lásd még</dt><dd>
  3653. <a href="#dotv3" onclick="c('dotv3')">dotv3</a>, <a href="#lenv3" onclick="c('lenv3')">lenv3</a>, <a href="#scalev3" onclick="c('scalev3')">scalev3</a>, <a href="#negv3" onclick="c('negv3')">negv3</a>, <a href="#addv3" onclick="c('addv3')">addv3</a>, <a href="#subv3" onclick="c('subv3')">subv3</a>, <a href="#mulv3" onclick="c('mulv3')">mulv3</a>, <a href="#divv3" onclick="c('divv3')">divv3</a>, <a href="#crossv3" onclick="c('crossv3')">crossv3</a>, <a href="#clampv3" onclick="c('clampv3')">clampv3</a>, <a href="#normv3" onclick="c('normv3')">normv3</a></dd></dl>
  3654. <hr>
  3655. <h2 id="normv3">normv3<a href="#normv3"></a></h2>
  3656. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">normv3</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>)</code></div>
  3657. <dl>
  3658. <dt>Leírás</dt><dd>
  3659. Normalizálja a háromelemű vektort.</dd>
  3660. <dt>Paraméterek</dt><dd>
  3661. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3662. <tr><td>a </td><td>három float címe </td></tr></table></div></dd>
  3663. <dt>Lásd még</dt><dd>
  3664. <a href="#dotv3" onclick="c('dotv3')">dotv3</a>, <a href="#lenv3" onclick="c('lenv3')">lenv3</a>, <a href="#scalev3" onclick="c('scalev3')">scalev3</a>, <a href="#negv3" onclick="c('negv3')">negv3</a>, <a href="#addv3" onclick="c('addv3')">addv3</a>, <a href="#subv3" onclick="c('subv3')">subv3</a>, <a href="#mulv3" onclick="c('mulv3')">mulv3</a>, <a href="#divv3" onclick="c('divv3')">divv3</a>, <a href="#crossv3" onclick="c('crossv3')">crossv3</a>, <a href="#clampv3" onclick="c('clampv3')">clampv3</a>, <a href="#lerpv3" onclick="c('lerpv3')">lerpv3</a></dd></dl>
  3665. <hr>
  3666. <h2 id="dotv4">dotv4<a href="#dotv4"></a></h2>
  3667. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">dotv4</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  3668. <dl>
  3669. <dt>Leírás</dt><dd>
  3670. Kiszámolja a négyelemű vektorok skaláris szorzatát (dot product).</dd>
  3671. <dt>Paraméterek</dt><dd>
  3672. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3673. <tr><td>a </td><td>négy float címe </td></tr>
  3674. <tr><td>b </td><td>négy float címe </td></tr></table></div></dd>
  3675. <dt>Visszatérési érték</dt><dd>
  3676. A vektorok skaláris szorzata.</dd>
  3677. <dt>Lásd még</dt><dd>
  3678. <a href="#lenv4" onclick="c('lenv4')">lenv4</a>, <a href="#scalev4" onclick="c('scalev4')">scalev4</a>, <a href="#negv4" onclick="c('negv4')">negv4</a>, <a href="#addv4" onclick="c('addv4')">addv4</a>, <a href="#subv4" onclick="c('subv4')">subv4</a>, <a href="#mulv4" onclick="c('mulv4')">mulv4</a>, <a href="#divv4" onclick="c('divv4')">divv4</a>, <a href="#clampv4" onclick="c('clampv4')">clampv4</a>, <a href="#lerpv4" onclick="c('lerpv4')">lerpv4</a>, <a href="#normv4" onclick="c('normv4')">normv4</a></dd></dl>
  3679. <hr>
  3680. <h2 id="lenv4">lenv4<a href="#lenv4"></a></h2>
  3681. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">lenv4</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>)</code></div>
  3682. <dl>
  3683. <dt>Leírás</dt><dd>
  3684. Kiszámítja a négyelemű vektor hosszát. Ez nagyon lassú, próbáld elkerülni a használatát (lásd <a href="#normv4" onclick="c('normv4')">normv4</a>).</dd>
  3685. <dt>Paraméterek</dt><dd>
  3686. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3687. <tr><td>a </td><td>négy float címe </td></tr></table></div></dd>
  3688. <dt>Visszatérési érték</dt><dd>
  3689. A vektor hossza.</dd>
  3690. <dt>Lásd még</dt><dd>
  3691. <a href="#dotv4" onclick="c('dotv4')">dotv4</a>, <a href="#scalev4" onclick="c('scalev4')">scalev4</a>, <a href="#negv4" onclick="c('negv4')">negv4</a>, <a href="#addv4" onclick="c('addv4')">addv4</a>, <a href="#subv4" onclick="c('subv4')">subv4</a>, <a href="#mulv4" onclick="c('mulv4')">mulv4</a>, <a href="#divv4" onclick="c('divv4')">divv4</a>, <a href="#clampv4" onclick="c('clampv4')">clampv4</a>, <a href="#lerpv4" onclick="c('lerpv4')">lerpv4</a>, <a href="#normv4" onclick="c('normv4')">normv4</a></dd></dl>
  3692. <hr>
  3693. <h2 id="scalev4">scalev4<a href="#scalev4"></a></h2>
  3694. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">scalev4</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">float</span> <span class="hl_v">s</span>)</code></div>
  3695. <dl>
  3696. <dt>Leírás</dt><dd>
  3697. Atméretezi a négyelemű vektort (skálázás, skalárral szorzás).</dd>
  3698. <dt>Paraméterek</dt><dd>
  3699. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3700. <tr><td>a </td><td>négy float címe </td></tr>
  3701. <tr><td>s </td><td>skálázó érték </td></tr></table></div></dd>
  3702. <dt>Lásd még</dt><dd>
  3703. <a href="#dotv4" onclick="c('dotv4')">dotv4</a>, <a href="#lenv4" onclick="c('lenv4')">lenv4</a>, <a href="#negv4" onclick="c('negv4')">negv4</a>, <a href="#addv4" onclick="c('addv4')">addv4</a>, <a href="#subv4" onclick="c('subv4')">subv4</a>, <a href="#mulv4" onclick="c('mulv4')">mulv4</a>, <a href="#divv4" onclick="c('divv4')">divv4</a>, <a href="#clampv4" onclick="c('clampv4')">clampv4</a>, <a href="#lerpv4" onclick="c('lerpv4')">lerpv4</a>, <a href="#normv4" onclick="c('normv4')">normv4</a></dd></dl>
  3704. <hr>
  3705. <h2 id="negv4">negv4<a href="#negv4"></a></h2>
  3706. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">negv4</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>)</code></div>
  3707. <dl>
  3708. <dt>Leírás</dt><dd>
  3709. Negálja a négyelemű vektort.</dd>
  3710. <dt>Paraméterek</dt><dd>
  3711. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3712. <tr><td>a </td><td>négy float címe </td></tr></table></div></dd>
  3713. <dt>Lásd még</dt><dd>
  3714. <a href="#dotv4" onclick="c('dotv4')">dotv4</a>, <a href="#lenv4" onclick="c('lenv4')">lenv4</a>, <a href="#scalev4" onclick="c('scalev4')">scalev4</a>, <a href="#addv4" onclick="c('addv4')">addv4</a>, <a href="#subv4" onclick="c('subv4')">subv4</a>, <a href="#mulv4" onclick="c('mulv4')">mulv4</a>, <a href="#divv4" onclick="c('divv4')">divv4</a>, <a href="#clampv4" onclick="c('clampv4')">clampv4</a>, <a href="#lerpv4" onclick="c('lerpv4')">lerpv4</a>, <a href="#normv4" onclick="c('normv4')">normv4</a></dd></dl>
  3715. <hr>
  3716. <h2 id="addv4">addv4<a href="#addv4"></a></h2>
  3717. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">addv4</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  3718. <dl>
  3719. <dt>Leírás</dt><dd>
  3720. Összead két négyelemű vektort.</dd>
  3721. <dt>Paraméterek</dt><dd>
  3722. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3723. <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
  3724. <tr><td>a </td><td>négy float címe </td></tr>
  3725. <tr><td>b </td><td>négy float címe </td></tr></table></div></dd>
  3726. <dt>Lásd még</dt><dd>
  3727. <a href="#dotv4" onclick="c('dotv4')">dotv4</a>, <a href="#lenv4" onclick="c('lenv4')">lenv4</a>, <a href="#scalev4" onclick="c('scalev4')">scalev4</a>, <a href="#negv4" onclick="c('negv4')">negv4</a>, <a href="#subv4" onclick="c('subv4')">subv4</a>, <a href="#mulv4" onclick="c('mulv4')">mulv4</a>, <a href="#divv4" onclick="c('divv4')">divv4</a>, <a href="#clampv4" onclick="c('clampv4')">clampv4</a>, <a href="#lerpv4" onclick="c('lerpv4')">lerpv4</a>, <a href="#normv4" onclick="c('normv4')">normv4</a></dd></dl>
  3728. <hr>
  3729. <h2 id="subv4">subv4<a href="#subv4"></a></h2>
  3730. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">subv4</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  3731. <dl>
  3732. <dt>Leírás</dt><dd>
  3733. Kivon két négyelemű vektort.</dd>
  3734. <dt>Paraméterek</dt><dd>
  3735. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3736. <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
  3737. <tr><td>a </td><td>négy float címe </td></tr>
  3738. <tr><td>b </td><td>négy float címe </td></tr></table></div></dd>
  3739. <dt>Lásd még</dt><dd>
  3740. <a href="#dotv4" onclick="c('dotv4')">dotv4</a>, <a href="#lenv4" onclick="c('lenv4')">lenv4</a>, <a href="#scalev4" onclick="c('scalev4')">scalev4</a>, <a href="#negv4" onclick="c('negv4')">negv4</a>, <a href="#addv4" onclick="c('addv4')">addv4</a>, <a href="#mulv4" onclick="c('mulv4')">mulv4</a>, <a href="#divv4" onclick="c('divv4')">divv4</a>, <a href="#clampv4" onclick="c('clampv4')">clampv4</a>, <a href="#lerpv4" onclick="c('lerpv4')">lerpv4</a>, <a href="#normv4" onclick="c('normv4')">normv4</a></dd></dl>
  3741. <hr>
  3742. <h2 id="mulv4">mulv4<a href="#mulv4"></a></h2>
  3743. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">mulv4</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  3744. <dl>
  3745. <dt>Leírás</dt><dd>
  3746. Összeszoroz két négyelemű vektort (lineáris kombináció).</dd>
  3747. <dt>Paraméterek</dt><dd>
  3748. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3749. <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
  3750. <tr><td>a </td><td>négy float címe </td></tr>
  3751. <tr><td>b </td><td>négy float címe </td></tr></table></div></dd>
  3752. <dt>Lásd még</dt><dd>
  3753. <a href="#dotv4" onclick="c('dotv4')">dotv4</a>, <a href="#lenv4" onclick="c('lenv4')">lenv4</a>, <a href="#scalev4" onclick="c('scalev4')">scalev4</a>, <a href="#negv4" onclick="c('negv4')">negv4</a>, <a href="#addv4" onclick="c('addv4')">addv4</a>, <a href="#subv4" onclick="c('subv4')">subv4</a>, <a href="#divv4" onclick="c('divv4')">divv4</a>, <a href="#clampv4" onclick="c('clampv4')">clampv4</a>, <a href="#lerpv4" onclick="c('lerpv4')">lerpv4</a>, <a href="#normv4" onclick="c('normv4')">normv4</a></dd></dl>
  3754. <hr>
  3755. <h2 id="divv4">divv4<a href="#divv4"></a></h2>
  3756. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">divv4</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  3757. <dl>
  3758. <dt>Leírás</dt><dd>
  3759. Eloszt két négyelemű vektort (lineáris kombináció).</dd>
  3760. <dt>Paraméterek</dt><dd>
  3761. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3762. <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
  3763. <tr><td>a </td><td>négy float címe </td></tr>
  3764. <tr><td>b </td><td>négy float címe </td></tr></table></div></dd>
  3765. <dt>Lásd még</dt><dd>
  3766. <a href="#dotv4" onclick="c('dotv4')">dotv4</a>, <a href="#lenv4" onclick="c('lenv4')">lenv4</a>, <a href="#scalev4" onclick="c('scalev4')">scalev4</a>, <a href="#negv4" onclick="c('negv4')">negv4</a>, <a href="#addv4" onclick="c('addv4')">addv4</a>, <a href="#subv4" onclick="c('subv4')">subv4</a>, <a href="#mulv4" onclick="c('mulv4')">mulv4</a>, <a href="#clampv4" onclick="c('clampv4')">clampv4</a>, <a href="#lerpv4" onclick="c('lerpv4')">lerpv4</a>, <a href="#normv4" onclick="c('normv4')">normv4</a></dd></dl>
  3767. <hr>
  3768. <h2 id="clampv4">clampv4<a href="#clampv4"></a></h2>
  3769. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">clampv4</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">v</span>, <span class="hl_t">addr_t</span> <span class="hl_v">minv</span>, <span class="hl_t">addr_t</span> <span class="hl_v">maxv</span>)</code></div>
  3770. <dl>
  3771. <dt>Leírás</dt><dd>
  3772. Lecsípi (klimpeli) a megadott négyelemű vektort két határérték közé.</dd>
  3773. <dt>Paraméterek</dt><dd>
  3774. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3775. <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
  3776. <tr><td>v </td><td>négy float címe, bemeneti érték </td></tr>
  3777. <tr><td>minv </td><td>négy float címe, minimum </td></tr>
  3778. <tr><td>maxv </td><td>négy float címe, maximum </td></tr></table></div></dd>
  3779. <dt>Lásd még</dt><dd>
  3780. <a href="#dotv4" onclick="c('dotv4')">dotv4</a>, <a href="#lenv4" onclick="c('lenv4')">lenv4</a>, <a href="#scalev4" onclick="c('scalev4')">scalev4</a>, <a href="#negv4" onclick="c('negv4')">negv4</a>, <a href="#addv4" onclick="c('addv4')">addv4</a>, <a href="#subv4" onclick="c('subv4')">subv4</a>, <a href="#mulv4" onclick="c('mulv4')">mulv4</a>, <a href="#divv4" onclick="c('divv4')">divv4</a>, <a href="#lerpv4" onclick="c('lerpv4')">lerpv4</a>, <a href="#normv4" onclick="c('normv4')">normv4</a></dd></dl>
  3781. <hr>
  3782. <h2 id="lerpv4">lerpv4<a href="#lerpv4"></a></h2>
  3783. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">lerpv4</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>, <span class="hl_t">float</span> <span class="hl_v">t</span>)</code></div>
  3784. <dl>
  3785. <dt>Leírás</dt><dd>
  3786. Lineárisan interpolál két négyelemű vektor között.</dd>
  3787. <dt>Paraméterek</dt><dd>
  3788. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3789. <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
  3790. <tr><td>a </td><td>négy float címe </td></tr>
  3791. <tr><td>b </td><td>négy float címe </td></tr>
  3792. <tr><td>t </td><td>interpoláció értéke 0.0 és 1.0 között </td></tr></table></div></dd>
  3793. <dt>Lásd még</dt><dd>
  3794. <a href="#dotv4" onclick="c('dotv4')">dotv4</a>, <a href="#lenv4" onclick="c('lenv4')">lenv4</a>, <a href="#scalev4" onclick="c('scalev4')">scalev4</a>, <a href="#negv4" onclick="c('negv4')">negv4</a>, <a href="#addv4" onclick="c('addv4')">addv4</a>, <a href="#subv4" onclick="c('subv4')">subv4</a>, <a href="#mulv4" onclick="c('mulv4')">mulv4</a>, <a href="#divv4" onclick="c('divv4')">divv4</a>, <a href="#clampv4" onclick="c('clampv4')">clampv4</a>, <a href="#normv4" onclick="c('normv4')">normv4</a></dd></dl>
  3795. <hr>
  3796. <h2 id="normv4">normv4<a href="#normv4"></a></h2>
  3797. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">normv4</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>)</code></div>
  3798. <dl>
  3799. <dt>Leírás</dt><dd>
  3800. Normalizálja a négyelemű vektort.</dd>
  3801. <dt>Paraméterek</dt><dd>
  3802. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3803. <tr><td>a </td><td>négy float címe </td></tr></table></div></dd>
  3804. <dt>Lásd még</dt><dd>
  3805. <a href="#dotv4" onclick="c('dotv4')">dotv4</a>, <a href="#lenv4" onclick="c('lenv4')">lenv4</a>, <a href="#scalev4" onclick="c('scalev4')">scalev4</a>, <a href="#negv4" onclick="c('negv4')">negv4</a>, <a href="#addv4" onclick="c('addv4')">addv4</a>, <a href="#subv4" onclick="c('subv4')">subv4</a>, <a href="#mulv4" onclick="c('mulv4')">mulv4</a>, <a href="#divv4" onclick="c('divv4')">divv4</a>, <a href="#clampv4" onclick="c('clampv4')">clampv4</a>, <a href="#lerpv4" onclick="c('lerpv4')">lerpv4</a></dd></dl>
  3806. <hr>
  3807. <h2 id="idq">idq<a href="#idq"></a></h2>
  3808. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">idq</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>)</code></div>
  3809. <dl>
  3810. <dt>Leírás</dt><dd>
  3811. Betölti az identitás kvaterniót.</dd>
  3812. <dt>Paraméterek</dt><dd>
  3813. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3814. <tr><td>a </td><td>négy float címe </td></tr></table></div></dd>
  3815. <dt>Lásd még</dt><dd>
  3816. <a href="#eulerq" onclick="c('eulerq')">eulerq</a>, <a href="#dotq" onclick="c('dotq')">dotq</a>, <a href="#lenq" onclick="c('lenq')">lenq</a>, <a href="#scaleq" onclick="c('scaleq')">scaleq</a>, <a href="#negq" onclick="c('negq')">negq</a>, <a href="#addq" onclick="c('addq')">addq</a>, <a href="#subq" onclick="c('subq')">subq</a>, <a href="#mulq" onclick="c('mulq')">mulq</a>, <a href="#rotq" onclick="c('rotq')">rotq</a>, <a href="#lerpq" onclick="c('lerpq')">lerpq</a>, <a href="#slerpq" onclick="c('slerpq')">slerpq</a>, <a href="#normq" onclick="c('normq')">normq</a></dd></dl>
  3817. <hr>
  3818. <h2 id="eulerq">eulerq<a href="#eulerq"></a></h2>
  3819. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">eulerq</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">pitch</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">yaw</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">roll</span>)</code></div>
  3820. <dl>
  3821. <dt>Leírás</dt><dd>
  3822. Betölt egy Euler-szögekkel megadott kvaterniót.</dd>
  3823. <dt>Paraméterek</dt><dd>
  3824. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3825. <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
  3826. <tr><td>pitch </td><td>dőlésszög, X tengely körüli forgatás fokokban, 0-tól 359-ig </td></tr>
  3827. <tr><td>yaw </td><td>forgásszög, Y tengely körüli forgatás fokokban, 0-tól 359-ig </td></tr>
  3828. <tr><td>roll </td><td>pörgésszög, Z tengely körüli forgatás fokokban, 0-tól 359-ig </td></tr></table></div></dd>
  3829. <dt>Lásd még</dt><dd>
  3830. <a href="#idq" onclick="c('idq')">idq</a>, <a href="#dotq" onclick="c('dotq')">dotq</a>, <a href="#lenq" onclick="c('lenq')">lenq</a>, <a href="#scaleq" onclick="c('scaleq')">scaleq</a>, <a href="#negq" onclick="c('negq')">negq</a>, <a href="#addq" onclick="c('addq')">addq</a>, <a href="#subq" onclick="c('subq')">subq</a>, <a href="#mulq" onclick="c('mulq')">mulq</a>, <a href="#rotq" onclick="c('rotq')">rotq</a>, <a href="#lerpq" onclick="c('lerpq')">lerpq</a>, <a href="#slerpq" onclick="c('slerpq')">slerpq</a>, <a href="#normq" onclick="c('normq')">normq</a></dd></dl>
  3831. <hr>
  3832. <h2 id="dotq">dotq<a href="#dotq"></a></h2>
  3833. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">dotq</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  3834. <dl>
  3835. <dt>Leírás</dt><dd>
  3836. Kiszámolja a kvaternió skaláris szorzatát (dot product).</dd>
  3837. <dt>Paraméterek</dt><dd>
  3838. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3839. <tr><td>a </td><td>négy float címe </td></tr>
  3840. <tr><td>b </td><td>négy float címe </td></tr></table></div></dd>
  3841. <dt>Visszatérési érték</dt><dd>
  3842. A kvaternió skaláris szorzata.</dd>
  3843. <dt>Lásd még</dt><dd>
  3844. <a href="#idq" onclick="c('idq')">idq</a>, <a href="#eulerq" onclick="c('eulerq')">eulerq</a>, <a href="#lenq" onclick="c('lenq')">lenq</a>, <a href="#scaleq" onclick="c('scaleq')">scaleq</a>, <a href="#negq" onclick="c('negq')">negq</a>, <a href="#addq" onclick="c('addq')">addq</a>, <a href="#subq" onclick="c('subq')">subq</a>, <a href="#mulq" onclick="c('mulq')">mulq</a>, <a href="#rotq" onclick="c('rotq')">rotq</a>, <a href="#lerpq" onclick="c('lerpq')">lerpq</a>, <a href="#slerpq" onclick="c('slerpq')">slerpq</a>, <a href="#normq" onclick="c('normq')">normq</a></dd></dl>
  3845. <hr>
  3846. <h2 id="lenq">lenq<a href="#lenq"></a></h2>
  3847. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">lenq</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>)</code></div>
  3848. <dl>
  3849. <dt>Leírás</dt><dd>
  3850. Kiszámítja a kvaternió hosszát. Ez nagyon lassú, próbáld elkerülni a használatát (lásd <a href="#normq" onclick="c('normq')">normq</a>).</dd>
  3851. <dt>Paraméterek</dt><dd>
  3852. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3853. <tr><td>a </td><td>négy float címe </td></tr></table></div></dd>
  3854. <dt>Visszatérési érték</dt><dd>
  3855. A kvaternió hossza.</dd>
  3856. <dt>Lásd még</dt><dd>
  3857. <a href="#idq" onclick="c('idq')">idq</a>, <a href="#eulerq" onclick="c('eulerq')">eulerq</a>, <a href="#dotq" onclick="c('dotq')">dotq</a>, <a href="#scaleq" onclick="c('scaleq')">scaleq</a>, <a href="#negq" onclick="c('negq')">negq</a>, <a href="#addq" onclick="c('addq')">addq</a>, <a href="#subq" onclick="c('subq')">subq</a>, <a href="#mulq" onclick="c('mulq')">mulq</a>, <a href="#rotq" onclick="c('rotq')">rotq</a>, <a href="#lerpq" onclick="c('lerpq')">lerpq</a>, <a href="#slerpq" onclick="c('slerpq')">slerpq</a>, <a href="#normq" onclick="c('normq')">normq</a></dd></dl>
  3858. <hr>
  3859. <h2 id="scaleq">scaleq<a href="#scaleq"></a></h2>
  3860. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">scaleq</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">float</span> <span class="hl_v">s</span>)</code></div>
  3861. <dl>
  3862. <dt>Leírás</dt><dd>
  3863. Atméretezi a kvaterniót (skálázás, skalárral szorzás).</dd>
  3864. <dt>Paraméterek</dt><dd>
  3865. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3866. <tr><td>a </td><td>négy float címe </td></tr>
  3867. <tr><td>s </td><td>skálázó érték </td></tr></table></div></dd>
  3868. <dt>Lásd még</dt><dd>
  3869. <a href="#idq" onclick="c('idq')">idq</a>, <a href="#eulerq" onclick="c('eulerq')">eulerq</a>, <a href="#dotq" onclick="c('dotq')">dotq</a>, <a href="#lenq" onclick="c('lenq')">lenq</a>, <a href="#negq" onclick="c('negq')">negq</a>, <a href="#addq" onclick="c('addq')">addq</a>, <a href="#subq" onclick="c('subq')">subq</a>, <a href="#mulq" onclick="c('mulq')">mulq</a>, <a href="#rotq" onclick="c('rotq')">rotq</a>, <a href="#lerpq" onclick="c('lerpq')">lerpq</a>, <a href="#slerpq" onclick="c('slerpq')">slerpq</a>, <a href="#normq" onclick="c('normq')">normq</a></dd></dl>
  3870. <hr>
  3871. <h2 id="negq">negq<a href="#negq"></a></h2>
  3872. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">negq</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>)</code></div>
  3873. <dl>
  3874. <dt>Leírás</dt><dd>
  3875. Negálja a kvaterniót.</dd>
  3876. <dt>Paraméterek</dt><dd>
  3877. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3878. <tr><td>a </td><td>négy float címe </td></tr></table></div></dd>
  3879. <dt>Lásd még</dt><dd>
  3880. <a href="#idq" onclick="c('idq')">idq</a>, <a href="#eulerq" onclick="c('eulerq')">eulerq</a>, <a href="#dotq" onclick="c('dotq')">dotq</a>, <a href="#lenq" onclick="c('lenq')">lenq</a>, <a href="#scaleq" onclick="c('scaleq')">scaleq</a>, <a href="#addq" onclick="c('addq')">addq</a>, <a href="#subq" onclick="c('subq')">subq</a>, <a href="#mulq" onclick="c('mulq')">mulq</a>, <a href="#rotq" onclick="c('rotq')">rotq</a>, <a href="#lerpq" onclick="c('lerpq')">lerpq</a>, <a href="#slerpq" onclick="c('slerpq')">slerpq</a>, <a href="#normq" onclick="c('normq')">normq</a></dd></dl>
  3881. <hr>
  3882. <h2 id="addq">addq<a href="#addq"></a></h2>
  3883. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">addq</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  3884. <dl>
  3885. <dt>Leírás</dt><dd>
  3886. Összead két kvaterniót.</dd>
  3887. <dt>Paraméterek</dt><dd>
  3888. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3889. <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
  3890. <tr><td>a </td><td>négy float címe </td></tr>
  3891. <tr><td>b </td><td>négy float címe </td></tr></table></div></dd>
  3892. <dt>Lásd még</dt><dd>
  3893. <a href="#idq" onclick="c('idq')">idq</a>, <a href="#eulerq" onclick="c('eulerq')">eulerq</a>, <a href="#dotq" onclick="c('dotq')">dotq</a>, <a href="#lenq" onclick="c('lenq')">lenq</a>, <a href="#scaleq" onclick="c('scaleq')">scaleq</a>, <a href="#negq" onclick="c('negq')">negq</a>, <a href="#subq" onclick="c('subq')">subq</a>, <a href="#mulq" onclick="c('mulq')">mulq</a>, <a href="#rotq" onclick="c('rotq')">rotq</a>, <a href="#lerpq" onclick="c('lerpq')">lerpq</a>, <a href="#slerpq" onclick="c('slerpq')">slerpq</a>, <a href="#normq" onclick="c('normq')">normq</a></dd></dl>
  3894. <hr>
  3895. <h2 id="subq">subq<a href="#subq"></a></h2>
  3896. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">subq</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  3897. <dl>
  3898. <dt>Leírás</dt><dd>
  3899. Kivon két kvaterniót.</dd>
  3900. <dt>Paraméterek</dt><dd>
  3901. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3902. <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
  3903. <tr><td>a </td><td>négy float címe </td></tr>
  3904. <tr><td>b </td><td>négy float címe </td></tr></table></div></dd>
  3905. <dt>Lásd még</dt><dd>
  3906. <a href="#idq" onclick="c('idq')">idq</a>, <a href="#eulerq" onclick="c('eulerq')">eulerq</a>, <a href="#dotq" onclick="c('dotq')">dotq</a>, <a href="#lenq" onclick="c('lenq')">lenq</a>, <a href="#scaleq" onclick="c('scaleq')">scaleq</a>, <a href="#negq" onclick="c('negq')">negq</a>, <a href="#addq" onclick="c('addq')">addq</a>, <a href="#mulq" onclick="c('mulq')">mulq</a>, <a href="#rotq" onclick="c('rotq')">rotq</a>, <a href="#lerpq" onclick="c('lerpq')">lerpq</a>, <a href="#slerpq" onclick="c('slerpq')">slerpq</a>, <a href="#normq" onclick="c('normq')">normq</a></dd></dl>
  3907. <hr>
  3908. <h2 id="mulq">mulq<a href="#mulq"></a></h2>
  3909. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">mulq</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  3910. <dl>
  3911. <dt>Leírás</dt><dd>
  3912. Összeszoroz két kvaterniót (vektoriális szorzat).</dd>
  3913. <dt>Paraméterek</dt><dd>
  3914. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3915. <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
  3916. <tr><td>a </td><td>négy float címe </td></tr>
  3917. <tr><td>b </td><td>négy float címe </td></tr></table></div></dd>
  3918. <dt>Lásd még</dt><dd>
  3919. <a href="#idq" onclick="c('idq')">idq</a>, <a href="#eulerq" onclick="c('eulerq')">eulerq</a>, <a href="#dotq" onclick="c('dotq')">dotq</a>, <a href="#lenq" onclick="c('lenq')">lenq</a>, <a href="#scaleq" onclick="c('scaleq')">scaleq</a>, <a href="#negq" onclick="c('negq')">negq</a>, <a href="#addq" onclick="c('addq')">addq</a>, <a href="#subq" onclick="c('subq')">subq</a>, <a href="#rotq" onclick="c('rotq')">rotq</a>, <a href="#lerpq" onclick="c('lerpq')">lerpq</a>, <a href="#slerpq" onclick="c('slerpq')">slerpq</a>, <a href="#normq" onclick="c('normq')">normq</a></dd></dl>
  3920. <hr>
  3921. <h2 id="rotq">rotq<a href="#rotq"></a></h2>
  3922. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">rotq</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">q</span>, <span class="hl_t">addr_t</span> <span class="hl_v">v</span>)</code></div>
  3923. <dl>
  3924. <dt>Leírás</dt><dd>
  3925. Összeszoroz egy kvaterniót egy háromelemű forgatási vektorral.</dd>
  3926. <dt>Paraméterek</dt><dd>
  3927. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3928. <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
  3929. <tr><td>q </td><td>négy float címe </td></tr>
  3930. <tr><td>v </td><td>három float címe </td></tr></table></div></dd>
  3931. <dt>Lásd még</dt><dd>
  3932. <a href="#idq" onclick="c('idq')">idq</a>, <a href="#eulerq" onclick="c('eulerq')">eulerq</a>, <a href="#dotq" onclick="c('dotq')">dotq</a>, <a href="#lenq" onclick="c('lenq')">lenq</a>, <a href="#scaleq" onclick="c('scaleq')">scaleq</a>, <a href="#negq" onclick="c('negq')">negq</a>, <a href="#addq" onclick="c('addq')">addq</a>, <a href="#subq" onclick="c('subq')">subq</a>, <a href="#mulq" onclick="c('mulq')">mulq</a>, <a href="#lerpq" onclick="c('lerpq')">lerpq</a>, <a href="#slerpq" onclick="c('slerpq')">slerpq</a>, <a href="#normq" onclick="c('normq')">normq</a></dd></dl>
  3933. <hr>
  3934. <h2 id="lerpq">lerpq<a href="#lerpq"></a></h2>
  3935. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">lerpq</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>, <span class="hl_t">float</span> <span class="hl_v">t</span>)</code></div>
  3936. <dl>
  3937. <dt>Leírás</dt><dd>
  3938. Lineárisan interpolál két kvaternió között.</dd>
  3939. <dt>Paraméterek</dt><dd>
  3940. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3941. <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
  3942. <tr><td>a </td><td>négy float címe </td></tr>
  3943. <tr><td>b </td><td>négy float címe </td></tr>
  3944. <tr><td>t </td><td>interpoláció értéke 0.0 és 1.0 között </td></tr></table></div></dd>
  3945. <dt>Lásd még</dt><dd>
  3946. <a href="#idq" onclick="c('idq')">idq</a>, <a href="#eulerq" onclick="c('eulerq')">eulerq</a>, <a href="#dotq" onclick="c('dotq')">dotq</a>, <a href="#lenq" onclick="c('lenq')">lenq</a>, <a href="#scaleq" onclick="c('scaleq')">scaleq</a>, <a href="#negq" onclick="c('negq')">negq</a>, <a href="#addq" onclick="c('addq')">addq</a>, <a href="#subq" onclick="c('subq')">subq</a>, <a href="#mulq" onclick="c('mulq')">mulq</a>, <a href="#rotq" onclick="c('rotq')">rotq</a>, <a href="#slerpq" onclick="c('slerpq')">slerpq</a>, <a href="#normq" onclick="c('normq')">normq</a></dd></dl>
  3947. <hr>
  3948. <h2 id="slerpq">slerpq<a href="#slerpq"></a></h2>
  3949. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">slerpq</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>, <span class="hl_t">float</span> <span class="hl_v">t</span>)</code></div>
  3950. <dl>
  3951. <dt>Leírás</dt><dd>
  3952. Gömbfelületen interpolál két kvaternió között (spherical).</dd>
  3953. <dt>Paraméterek</dt><dd>
  3954. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3955. <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
  3956. <tr><td>a </td><td>négy float címe </td></tr>
  3957. <tr><td>b </td><td>négy float címe </td></tr>
  3958. <tr><td>t </td><td>interpoláció értéke 0.0 és 1.0 között </td></tr></table></div></dd>
  3959. <dt>Lásd még</dt><dd>
  3960. <a href="#idq" onclick="c('idq')">idq</a>, <a href="#eulerq" onclick="c('eulerq')">eulerq</a>, <a href="#dotq" onclick="c('dotq')">dotq</a>, <a href="#lenq" onclick="c('lenq')">lenq</a>, <a href="#scaleq" onclick="c('scaleq')">scaleq</a>, <a href="#negq" onclick="c('negq')">negq</a>, <a href="#addq" onclick="c('addq')">addq</a>, <a href="#subq" onclick="c('subq')">subq</a>, <a href="#mulq" onclick="c('mulq')">mulq</a>, <a href="#rotq" onclick="c('rotq')">rotq</a>, <a href="#lerpq" onclick="c('lerpq')">lerpq</a>, <a href="#normq" onclick="c('normq')">normq</a></dd></dl>
  3961. <hr>
  3962. <h2 id="normq">normq<a href="#normq"></a></h2>
  3963. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">normq</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>)</code></div>
  3964. <dl>
  3965. <dt>Leírás</dt><dd>
  3966. Normalizálja a kvaterniót.</dd>
  3967. <dt>Paraméterek</dt><dd>
  3968. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3969. <tr><td>a </td><td>négy float címe </td></tr></table></div></dd>
  3970. <dt>Lásd még</dt><dd>
  3971. <a href="#idq" onclick="c('idq')">idq</a>, <a href="#eulerq" onclick="c('eulerq')">eulerq</a>, <a href="#dotq" onclick="c('dotq')">dotq</a>, <a href="#lenq" onclick="c('lenq')">lenq</a>, <a href="#scaleq" onclick="c('scaleq')">scaleq</a>, <a href="#negq" onclick="c('negq')">negq</a>, <a href="#addq" onclick="c('addq')">addq</a>, <a href="#subq" onclick="c('subq')">subq</a>, <a href="#mulq" onclick="c('mulq')">mulq</a>, <a href="#rotq" onclick="c('rotq')">rotq</a>, <a href="#lerpq" onclick="c('lerpq')">lerpq</a>, <a href="#slerpq" onclick="c('slerpq')">slerpq</a></dd></dl>
  3972. <hr>
  3973. <h2 id="idm4">idm4<a href="#idm4"></a></h2>
  3974. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">idm4</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>)</code></div>
  3975. <dl>
  3976. <dt>Leírás</dt><dd>
  3977. Betölti a 4 x 4-es identitás mátrixot.</dd>
  3978. <dt>Paraméterek</dt><dd>
  3979. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3980. <tr><td>a </td><td>16 float címe </td></tr></table></div></dd>
  3981. <dt>Lásd még</dt><dd>
  3982. <a href="#trsm4" onclick="c('trsm4')">trsm4</a>, <a href="#detm4" onclick="c('detm4')">detm4</a>, <a href="#addm4" onclick="c('addm4')">addm4</a>, <a href="#subm4" onclick="c('subm4')">subm4</a>, <a href="#mulm4" onclick="c('mulm4')">mulm4</a>, <a href="#mulm4v3" onclick="c('mulm4v3')">mulm4v3</a>, <a href="#mulm4v4" onclick="c('mulm4v4')">mulm4v4</a>, <a href="#invm4" onclick="c('invm4')">invm4</a>, <a href="#trpm4" onclick="c('trpm4')">trpm4</a></dd></dl>
  3983. <hr>
  3984. <h2 id="trsm4">trsm4<a href="#trsm4"></a></h2>
  3985. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">trsm4</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">t</span>, <span class="hl_t">addr_t</span> <span class="hl_v">r</span>, <span class="hl_t">addr_t</span> <span class="hl_v">s</span>)</code></div>
  3986. <dl>
  3987. <dt>Leírás</dt><dd>
  3988. Létrehoz egy 4 x 4-es transzformációs mátrixot eltolás, forgatás és nagyítás adatokból.</dd>
  3989. <dt>Paraméterek</dt><dd>
  3990. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  3991. <tr><td>dst </td><td>16 float címe, a kimeneti mátrix </td></tr>
  3992. <tr><td>t </td><td>három float címe, az eltolás vektor (translation) </td></tr>
  3993. <tr><td>r </td><td>négy float címe, a forgatási kvaternió (rotation) </td></tr>
  3994. <tr><td>s </td><td>három float címe, a nagyítási vektor (scaling) </td></tr></table></div></dd>
  3995. <dt>Lásd még</dt><dd>
  3996. <a href="#idm4" onclick="c('idm4')">idm4</a>, <a href="#detm4" onclick="c('detm4')">detm4</a>, <a href="#addm4" onclick="c('addm4')">addm4</a>, <a href="#subm4" onclick="c('subm4')">subm4</a>, <a href="#mulm4" onclick="c('mulm4')">mulm4</a>, <a href="#mulm4v3" onclick="c('mulm4v3')">mulm4v3</a>, <a href="#mulm4v4" onclick="c('mulm4v4')">mulm4v4</a>, <a href="#invm4" onclick="c('invm4')">invm4</a>, <a href="#trpm4" onclick="c('trpm4')">trpm4</a></dd></dl>
  3997. <hr>
  3998. <h2 id="detm4">detm4<a href="#detm4"></a></h2>
  3999. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">detm4</span>(<span class="hl_t">addr_t</span> <span class="hl_v">a</span>)</code></div>
  4000. <dl>
  4001. <dt>Leírás</dt><dd>
  4002. Visszaadja a mátrix determinánsát.</dd>
  4003. <dt>Paraméterek</dt><dd>
  4004. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4005. <tr><td>a </td><td>16 float címe </td></tr></table></div></dd>
  4006. <dt>Visszatérési érték</dt><dd>
  4007. A mátrix determinánsa.</dd>
  4008. <dt>Lásd még</dt><dd>
  4009. <a href="#idm4" onclick="c('idm4')">idm4</a>, <a href="#trsm4" onclick="c('trsm4')">trsm4</a>, <a href="#addm4" onclick="c('addm4')">addm4</a>, <a href="#subm4" onclick="c('subm4')">subm4</a>, <a href="#mulm4" onclick="c('mulm4')">mulm4</a>, <a href="#mulm4v3" onclick="c('mulm4v3')">mulm4v3</a>, <a href="#mulm4v4" onclick="c('mulm4v4')">mulm4v4</a>, <a href="#invm4" onclick="c('invm4')">invm4</a>, <a href="#trpm4" onclick="c('trpm4')">trpm4</a></dd></dl>
  4010. <hr>
  4011. <h2 id="addm4">addm4<a href="#addm4"></a></h2>
  4012. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">addm4</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  4013. <dl>
  4014. <dt>Leírás</dt><dd>
  4015. Összead két mátrixot.</dd>
  4016. <dt>Paraméterek</dt><dd>
  4017. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4018. <tr><td>dst </td><td>16 float címe (kimenet) </td></tr>
  4019. <tr><td>a </td><td>16 float címe </td></tr>
  4020. <tr><td>b </td><td>16 float címe </td></tr></table></div></dd>
  4021. <dt>Lásd még</dt><dd>
  4022. <a href="#idm4" onclick="c('idm4')">idm4</a>, <a href="#trsm4" onclick="c('trsm4')">trsm4</a>, <a href="#detm4" onclick="c('detm4')">detm4</a>, <a href="#subm4" onclick="c('subm4')">subm4</a>, <a href="#mulm4" onclick="c('mulm4')">mulm4</a>, <a href="#mulm4v3" onclick="c('mulm4v3')">mulm4v3</a>, <a href="#mulm4v4" onclick="c('mulm4v4')">mulm4v4</a>, <a href="#invm4" onclick="c('invm4')">invm4</a>, <a href="#trpm4" onclick="c('trpm4')">trpm4</a></dd></dl>
  4023. <hr>
  4024. <h2 id="subm4">subm4<a href="#subm4"></a></h2>
  4025. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">subm4</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  4026. <dl>
  4027. <dt>Leírás</dt><dd>
  4028. Kivon két mátrixot.</dd>
  4029. <dt>Paraméterek</dt><dd>
  4030. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4031. <tr><td>dst </td><td>16 float címe (kimenet) </td></tr>
  4032. <tr><td>a </td><td>16 float címe </td></tr>
  4033. <tr><td>b </td><td>16 float címe </td></tr></table></div></dd>
  4034. <dt>Lásd még</dt><dd>
  4035. <a href="#idm4" onclick="c('idm4')">idm4</a>, <a href="#trsm4" onclick="c('trsm4')">trsm4</a>, <a href="#detm4" onclick="c('detm4')">detm4</a>, <a href="#addm4" onclick="c('addm4')">addm4</a>, <a href="#mulm4" onclick="c('mulm4')">mulm4</a>, <a href="#mulm4v3" onclick="c('mulm4v3')">mulm4v3</a>, <a href="#mulm4v4" onclick="c('mulm4v4')">mulm4v4</a>, <a href="#invm4" onclick="c('invm4')">invm4</a>, <a href="#trpm4" onclick="c('trpm4')">trpm4</a></dd></dl>
  4036. <hr>
  4037. <h2 id="mulm4">mulm4<a href="#mulm4"></a></h2>
  4038. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">mulm4</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>, <span class="hl_t">addr_t</span> <span class="hl_v">b</span>)</code></div>
  4039. <dl>
  4040. <dt>Leírás</dt><dd>
  4041. Összeszoroz két mátrixot.</dd>
  4042. <dt>Paraméterek</dt><dd>
  4043. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4044. <tr><td>dst </td><td>16 float címe (kimenet) </td></tr>
  4045. <tr><td>a </td><td>16 float címe </td></tr>
  4046. <tr><td>b </td><td>16 float címe </td></tr></table></div></dd>
  4047. <dt>Lásd még</dt><dd>
  4048. <a href="#idm4" onclick="c('idm4')">idm4</a>, <a href="#trsm4" onclick="c('trsm4')">trsm4</a>, <a href="#detm4" onclick="c('detm4')">detm4</a>, <a href="#addm4" onclick="c('addm4')">addm4</a>, <a href="#subm4" onclick="c('subm4')">subm4</a>, <a href="#mulm4v3" onclick="c('mulm4v3')">mulm4v3</a>, <a href="#mulm4v4" onclick="c('mulm4v4')">mulm4v4</a>, <a href="#invm4" onclick="c('invm4')">invm4</a>, <a href="#trpm4" onclick="c('trpm4')">trpm4</a></dd></dl>
  4049. <hr>
  4050. <h2 id="mulm4v3">mulm4v3<a href="#mulm4v3"></a></h2>
  4051. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">mulm4v3</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">m</span>, <span class="hl_t">addr_t</span> <span class="hl_v">v</span>)</code></div>
  4052. <dl>
  4053. <dt>Leírás</dt><dd>
  4054. Összeszoroz egy háromelemű vektort egy mátrixszal.</dd>
  4055. <dt>Paraméterek</dt><dd>
  4056. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4057. <tr><td>dst </td><td>három float címe (kimenet) </td></tr>
  4058. <tr><td>m </td><td>16 float címe </td></tr>
  4059. <tr><td>v </td><td>három float címe </td></tr></table></div></dd>
  4060. <dt>Lásd még</dt><dd>
  4061. <a href="#idm4" onclick="c('idm4')">idm4</a>, <a href="#trsm4" onclick="c('trsm4')">trsm4</a>, <a href="#detm4" onclick="c('detm4')">detm4</a>, <a href="#addm4" onclick="c('addm4')">addm4</a>, <a href="#subm4" onclick="c('subm4')">subm4</a>, <a href="#mulm4" onclick="c('mulm4')">mulm4</a>, <a href="#mulm4v4" onclick="c('mulm4v4')">mulm4v4</a>, <a href="#invm4" onclick="c('invm4')">invm4</a>, <a href="#trpm4" onclick="c('trpm4')">trpm4</a></dd></dl>
  4062. <hr>
  4063. <h2 id="mulm4v4">mulm4v4<a href="#mulm4v4"></a></h2>
  4064. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">mulm4v4</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">m</span>, <span class="hl_t">addr_t</span> <span class="hl_v">v</span>)</code></div>
  4065. <dl>
  4066. <dt>Leírás</dt><dd>
  4067. Összeszoroz egy négyelemű vektort egy mátrixszal.</dd>
  4068. <dt>Paraméterek</dt><dd>
  4069. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4070. <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
  4071. <tr><td>m </td><td>16 float címe </td></tr>
  4072. <tr><td>v </td><td>négy float címe </td></tr></table></div></dd>
  4073. <dt>Lásd még</dt><dd>
  4074. <a href="#idm4" onclick="c('idm4')">idm4</a>, <a href="#trsm4" onclick="c('trsm4')">trsm4</a>, <a href="#detm4" onclick="c('detm4')">detm4</a>, <a href="#addm4" onclick="c('addm4')">addm4</a>, <a href="#subm4" onclick="c('subm4')">subm4</a>, <a href="#mulm4" onclick="c('mulm4')">mulm4</a>, <a href="#mulm4v3" onclick="c('mulm4v3')">mulm4v3</a>, <a href="#invm4" onclick="c('invm4')">invm4</a>, <a href="#trpm4" onclick="c('trpm4')">trpm4</a></dd></dl>
  4075. <hr>
  4076. <h2 id="invm4">invm4<a href="#invm4"></a></h2>
  4077. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">invm4</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>)</code></div>
  4078. <dl>
  4079. <dt>Leírás</dt><dd>
  4080. Kiszámítja a mátrix inverzét.</dd>
  4081. <dt>Paraméterek</dt><dd>
  4082. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4083. <tr><td>dst </td><td>16 float címe (kimenet) </td></tr>
  4084. <tr><td>a </td><td>16 float címe </td></tr></table></div></dd>
  4085. <dt>Lásd még</dt><dd>
  4086. <a href="#idm4" onclick="c('idm4')">idm4</a>, <a href="#trsm4" onclick="c('trsm4')">trsm4</a>, <a href="#detm4" onclick="c('detm4')">detm4</a>, <a href="#addm4" onclick="c('addm4')">addm4</a>, <a href="#subm4" onclick="c('subm4')">subm4</a>, <a href="#mulm4" onclick="c('mulm4')">mulm4</a>, <a href="#mulm4v3" onclick="c('mulm4v3')">mulm4v3</a>, <a href="#mulm4v4" onclick="c('mulm4v4')">mulm4v4</a>, <a href="#trpm4" onclick="c('trpm4')">trpm4</a></dd></dl>
  4087. <hr>
  4088. <h2 id="trpm4">trpm4<a href="#trpm4"></a></h2>
  4089. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">trpm4</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">a</span>)</code></div>
  4090. <dl>
  4091. <dt>Leírás</dt><dd>
  4092. Transzponálja a mátrixot.</dd>
  4093. <dt>Paraméterek</dt><dd>
  4094. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4095. <tr><td>dst </td><td>16 float címe (kimenet) </td></tr>
  4096. <tr><td>a </td><td>16 float címe </td></tr></table></div></dd>
  4097. <dt>Lásd még</dt><dd>
  4098. <a href="#idm4" onclick="c('idm4')">idm4</a>, <a href="#trsm4" onclick="c('trsm4')">trsm4</a>, <a href="#detm4" onclick="c('detm4')">detm4</a>, <a href="#addm4" onclick="c('addm4')">addm4</a>, <a href="#subm4" onclick="c('subm4')">subm4</a>, <a href="#mulm4" onclick="c('mulm4')">mulm4</a>, <a href="#mulm4v3" onclick="c('mulm4v3')">mulm4v3</a>, <a href="#mulm4v4" onclick="c('mulm4v4')">mulm4v4</a>, <a href="#invm4" onclick="c('invm4')">invm4</a></dd></dl>
  4099. <hr>
  4100. <h2 id="trns">trns<a href="#trns"></a></h2>
  4101. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br></pre><code><span class="hl_t">void</span> <span class="hl_f">trns</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">src</span>, <span class="hl_t">uint8_t</span> <span class="hl_v">num</span>,
  4102. <span class="hl_t">int16_t</span> <span class="hl_v">x</span>, <span class="hl_t">int16_t</span> <span class="hl_v">y</span>, <span class="hl_t">int16_t</span> <span class="hl_v">z</span>,
  4103. <span class="hl_t">uint16_t</span> <span class="hl_v">pitch</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">yaw</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">roll</span>,
  4104. <span class="hl_t">float</span> <span class="hl_v">scale</span>)</code></div>
  4105. <dl>
  4106. <dt>Leírás</dt><dd>
  4107. Transzformálja a vertex halmazt, azaz elhelyezi a 3D-s modellt a <a href="#3d_s_ter" onclick="c('3d_s_ter')">3D-s tér</a>ben.</dd>
  4108. <dt>Paraméterek</dt><dd>
  4109. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4110. <tr><td>dst </td><td>cél vertex pontok tömbjének címe, egyenként 3 x 2 bájt, X, Y, Z </td></tr>
  4111. <tr><td>src </td><td>forrás vertex pontok tömbjének címe, egyenként 3 x 2 bájt, X, Y, Z </td></tr>
  4112. <tr><td>num </td><td>vertex koordinátahármasok száma a tömbben </td></tr>
  4113. <tr><td>x </td><td>világ X koordináta, -32767-tól 32767-ig </td></tr>
  4114. <tr><td>y </td><td>világ Y koordináta, -32767-tól 32767-ig </td></tr>
  4115. <tr><td>z </td><td>világ Z koordináta, -32767-tól 32767-ig </td></tr>
  4116. <tr><td>pitch </td><td>dőlésszög, X tengely körüli forgatás fokokban, 0-tól 359-ig </td></tr>
  4117. <tr><td>yaw </td><td>forgásszög, Y tengely körüli forgatás fokokban, 0-tól 359-ig </td></tr>
  4118. <tr><td>roll </td><td>pörgésszög, Z tengely körüli forgatás fokokban, 0-tól 359-ig </td></tr>
  4119. <tr><td>scale </td><td>átméretezés, használj 1.0-t az eredeti méret megtartásához </td></tr></table></div></dd>
  4120. <dt>Lásd még</dt><dd>
  4121. <a href="#mesh" onclick="c('mesh')">mesh</a></dd></dl><br style="clear:both;"><label class="btn prev" accesskey="p" for="_bemenet" title="Bemenet">Előző</label><label class="btn next" accesskey="n" for="_memoria" title="Memória">Következő</label></div>
  4122. <div class="page" rel="memoria"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;API Referencia&nbsp;»</li><li>&nbsp;Memória</li></ul><hr></div>
  4123. <h1 id="memoria">Memória<a href="#memoria"></a></h1>
  4124. <h2 id="inb">inb<a href="#inb"></a></h2>
  4125. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">uint8_t</span> <span class="hl_f">inb</span>(<span class="hl_t">addr_t</span> <span class="hl_v">src</span>)</code></div>
  4126. <dl>
  4127. <dt>Leírás</dt><dd>
  4128. Beolvas egy bájtot a memóriából.</dd>
  4129. <dt>Paraméterek</dt><dd>
  4130. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4131. <tr><td>src </td><td>cím, 0x00000-tól 0xBFFFF-ig </td></tr></table></div></dd>
  4132. <dt>Visszatérési érték</dt><dd>
  4133. Visszaadja az értéket az adott címről.</dd></dl>
  4134. <hr>
  4135. <h2 id="inw">inw<a href="#inw"></a></h2>
  4136. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">uint16_t</span> <span class="hl_f">inw</span>(<span class="hl_t">addr_t</span> <span class="hl_v">src</span>)</code></div>
  4137. <dl>
  4138. <dt>Leírás</dt><dd>
  4139. Beolvas egy szót (word, 2 bájt) a memóriából.</dd>
  4140. <dt>Paraméterek</dt><dd>
  4141. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4142. <tr><td>src </td><td>cím, 0x00000-tól 0xBFFFE-ig </td></tr></table></div></dd>
  4143. <dt>Visszatérési érték</dt><dd>
  4144. Visszaadja az értéket az adott címről.</dd></dl>
  4145. <hr>
  4146. <h2 id="ini">ini<a href="#ini"></a></h2>
  4147. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">uint32_t</span> <span class="hl_f">ini</span>(<span class="hl_t">addr_t</span> <span class="hl_v">src</span>)</code></div>
  4148. <dl>
  4149. <dt>Leírás</dt><dd>
  4150. Beolvas egy egészszámot (integer, 4 bájt) a memóriából.</dd>
  4151. <dt>Paraméterek</dt><dd>
  4152. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4153. <tr><td>src </td><td>cím, 0x00000-tól 0xBFFFC-ig </td></tr></table></div></dd>
  4154. <dt>Visszatérési érték</dt><dd>
  4155. Visszaadja az értéket az adott címről.</dd></dl>
  4156. <hr>
  4157. <h2 id="outb">outb<a href="#outb"></a></h2>
  4158. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">outb</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">uint8_t</span> <span class="hl_v">value</span>)</code></div>
  4159. <dl>
  4160. <dt>Leírás</dt><dd>
  4161. Kiír egy bájtot a memóriába.</dd>
  4162. <dt>Paraméterek</dt><dd>
  4163. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4164. <tr><td>dst </td><td>cím, 0x00000-tól 0xBFFFF-ig </td></tr>
  4165. <tr><td>value </td><td>beállítandó érték, 0-tól 255-ig </td></tr></table></div></dd></dl>
  4166. <hr>
  4167. <h2 id="outw">outw<a href="#outw"></a></h2>
  4168. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">outw</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">uint16_t</span> <span class="hl_v">value</span>)</code></div>
  4169. <dl>
  4170. <dt>Leírás</dt><dd>
  4171. Kiír egy szót (word, 2 bájt) a memóriába.</dd>
  4172. <dt>Paraméterek</dt><dd>
  4173. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4174. <tr><td>dst </td><td>cím, 0x00000-tól 0xBFFFE-ig </td></tr>
  4175. <tr><td>value </td><td>beállítandó érték, 0-tól 65536-ig </td></tr></table></div></dd></dl>
  4176. <hr>
  4177. <h2 id="outi">outi<a href="#outi"></a></h2>
  4178. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">outi</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">uint32_t</span> <span class="hl_v">value</span>)</code></div>
  4179. <dl>
  4180. <dt>Leírás</dt><dd>
  4181. Kiír egy egészszámot (integer, 4 bájt) a memóriába.</dd>
  4182. <dt>Paraméterek</dt><dd>
  4183. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4184. <tr><td>dst </td><td>cím, 0x00000-tól 0xBFFFC-ig </td></tr>
  4185. <tr><td>value </td><td>beállítandó érték, 0-tól 4294967295-ig </td></tr></table></div></dd></dl>
  4186. <hr>
  4187. <h2 id="memsave">memsave<a href="#memsave"></a></h2>
  4188. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_f">memsave</span>(<span class="hl_t">uint8_t</span> <span class="hl_v">overlay</span>, <span class="hl_t">addr_t</span> <span class="hl_v">src</span>, <span class="hl_t">uint32_t</span> <span class="hl_v">size</span>)</code></div>
  4189. <dl>
  4190. <dt>Leírás</dt><dd>
  4191. Elmenti a megadott memória tartalmát egy átfedőbe.</dd>
  4192. <dt>Paraméterek</dt><dd>
  4193. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4194. <tr><td>overlay </td><td>cél átfedő indexe, 0-tól 255-ig </td></tr>
  4195. <tr><td>src </td><td>elmentendő memória címe, 0x00000-tól 0xBFFFF-ig </td></tr>
  4196. <tr><td>size </td><td>elmentendő bájtok száma </td></tr></table></div></dd>
  4197. <dt>Visszatérési érték</dt><dd>
  4198. 1-et ad vissza ha sikerült, 0-át hiba esetén.</dd>
  4199. <dt>Lásd még</dt><dd>
  4200. <a href="#memload" onclick="c('memload')">memload</a></dd></dl>
  4201. <hr>
  4202. <h2 id="memload">memload<a href="#memload"></a></h2>
  4203. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_f">memload</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">uint8_t</span> <span class="hl_v">overlay</span>, <span class="hl_t">uint32_t</span> <span class="hl_v">maxsize</span>)</code></div>
  4204. <dl>
  4205. <dt>Leírás</dt><dd>
  4206. Betölti egy átfedő tartalmát a memória megadott címére.</dd>
  4207. <dt>Paraméterek</dt><dd>
  4208. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4209. <tr><td>dst </td><td>cél memória terület címe, 0x00000-tól 0xBFFFF-ig </td></tr>
  4210. <tr><td>overlay </td><td>betöltendő átfedő indexe, 0-tól 255-ig </td></tr>
  4211. <tr><td>maxsize </td><td>betöltendő bájtok maximális száma </td></tr></table></div></dd>
  4212. <dt>Visszatérési érték</dt><dd>
  4213. Visszaadja, hogy hány bájtot töltött végül be (ami lehet kevesebb, mint a maxsize).</dd>
  4214. <dt>Lásd még</dt><dd>
  4215. <a href="#memsave" onclick="c('memsave')">memsave</a></dd></dl>
  4216. <hr>
  4217. <h2 id="memcpy">memcpy<a href="#memcpy"></a></h2>
  4218. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">memcpy</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">src</span>, <span class="hl_t">uint32_t</span> <span class="hl_v">len</span>)</code></div>
  4219. <dl>
  4220. <dt>Leírás</dt><dd>
  4221. Memóriaterületek másolása.</dd>
  4222. <dt>Paraméterek</dt><dd>
  4223. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4224. <tr><td>dst </td><td>cél címe, 0x00000-tól 0xBFFFF-ig </td></tr>
  4225. <tr><td>src </td><td>forrás címe, 0x00000-tól 0xBFFFF-ig </td></tr>
  4226. <tr><td>len </td><td>átmásolandó bájtok száma </td></tr></table></div></dd></dl>
  4227. <hr>
  4228. <h2 id="memset">memset<a href="#memset"></a></h2>
  4229. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">void</span> <span class="hl_f">memset</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">uint8_t</span> <span class="hl_v">value</span>, <span class="hl_t">uint32_t</span> <span class="hl_v">len</span>)</code></div>
  4230. <dl>
  4231. <dt>Leírás</dt><dd>
  4232. Memóriaterület feltöltése adott bájttal.</dd>
  4233. <dt>Paraméterek</dt><dd>
  4234. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4235. <tr><td>dst </td><td>cél címe, 0x00000-tól 0xBFFFF-ig </td></tr>
  4236. <tr><td>value </td><td>beállítandó érték, 0-tól 255-ig </td></tr>
  4237. <tr><td>len </td><td>beállítandó bájtok száma </td></tr></table></div></dd></dl>
  4238. <hr>
  4239. <h2 id="memcmp">memcmp<a href="#memcmp"></a></h2>
  4240. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_f">memcmp</span>(<span class="hl_t">addr_t</span> <span class="hl_v">addr0</span>, <span class="hl_t">addr_t</span> <span class="hl_v">addr1</span>, <span class="hl_t">uint32_t</span> <span class="hl_v">len</span>)</code></div>
  4241. <dl>
  4242. <dt>Leírás</dt><dd>
  4243. Két memóriaterület összehasonlítása.</dd>
  4244. <dt>Paraméterek</dt><dd>
  4245. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4246. <tr><td>addr0 </td><td>első cím, 0x00000-tól 0xBFFFF-ig </td></tr>
  4247. <tr><td>addr1 </td><td>második cím, 0x00000-tól 0xBFFFF-ig </td></tr>
  4248. <tr><td>len </td><td>összehasonlítandó bájtok száma </td></tr></table></div></dd>
  4249. <dt>Visszatérési érték</dt><dd>
  4250. Visszaadja a különbséget, azaz 0-át, ha a két terület tartalma megegyezik.</dd></dl>
  4251. <hr>
  4252. <h2 id="deflate">deflate<a href="#deflate"></a></h2>
  4253. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_f">deflate</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">src</span>, <span class="hl_t">uint32_t</span> <span class="hl_v">len</span>)</code></div>
  4254. <dl>
  4255. <dt>Leírás</dt><dd>
  4256. Betömörít (összezsugorít) egy adatbuffert RFC1950 deflate (zlib) használatával.</dd>
  4257. <dt>Paraméterek</dt><dd>
  4258. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4259. <tr><td>dst </td><td>cél címe, 0x30000-tól 0xBFFFF-ig </td></tr>
  4260. <tr><td>src </td><td>forrás címe, 0x30000-tól 0xBFFFF-ig </td></tr>
  4261. <tr><td>len </td><td>tömörítendő bájtok száma </td></tr></table></div></dd>
  4262. <dt>Visszatérési érték</dt><dd>
  4263. 0 vagy negatív hiba esetén, egyébként a betömörített bájtok száma és a betömörített adat a dst-ben.</dd>
  4264. <dt>Lásd még</dt><dd>
  4265. <a href="#inflate" onclick="c('inflate')">inflate</a></dd></dl>
  4266. <hr>
  4267. <h2 id="inflate">inflate<a href="#inflate"></a></h2>
  4268. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_f">inflate</span>(<span class="hl_t">addr_t</span> <span class="hl_v">dst</span>, <span class="hl_t">addr_t</span> <span class="hl_v">src</span>, <span class="hl_t">uint32_t</span> <span class="hl_v">len</span>)</code></div>
  4269. <dl>
  4270. <dt>Leírás</dt><dd>
  4271. Kitömörít (felfúj) egy RFC1950 deflate (zlib) tömörített buffert.</dd>
  4272. <dt>Paraméterek</dt><dd>
  4273. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4274. <tr><td>dst </td><td>cél címe, 0x30000-tól 0xBFFFF-ig </td></tr>
  4275. <tr><td>src </td><td>forrás címe, 0x30000-tól 0xBFFFF-ig </td></tr>
  4276. <tr><td>len </td><td>betömörített bájtok száma </td></tr></table></div></dd>
  4277. <dt>Visszatérési érték</dt><dd>
  4278. 0 vagy negatív hiba esetén, egyébként a kitömörített bájtok száma és a kitömörített adat a dst-ben.</dd>
  4279. <dt>Lásd még</dt><dd>
  4280. <a href="#deflate" onclick="c('deflate')">deflate</a></dd></dl>
  4281. <hr>
  4282. <h2 id="time">time<a href="#time"></a></h2>
  4283. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">time</span>(<span class="hl_t">void</span>)</code></div>
  4284. <dl>
  4285. <dt>Leírás</dt><dd>
  4286. Visszaadja a bekapcsolás óta eltelt tikkek számát.</dd>
  4287. <dt>Visszatérési érték</dt><dd>
  4288. A bekapcsolás óta eltelt idő ezredmásodpercekben.</dd>
  4289. <dt>Lásd még</dt><dd>
  4290. <a href="#now" onclick="c('now')">now</a></dd></dl>
  4291. <hr>
  4292. <h2 id="now">now<a href="#now"></a></h2>
  4293. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">uint32_t</span> <span class="hl_f">now</span>(<span class="hl_t">void</span>)</code></div>
  4294. <dl>
  4295. <dt>Leírás</dt><dd>
  4296. Visszaadja a UNIX időbélyeget. A 0000C címen lévő bájttal ellenőrizheted, hogy túlcsordult-e.</dd>
  4297. <dt>Visszatérési érték</dt><dd>
  4298. A greenwichi középidő szerinti 1970. január 1.-e éjfél óta eltelt másodpercek száma.</dd>
  4299. <dt>Lásd még</dt><dd>
  4300. <a href="#time" onclick="c('time')">time</a></dd></dl>
  4301. <hr>
  4302. <h2 id="atoi">atoi<a href="#atoi"></a></h2>
  4303. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_f">atoi</span>(<span class="hl_t">str_t</span> <span class="hl_v">src</span>)</code></div>
  4304. <dl>
  4305. <dt>Leírás</dt><dd>
  4306. Egy ASCII decimális számot alakít át egészszámmá.</dd>
  4307. <dt>Paraméterek</dt><dd>
  4308. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4309. <tr><td>src </td><td>sztring címe, 0x00000-tól 0xBFFFF-ig </td></tr></table></div></dd>
  4310. <dt>Visszatérési érték</dt><dd>
  4311. A sztringbeli szám egészszám megfelelője.</dd>
  4312. <dt>Lásd még</dt><dd>
  4313. <a href="#itoa" onclick="c('itoa')">itoa</a>, <a href="#str" onclick="c('str')">str</a>, <a href="#val" onclick="c('val')">val</a></dd></dl>
  4314. <hr>
  4315. <h2 id="itoa">itoa<a href="#itoa"></a></h2>
  4316. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">str_t</span> <span class="hl_f">itoa</span>(<span class="hl_t">int</span> <span class="hl_v">value</span>)</code></div>
  4317. <dl>
  4318. <dt>Leírás</dt><dd>
  4319. Egy egésszámot alakít ASCII decimális karaktersorozattá, sztringé.</dd>
  4320. <dt>Paraméterek</dt><dd>
  4321. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4322. <tr><td>value </td><td>az érték, -2147483648-tól 2147483647-ig </td></tr></table></div></dd>
  4323. <dt>Visszatérési érték</dt><dd>
  4324. A szám sztringbe kiírt változata.</dd>
  4325. <dt>Lásd még</dt><dd>
  4326. <a href="#atoi" onclick="c('atoi')">atoi</a>, <a href="#str" onclick="c('str')">str</a>, <a href="#val" onclick="c('val')">val</a></dd></dl>
  4327. <hr>
  4328. <h2 id="val">val<a href="#val"></a></h2>
  4329. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">float</span> <span class="hl_f">val</span>(<span class="hl_t">str_t</span> <span class="hl_v">src</span>)</code></div>
  4330. <dl>
  4331. <dt>Leírás</dt><dd>
  4332. Egy ASCII decimális számot alakít át lebegőpontos számmá.</dd>
  4333. <dt>Paraméterek</dt><dd>
  4334. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4335. <tr><td>src </td><td>sztring címe, 0x00000-tól 0xBFFFF-ig </td></tr></table></div></dd>
  4336. <dt>Visszatérési érték</dt><dd>
  4337. A sztringbeli szám lebegőpontos szám megfelelője.</dd>
  4338. <dt>Lásd még</dt><dd>
  4339. <a href="#itoa" onclick="c('itoa')">itoa</a>, <a href="#atoi" onclick="c('atoi')">atoi</a>, <a href="#str" onclick="c('str')">str</a></dd></dl>
  4340. <hr>
  4341. <h2 id="str">str<a href="#str"></a></h2>
  4342. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">str_t</span> <span class="hl_f">str</span>(<span class="hl_t">float</span> <span class="hl_v">value</span>)</code></div>
  4343. <dl>
  4344. <dt>Leírás</dt><dd>
  4345. Egy lebegőpontos számot alakít ASCII decimális karaktersorozattá, sztringé.</dd>
  4346. <dt>Paraméterek</dt><dd>
  4347. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4348. <tr><td>value </td><td>a szám </td></tr></table></div></dd>
  4349. <dt>Visszatérési érték</dt><dd>
  4350. A szám sztringbe kiírt változata.</dd>
  4351. <dt>Lásd még</dt><dd>
  4352. <a href="#atoi" onclick="c('atoi')">atoi</a>, <a href="#itoa" onclick="c('itoa')">itoa</a>, <a href="#val" onclick="c('val')">val</a></dd></dl>
  4353. <hr>
  4354. <h2 id="sprintf">sprintf<a href="#sprintf"></a></h2>
  4355. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">str_t</span> <span class="hl_f">sprintf</span>(<span class="hl_t">str_t</span> <span class="hl_v">fmt</span>, <span class="hl_o">...</span>)</code></div>
  4356. <dl>
  4357. <dt>Leírás</dt><dd>
  4358. Kigenerál egy nullával lezárt, UTF-8 sztringet a megadott formázás és paraméterek alapján.</dd>
  4359. <dt>Paraméterek</dt><dd>
  4360. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4361. <tr><td>fmt </td><td><a href="#formazo_sztring" onclick="c('formazo_sztring')">formázó sztring</a> </td></tr>
  4362. <tr><td>... </td><td>opcionális paraméterek </td></tr></table></div></dd>
  4363. <dt>Visszatérési érték</dt><dd>
  4364. A megformázott sztring.</dd></dl>
  4365. <hr>
  4366. <h2 id="strlen">strlen<a href="#strlen"></a></h2>
  4367. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_f">strlen</span>(<span class="hl_t">str_t</span> <span class="hl_v">src</span>)</code></div>
  4368. <dl>
  4369. <dt>Leírás</dt><dd>
  4370. Visszaadja, mennyi bájtból áll a sztring (a lezáró nulla nélkül).</dd>
  4371. <dt>Paraméterek</dt><dd>
  4372. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4373. <tr><td>src </td><td>sztring címe, 0x00000-tól 0xBFFFF-ig </td></tr></table></div></dd>
  4374. <dt>Visszatérési érték</dt><dd>
  4375. A sztringben lévő bájtok száma.</dd>
  4376. <dt>Lásd még</dt><dd>
  4377. <a href="#mblen" onclick="c('mblen')">mblen</a></dd></dl>
  4378. <hr>
  4379. <h2 id="mblen">mblen<a href="#mblen"></a></h2>
  4380. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_f">mblen</span>(<span class="hl_t">str_t</span> <span class="hl_v">src</span>)</code></div>
  4381. <dl>
  4382. <dt>Leírás</dt><dd>
  4383. Visszaadja, mennyi UTF-8 multibájt karakterből áll a sztring (a lezáró nulla nélkül).</dd>
  4384. <dt>Paraméterek</dt><dd>
  4385. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4386. <tr><td>src </td><td>sztring címe, 0x00000-tól 0xBFFFF-ig </td></tr></table></div></dd>
  4387. <dt>Visszatérési érték</dt><dd>
  4388. A sztringben lévő karakterek száma.</dd>
  4389. <dt>Lásd még</dt><dd>
  4390. <a href="#strlen" onclick="c('strlen')">strlen</a></dd></dl>
  4391. <hr>
  4392. <h2 id="malloc">malloc<a href="#malloc"></a></h2>
  4393. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">addr_t</span> <span class="hl_f">malloc</span>(<span class="hl_t">uint32_t</span> <span class="hl_v">size</span>)</code></div>
  4394. <dl>
  4395. <dt>Leírás</dt><dd>
  4396. Dinamikusan lefoglalja a memória egy részét.</dd>
  4397. <dt>Paraméterek</dt><dd>
  4398. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4399. <tr><td>size </td><td>lefoglalandó bájtok száma </td></tr></table></div></dd>
  4400. <dt>Visszatérési érték</dt><dd>
  4401. Az újonnan allokált buffer címe, vagy NULL hiba esetén.</dd>
  4402. <dt>Lásd még</dt><dd>
  4403. <a href="#realloc" onclick="c('realloc')">realloc</a>, <a href="#free" onclick="c('free')">free</a></dd></dl>
  4404. <hr>
  4405. <h2 id="realloc">realloc<a href="#realloc"></a></h2>
  4406. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">addr_t</span> <span class="hl_f">realloc</span>(<span class="hl_t">addr_t</span> <span class="hl_v">addr</span>, <span class="hl_t">uint32_t</span> <span class="hl_v">size</span>)</code></div>
  4407. <dl>
  4408. <dt>Leírás</dt><dd>
  4409. Átméretez egy korábban lefoglalt buffert.</dd>
  4410. <dt>Paraméterek</dt><dd>
  4411. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4412. <tr><td>addr </td><td>az allokált buffer címe </td></tr>
  4413. <tr><td>size </td><td>bájtok száma, amire átméretez </td></tr></table></div></dd>
  4414. <dt>Visszatérési érték</dt><dd>
  4415. Az újonnan allokált buffer címe, vagy NULL hiba esetén.</dd>
  4416. <dt>Lásd még</dt><dd>
  4417. <a href="#malloc" onclick="c('malloc')">malloc</a>, <a href="#free" onclick="c('free')">free</a></dd></dl>
  4418. <hr>
  4419. <h2 id="free">free<a href="#free"></a></h2>
  4420. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_t">int</span> <span class="hl_f">free</span>(<span class="hl_t">addr_t</span> <span class="hl_v">addr</span>)</code></div>
  4421. <dl>
  4422. <dt>Leírás</dt><dd>
  4423. Felszabadítja a dinamikusan lefoglalt memóriát.</dd>
  4424. <dt>Paraméterek</dt><dd>
  4425. <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
  4426. <tr><td>addr </td><td>az allokált buffer címe </td></tr></table></div></dd>
  4427. <dt>Visszatérési érték</dt><dd>
  4428. 1 siker esetén, 0 ha hiba történt.</dd>
  4429. <dt>Lásd még</dt><dd>
  4430. <a href="#malloc" onclick="c('malloc')">malloc</a>, <a href="#realloc" onclick="c('realloc')">realloc</a></dd></dl><br style="clear:both;"><label class="btn prev" accesskey="p" for="_matematika" title="Matematika">Előző</label><label class="btn next" accesskey="n" for="_pattogo_labda" title="Pattogó labda">Következő</label></div>
  4431. <div class="page" rel="pattogo_labda"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Példák&nbsp;»</li><li>&nbsp;Pattogó labda</li></ul><hr></div>
  4432. <h1 id="pattogo_labda">Pattogó labda<a href="#pattogo_labda"></a></h1>
  4433. <p>Ebben a példában egy olyan programot fogunk készíteni, ami egy labdát pattogtat a képernyőn.</p>
  4434. <h2 id="labda_megjelenitese">Labda megjelenítése<a href="#labda_megjelenitese"></a></h2>
  4435. <p>Először is indítsuk el a <samp>meg4</samp> programot, és hozzuk be a <a href="#szprajt_szerkeszto" onclick="c('szprajt_szerkeszto')">Szprájt szerkesztő</a>t (üsd le az <kbd>F3</kbd>-at). Válasszuk ki az
  4436. első szprájtot szerkesztésre jobbra, és rajzoljuk meg a labdát a bal oldali szerkesztőben.</p>
  4437. <div class="imgc"><img class="imgc" width="640" height="400" alt="tut_ball1.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAGQCAMAAAAJLSEXAAAC/VBMVEUAAAABAQ4AADMAAWQyAAA0ADEcAZk1AGQfAM1nAAFlADEwAPpnAGYgHzFmAZdiAM4hIyCXAwACMgCaADBjAf8lJyQCMTKaAGMCMmSYApcAMpzMAABDJz2bAMozMgLMADCZAP0AMf/MAGU1MmYcMc/MAJg2MJf+AAA4OjdlMQLOAMr9AjPNAP9nMTIrNP9nMWdkODA8P3JoMZdDRUKZMQBjM8xHSUZRSiOXMzMJZABjM/+bL2StLzIAZTNNT0zMLwKYNJd3QIiaMcr/G2YBZpzLMTCXMP//GZkxZgAAZc9ZVVMhZWXMMGcwZjH/Ff01YIP/HcnLMpsAfwD/MABUXWbMMMwyZZlNaCv+MTFnZQCNVTguZswmZf/LMv9kZi9maGVnZJeYZQBTdExnZMkAmACDaU9gZv+XZzJWbeGIbyyaZWiPbEkOmC/bVGMBmGSaZZbMYwSYZM07khsxmAHMZDSVZv/MY2NQi19IkTY1mDIzlG9ClyoimJkzmGYYmM3LZZiDfYl+gH3+ZQLMZspjmQDNY/3dcSP+ZjAlmP//ZGNmmDJ0kXNDmNuXh3T/ZJdnmGWKjIpjmJdil8f9Z86Ll0ibmQD8Zv8AywDVerpmmP2ZmjCVmJabm2e9kWUAzGKxlmnNlwAYyzIAy5WTmcu7mkMxywDMlzCXmP+koI6eoZ5mvi3NmWk1y2PKmZgrzJj+mAAoyskZy/6YqrbKmcrWn2H9mCpnywDLmP1iyy7+lmWpq6hhy2Csr5qbscH+l5j/lsppypWZuM6aywCztbH/l/1py8lgzOOXyzBry/0A/iwN/gCYy2KZy5fLywLTvoGUzMqWyPrKyyrdwmQW/pbLy2YJ/8ko/mTKzJXRyLTrw5j8ywCX5E7JzMsd/v5j/wD9zCrLy/xd/zP9yl9e/2T+zJdh/pf/y8rI2/uY/wRl/s3/y/6V/zFn/vyW/mKb/pfK/wiY/sz77y/I/zOX/f/L/2Xp7ezJ/5j+/gDL/8j9/ivN/f3//mL//pb1/Pr8/81UTEj8AAAXRElEQVR42u2dB3gcWVaFPWQTS4BIQ06uJcOFS36wMKQhGIwxGbEGYxYTvQtrGIIblrS2sVbMElYWIhij3mEIYkiNvWCavMOgMYb1gshhyVlk8dFVdW9VdUtWezq9lvo/lsuVOnyl3+e9uu/060OtPlqoqYXQiHWo+Gc9XzbXdwFwsRKXC40HwHUjb6mLwM07L94NwMvnlouVZkiS1Ha2m8uNdvXQm0snjh7Ya5YMcORga7Na3dre3try3Zub661215nNXQFsrjcLDNeXaidcubP5aAFgu7nQMACvnz137jmLDmBjMbVrvnjffefb5fvYuHiieSJfu758MJhL6mw1uklL7Giy48gB082LF5fK9Y2Nm4bcZgXg5lYOYLF9Z6tD4Nad2hMsL4fQWt4J4Pr6jRs3b6xnPzX+bj15fdMAbKULBuCFC2cfOnfuXPW7OJQjuzg/f/x4q+mNdPY0hQM+/vjjlzu6Z0NJun/VU+N5jUYjf2dJ8Sdf9TeadA42sn2N2pFkWlDM32a18EtevMenhN/GxsWLF0/k/Ny4mG0sLbnR+TnbHXWgKyzw+la2eb1mf5vN1vLmLg64mam92W7Xnur6rSdfcMX7gJpaE3z57ENnz558/smC5zCfJAWAjePHm+n54+d3AHihsXDhQj8Ak6lvx/JfVyMHrNVIGuV6ZY/5fj9iJ05JfyGpLap9radK4Ms3NjaWli7mLdvGiROdVffDDjolgFsd/zMAr2xlWq0B2OwQ1l7cAWDzTKZTZy6dOXXqzHLpfzl/GYBra/LgqQLAc2fPXX7onEGdzDeW3QGX25sLaWmuN1pLSwWAly+cPLkQTvZp3pKp70eZuXUQyxjLfzJbLB2w2JmUB/MTpwPAJKktalA+ZQA7BN64ubFUALh+Y2npxAk/1r55PL99yPjbdgBXewFsLS52bhV2NsGra2srq4+srK2srLXW1vLdlzr8rdpd8KW11UsdPhsZgBeec/KhFz2rMLTlQ50dCwWA7Xa7IQvH7Zb65vmW/U9p3X744Yeft7cDdl2HZCoJdPZyuIq/9SbY2t0cQDuSrx40B8xdZb1wmFbGnwG4fqO1fvS8A1g64OpmtrXSXdRrLO4E8JH6jpcVj7167YqXYa6vXup446VTeR9wsXnh8rnCRJuHZHHBmuDW+fPHj7u3Ll082jpa/udovfT27Rf2BzCpd1mmzwCNvVbertrf0uPyPmB+Tu1IY2r+84yoD7h0oucWtnnUKh3ny1uT3PM27bwCwNP1m5DGgwvLjd3qgDsu+DPXyjrgmTOrT9xZfVpZhln3nl5jPkkX06Y/d0n2Aw8cHeQ/6tSr0UK7an29G0DbWF1dXVlZ6QJwodHbMznU78mzm5CFS9cvLVCIRmNQXwAXGQlB4wRQEIqgtgkAURwAW34nixAAHjCl6d1W0tTW0urc6tjd9uz6PNK9lu58ie7nyRa7r+Qn5isiPXt2nrP385R70u49aW1PCoDj5k+CU5aG7j0SQrEr9R1p6MjOCT3nVM+zYyVUe+zhoTpU7vFn7jxf9lBbyV67vid7wWJPdqBYCeU5oeccuftK7ZzQsydUe/I3BYDjBLBz1QuWjKRsRUJJZ69P9Zqan5NZhq+k5aN8xZ4nlC8q1aGeJwwFXGlBdrawFWfdVvI3ZSvSvVKek78pW0nLR/mKPU8oX1SqQ9UTAuC4ASy5SEMPUmXj2/ltBPe7blOrnRzqCNk5vX63A0DzvWrFD/opOT3BXic3rPwn2JsyvxPHp/dk39ODWO1kfyP1nxCkWgHAsfcBw927Y91spulOvws9zyM1v+txwK4+YM+Lhq5uZt4Js0X3SnmoMO9iq+dR4gYpOw7Zke5H9eypXjRwEzIBVb250uaqXeVJ5Tk9j5IgO/aE8kjY8aiePdWLVk8TclcrVoKpWikPZY/xQz2Pyl+6Z4+fXBzpflTPnupFARBNZxkmnXmNqv1F/S/0bgAmfTTfR/dH1rDvP4wIwGOl1FQeU/Z09gQAHBmAZSG2Vis+luSXIpnvrBR/xFeUPZ09ADgyAPOaRH2R3QEem7//yJEjc3PJMbviifiKsqezBwBHB2BW3a0WebEsPXZ/ht/c3GEcEAccO4AZg+WiqNh2AJwrAMTvcMDx9wFDtbAmuAQQv8MBx30XXFRvfRGKJngOB8QBI5ZhkoI/7oJxwDgAzieHO5rnLhgHjFyIpv686x4AHG8hmna2zx4AHG8hmna2zx4AHEMhusg853/xOxxw8oXoMjGMA+KAMQrRRdy3aILxOxxw8oVoi/sGHBAHjFyGwe9wwLgA4nc4YEwAqTaTiJ58ITqtAUg7y1jw5AvR+Weyi894084yFjz5RHTxgey8GI3f4YCTL0SXs1rggDhgjES0TTxFHxAHjJSIFk9E43c4YNwyDH6HA0YFEL/DAaOOhFBtJhFNIpqx4JlLRAcS0YwFxyxE2+S6OCAOGGVqjnIyZfxuQAccFrAjY9bckOoH6Kim5sDvBnRAABzN1Bz4HQ44OQBJROOAUwcgfocDxgSQavOAiWgAHE0hmnZ2wLFgABzN1By0swOOBQPgMFNzpOXUHPgdDjg5AMtCtFTf6off4YAxC9H4HQ4YtRCN3+GAccsw+B0OGBVA/A4HjDoSQrV5sEQ0AJKIZiz4ABSiaWcZC558ITqbmoM5onHAeIXoEPzLCvE7HHDyhWgbDiERjQNGKkRbGZpENA5IIhoHJBGN3+GAJKJJRM9UITplLJix4JiF6BBIRDMWHK0QHUSYIxoHjFiItm0cEAeMlIhOmSMaB4yaiA4konFAEtE4IIlo/A4HJBG9/xLR4wZsLrIO99FwX1ZYFaJpZwccCwbAob6ssCxE084OOBYMgMwRjQPuNwBriejAHNE4YIQ+oCWiq0I0focDTgzAWiK6LETjdzjg5AAkEY0DTh2A+B0OGBNAqs0DJqIBkDmio44FA+CghehiTgTmiB5yLBgABytE+6fSU+aIxgFjFKL9H9/A73DAiRaiixwCc0TjgLEK0XkNmjmiccBpKcPgdzhgVADxOxww6kgI1WYS0TEL0bSzjAVHLUTTzjIWPPlCdMYfc0TjgNEK0Tl7JKJxwFiFaBLROGDcQjSJaByQRDQOCIA4IA5IIppE9OxNzcFYMGPBUQvRIaeQRDRjwZES0UUokEQ0DhipEJ1NzkEiGgeMloguBoRJREd0wLkp15gT0UIiOrIDziSAJKJxQBLROCAAkoiOn4ieRQBJRE/RWPAMAtiViA4kouOOBc8igPVCNHNE44Axp+bIx+JIROOA0afmwO9wwKhTc+B3OCCJaBxwhgHE7w6cA25vk4gmER0TwGR7am9CmCN6BsaCt5MREMgc0YwFDwHg8ASOd2qOtJyaA787mA54+PBUF6KlLETjdwfRAben0gGZI3pWHHD7cOdnnxSi8bsDmAfstL+HpxJAEtEkoklE44AASCKaRDSJaMaCZzoRzRzRpGGiJqJT5ojGAaMmogOJaBwwViHaJsgiEY0DRipEWxmaRDQOSCIaByQRjd/hgCSiSUTPVCE6ZSyYseCYhegQSEQzFhytEB1EmCMaB4xYiLZtHBAHjJSITpkjGgeMmogOJKJxQBLROCCJaPwOByQRTSJ6pgrRaVWIpp1lLDhCITqUhWjaWcaCoySimSMaB4yaiA7MEY0DxktEV4Vo/A4HjJGILgvR+B0OSCIaByQRjd/hgCSiSUTPTiKasWDGgiMVoqsFiWjGgmMUorNadDk1B36HA062EJ1jF8qqNH6HA0ZJRDNHNA4YNxHNHNE4IIloHBAA8TsckEQ0ieiZLUTTzjIWHLUQTTvLWPDkC9HFgkQ0DhipEG0LEtE4IIloHJBENH43Bgec2+ciEb3PHRAASUTjgCSiZzcRDYB7Tc3BWPDYx4IBcK9CdMgpJBE9xrFgANwrEV2EAklE44CRCtEhDSSiccB4ieiCRBLROGCsRLSQiMYBSUTjgACI3+GAJKIPYiIaAElEMxY8xYnoQCKaseCYhWjmiMYB4xWi05CPxZGIxgEjFaKrqTnwOxwwRiG6nJoDv8MBSUTjgCSi8TsckEQ0iejZK0TTzjIWHKUQzRzRjAXHK0TnZRgS0ThgtEK0lIVo/A4HjFqIxu9wwKiFaPwOByQRjQOSiMbvcEAS0SSiSUTT8jIWPNFCNO3sgGPBSR/td8Dm+2joqTmYI3o4BwTAIRPRgUQ0DjhZAGtzRId8giwS0TjgRAGszRFdlKFJROOAEwWQRDQOOHUA4nc4YEwAqTYPmIgGwOEK0SljwcONBQPgkFNzBBLRQ40FA+AwheggwhzROGDEQrRt44A4YIxCtFRfVojf4YARCtFSflkhfocDxi3D4Hc4YFQA8TscMOpICNXmwRLRADjMlxVWhWjaWcaCIxSiQ1mIpp1lLDhKIpo5onHAqInowBzROGC8RHRViMbvcMAYieiyEI3f4YAkonFAEtH4HQ5IIppE9MEvRJfzAzIWzFhwjEK0ZJ9JZ45oxoKjFaJzDkM5NQd+hwNOtBCdu56VpElE44ATL0RXCxLROGCMQnS1IBGNA5KI3rcO2O8X1A/Qw5E17PsnER3ZAQGQRHTURDQAjqYQTTs74FgwAI6mEE07O+BYMAAOUYi2bywkEY0DThZAL0Tn7JGIxgEn3wcMtVg0iWgccMJ3wVUNmkQ0DjglZRj8DgeMCiB+hwNGHQmh2jxYIhoAhyhEp4wFMxYctRBtsUDGghkLjlKItvE4EtE4YKRCdMcDSUTjgNEK0QWMJKJxwFiFaBES0TjgdJRh8DsckEQ0DkgimvoziWgS0YwFz0wiOpCIZiw4ZiGaOaJxwHiF6DTk/5KIxgEjFaKrqTnwOxwwRiG6nJoDv8MBSUTjgCSi8TsckEQ0iejZK0TTzjIWHHVqDtpZxoIjTM2RllNz4HeDOWCYeQ1ViJayEI3fDeaAiDmiozogYo5oHPAgmCJ+hwPGBRC/wwFjAki1ebBENCIRHXUsGI2oEE07O9hYMBoyEZ0yR/RQDtiuawLbi3WN4PniAFhPRAcS0cM4YLtZaXEC24vHKrVH8HxxC9GGIonoIRwQAIcpRFsZmkR0ZAdM+mz3BTDZ4/kT+9O9HRVAEtEjdsDkqQLVA0zSvZ30bhcPuDuAxQPqACbJHsAnsR2QRPRoHTDpAawXoF0ArAOTx5r23K6AcgC3tmoA2gO6nr/uePYWfDupAT89pRmqzQMloktgkrsD1Atgz/mGV3K38z15Vwdwq6MSwKRZHffHJ3s1+bX/MNEL0SljwUONBe/qgLsBd3cHtAY22ePxvQ6Y4VcHsNntgElXE7/DAWP3Abun5ggkoocZC76nPt+OJnkXQGoA7gC2tw9Y8Nd1F9zVZO9xE9N7fuRCdDAgccChHHCIu9q2H032BLb7LjjrANZuQpI9bjJ2uQtu1h0xdiHatnHA4RxwyDJMnz5jL4BbB6YQLdWXFeJ3o3RACtH3nogOJKKHccDesdlxb/cbG36q2ySiSUQjEtEkoklEk4iewUR0WhWiaWdJREcoRIeyEE07SyI6SiJamCMaB4yZiA7MEY0DxktEV4Vo/A4HjFCIDmUhGr/DAeOWYfA7HDAqgPgdDhi1NEO1eaBENBpVrxD1nwkUAFFUASACQASAAIgAEAEgQgCIABAhAEQAiBAAIgBECAARACIEgAgAEQJABIAIASA6UACmCA2nIQGU/JNLLFkOuAzDAngkf5rO8rVM8qYmfTeTfJpJv8kkj5n0ZSb5Z5P+vkleZNKvMsknm/S9TaUD67ub5KhJP98k323SXzHJy026bZJ1k543yYJJHzTJ0036ASb5IpN+l0keNukzTXLIpP59J+W1U3+Jct5WbZlk06RbJrnPpK9gklc06auY5NVM+homeV2TvoFJ3sikb2KStzXpW5nkfU36gSb5aJM+YJKPMulnmORzTfqFJvlik361Sb7WpN9iGh5AOdIB8IgAIABGATCnL2NQHEB1AMUBVAdQHEB1AMUBVAdQHEB1AMUBVAdQHEAtOxIOoDqA4gCqAygOoDqA4gCqAygOYEWHA6gOoDiA6gCKA6gOoDiA6gCKA1h96rpkvJy02gFUB1AcQHUAxQFUB1AcQHUAxQFUB1AcQHUAxQFUB1AcQHUAxQFUB1AcQHUAxQFUB1AcQHUAxQFUB1AcQB0BgNYKAyAAxgEQBwTAeADSB6QPGPcmhLtgAIx7F+w1HQAEwDh3wVRTWQ6+HBrA7zTJ95n0e0zy/Sb9MZP8uEl/wyS/btLfNclvm/R3TPIHJn0lk7yySV/VtFdH/M1NlV2+jUne3lR1xN/FpB9pko81VR3xEyb9dFPVEX+WSb7SpF9j2qsj/oOm6hr+sEl+xDSya3jYJK9u0tc0yWub9HVM8vomfZpJ3tmk72qS9zDpe5nk/Uz6qSb5LFNl+p9tAkAA3N8AigOofvHEAVQHUPziqV888YunfvHEL576xRO/eOoXTxxAdQDFAdyrH+QAVjUbB1AdwKof5ACKA6gOYNUPcgDFAaz6QQ6gOoDiAO7VD3IAq2voAKoDOLJr6ACqAygOoDqA4gCqAygOoDqA4gCqAygOoDqA4gCqA1j1rB1AAUAABEAABED6gPQBuQkBQAAEQADcX3fBVFNZRk1Ef45JP88kzzXp80xy2aTPN8mSqYqq/JRJf8YkP2fSXzDJL5v010zyhyb9E5P8mUn/wiR/bdK/M8mcSV/PJG9o0jc2yZuZ9C1N8p4mfR+TvL9JP9gkH2LSDzfJM0x62iRfYNIvMcmXmfTLTfICk77QJFdMumySHzDpD5nkF036qyZ5iUkfN8lvmXTDJH9l0r81yd+b9B9M8k8m/VeT3G/StzDJW5v07UzyDiZ9J5N8kEk/zASAALi/AVQHUBxAdQDFAVQHUBxAdQCrpIADKA6gOoDiAKoDKA6gOoDiAKoDKA6gOoDiAKoDKA6gOoDiAKoDKA6gOoDiAKoDKA6gOoDiAKoDKA6gOoDiAKoDKA6gOoDiAKoDKA6gOoDiAKoDKA6gOoDiAKoDKA6gOoDiAKoDKA6gOoDiAKoDKA6gOoDiAKoDKA6gOoDiACoAAiAAAiAA0gekD8hNCAACIAAC4P66C57hOupWKerJ8RLRH2OSTzDpJ5nkM036pSZ5tkm/wiRfZ9JvMMk3mvR7TXLNpI+Y5FGT/oRJftqkv2mSJ0162yQvNVUfevxjk/6jSf7FpP9mkn836X+a5L9NW0dMW+9o0g81yUeY9ONN8nEm/USTfIrpnh719Sb5ZpN+q0m+zaTfbpLvMOmPmuQnTfqzJnmxSX/eJL9k0t8zyR+Z9E9N8ucm/UuT/I1J/8Mk/2XS/zHJ/5r0/0zVB2IBEAD3NYDiAKoDKA6gOoDiAKoDKA6gOoDiAKoDKA6gOoDiAKoDKA6gOoDiAKoDKA6gOoDVZ84cQHEA1QEUB1AdQHEA9e4AiqOkjpI4SuooiQOoDuA9PcoBVAdQHEB1AMUBVAdQHEB1AMUBVAdQHEB1AMUBVAdQHEB1AMUBVAdQHEB1AMUBVAdQHMDq84gACIAACIAASB+QPiA3IQAIgAAIgPvrLniG66hVIZp6cqxEdEBoOPE9IYgvqkEIABEAIgSACAARAkC0DwDs/d7Ddl1cMTR2AI9UykqK7WalRa4YAkA0gwCuPXbrCQBEsQC8de3Zt249VgMw++oVX+bb2YbUFi0uLhoZgE9cvXrt1mNdAKZpqwOZfz97Zy3/qRYQiEYH4Oq1a9euXu0GsPPTSmubOYIFh2krP8zlRaMB8Imr16494/ZLTu8NYMZfvmj5D0IjAfDqo4+evnnp6lpPHzDt6gPm38iXL7I+YG6HCI0EwJWVlTPLp9e67oKL3p/3AbMgdV64LqrX+V+uLhpZH/Dqyip1QBSvDEMhGk0KwN50/2JdXDE0bgARAkAEgAgBIAJAhAAQASBCAIgAEKHRycfY/h//k9iSh/kmRwAAAABJRU5ErkJggg=="></div><span class="fig">A labda megrajzolása</span>
  4438. <p>Most menjünk a <a href="#kod_szerkeszto" onclick="c('kod_szerkeszto')">Kód szerkesztő</a>be (üsd le az <kbd>F2</kbd>-őt). Elsőre a programunk egy üres váz lesz.</p>
  4439. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br></pre><code><span class="hl_c">#!c</span>
  4440. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4441. {
  4442. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4443. }
  4444. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4445. {
  4446. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  4447. }</code></div>
  4448. <p>Jelenítsük meg az újonnan rajzolt szprájtunkat! Ezt az <a href="#spr" onclick="c('spr')">spr</a> hívással tehetjük meg. Menjünk a <samp>setup()</samp> függvény törzsébe,
  4449. kezdjük el beírni, és alul a státuszsorban megjelennek a paraméterei.</p>
  4450. <div class="imgc"><img class="imgc" width="640" height="60" alt="tut_ball2.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAA8CAMAAADBhPs2AAAAhFBMVEUhISH/AwNERERISEgfZmZdXmZmZmZrbnJvcXd1eX4qkpKYfHyKj4+RlZedoqakpaempqalqaijqqyqqqqusLGzt7q8vsC4wMe4wsu/wsXAwsTEyc7HztPJztHMz9LJ0dTJ1N3L1NnK1d3R1NbL1t7Q1djV2t7W3+Xd4+ji5efp7O/o7fALX+xuAAADZ0lEQVR42u2bh3qbMBRGRUaT1NnO3nu+//u1LlbRuBrB2Kzzf45REFytI35QiPoV0No/6W1YGxv6u0yZOVp+Xp5SZ9WLmnN+XmS/ZYvWaHxSAAiAHQXQBDE9UHLX670aRD1o+jc7xx3MUE5ern2Un2tH0DCZOXKNw8CBHwAC4JAsOAWgDZE81JJRu7athzhs7/JQ2xHyc/1auXXwc+Q49lQCJwAEwKEAqG049xY+ZcEygK4drwLAMHruDcVPLBj8ABAAx2TB/pDHBigMYMyCTUjrPoTELFiul1tyeBkphjgCQADsuwWnl2EWlwxe1wRgAAiAAIgQAKJxAbheU9P/WkcoKABEbQM4jQgAEQAuW0UBB10EsFyKrhN0MgFABIAA2GcA19ZSFvz7r8rv2XaWKn9m+AEgAkAA7DeAcQs2sdPwlWkARAAIgUOw4NRDiG/BAIgAEACHYsGxhxAXOzPVs2UYAARAAATAmn+Kq7CzBYAIAAGwDwAu53WsPgkAARACAXDEr+QXBe/G8z8hAAiAAQAnEwBEAAiAYwJQv4xQbgeLYImeBhAQAbAVAufgwV/HLHgMABoEwh8AtoNgyR74tQLgFBXF/INWLzVy9NBKNXoAT04uLs7Pr66OjkoADRC5GK1gwgOgDCD+C4Cr0ePjw8PLy9PT8fHurtwh827pQL8oBYAACIDdA1CpUNfkd5maKxRD51RHVEfnpiS9vd3e7u19fLy+bm3FAKzXpq5jqNQyzsmJOj8GAAGw9wCGi1ONxJIBrPbmpkI6PLy///5+ft7cLDvELcGMIE2Sck+Vo0t16xBrVX5Ec2942pul5pURvqyYWztuOLLbfvnCAIAAOAwAY9a5OMpuQ6rm5aVinTzTzc37+/X1wYG2BLODQkhJw2TWUr5pyAMwFdHfHzs/t4y8KD5YqbZJvWjkAyAADgBAqRGqMStftgVfXp6ebm+bywLueTEAfZuRa5o/cVMRUwbsm3b8mJwj3MkdL9+02/BtAwAC4DAAlCrT7OO9fRP7s2WYNIB3d19fOzv2wqhfSughxIXETcWHOW3qscknI27vjx8T7iO5J+UpIE9Jvw5C6wAQAAcAYL91dvb5ub9vA9j88qw0SGkDbGoxuZnF4zoXjkRsAARAAOySeAmr9f7mjWjU6hvRfwDCu0ezsnAIOgAAAABJRU5ErkJggg=="></div>
  4451. <p>Láthatjuk, hogy az első két paraméter az <samp>x, y</samp>, a képernyő koordináta, ahová ki akarjuk rakni a szprájtot (ha nem lenne
  4452. egyértelmű a paraméter nevéből, hogy mit takar, akkor az <kbd>F1</kbd> leütésével bejön a súgó részletes leírással, majd ott
  4453. <kbd>Esc</kbd>-et ütve visszakerülsz ide a kódszerkesztésre). A képernyő 320 pixel széles és 200 pixel magas, ezért ha középre
  4454. akarjuk elhelyezni, adjunk meg a <samp>160, 100</samp> értékeket. A következő paraméter a <samp>sprite</samp>. Mivel a legelső, nulladik szprájtra
  4455. rajzoltunk, ezért ez <samp>0</samp>. Az ezt követő paraméterek az <samp>sw</samp> (szprájt szélesség) és <samp>sh</samp> (szprájt magasság). Mivel a labdánk
  4456. csupán egyetlen szprájtba belefér, azért írjunk <samp>1, 1</samp>-et. Ezt követi a <samp>scale</samp> (átméretezés), de nem szeretnénk felnagyítani,
  4457. így ide is írjunk csak <samp>1</samp>-et. Végül az utolsó paraméter a <samp>type</samp> (megjelenés típusa), amivel transzformálhatjuk a szprájtot.
  4458. Mivel ezt sem szeretnénk, azért adjunk csak meg <samp>0</samp>-át.</p>
  4459. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br></pre><code><span class="hl_c">#!c</span>
  4460. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4461. {
  4462. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4463. <span class="hl_h"><span class="hl_f">spr</span>(<span class="hl_n">160</span>, <span class="hl_n">100</span>, <span class="hl_n">0</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">0</span>);</span>
  4464. }
  4465. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4466. {
  4467. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  4468. }</code></div>
  4469. <p>Próbáljuk meg lefuttatni ezt a programot a <kbd>Ctrl</kbd>+<kbd>R</kbd> leütésével, és lássuk mi történik. Ha valamilyen hibát
  4470. vétettél a begépeléskor, akkor alul a státuszsorban egy hibaüzenet fog megjelenni, és a kurzor a hibát kiváltó részre fog ugrani.</p>
  4471. <p>Ha minden rendben volt, akkor a szerkesztőképernyő el fog tűnni, és helyette egy fekete képernyő, közepén a labdával fog
  4472. megjelenni. Azonban a labdánk nem teljesen középre került, mivel elfelejtettük kivonni a szprájt méretének felét a koordinátákból
  4473. (egy szprájtot jelenítünk meg itt (sw = 1 és sh = 1), szóval 8 x 8 pixelt, aminek a fele 4). Üssük le az <kbd>F2</kbd>-őt, hogy
  4474. visszatérjünk a szerkesztőbe, és javítsuk ki.</p>
  4475. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br></pre><code><span class="hl_c">#!c</span>
  4476. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4477. {
  4478. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4479. <span class="hl_f">spr</span>(<span class="hl_h"><span class="hl_n">156</span>, <span class="hl_n">96</span></span>, <span class="hl_n">0</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">0</span>);
  4480. }
  4481. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4482. {
  4483. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  4484. }</code></div>
  4485. <p>Futtassuk le újra! A labdánk megjelenik a jó helyen, de a korábbi helyén is ottmaradt! Ez azért van, mert nem töröltük le a
  4486. képernyőt. Ezt a <a href="#cls" onclick="c('cls')">cls</a> (clear screen) paranccsal tehetjük meg, ezért ezt írjuk be a szprájtmegjelenítés elé.</p>
  4487. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br></pre><code><span class="hl_c">#!c</span>
  4488. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4489. {
  4490. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4491. <span class="hl_h"><span class="hl_f">cls</span>(<span class="hl_n">0</span>);</span>
  4492. <span class="hl_f">spr</span>(<span class="hl_n">156</span>, <span class="hl_n">96</span>, <span class="hl_n">0</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">0</span>);
  4493. }
  4494. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4495. {
  4496. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  4497. }</code></div>
  4498. <p>Most már minden rendben, pontosan a képernyő közepén megjelenik a labda.</p>
  4499. <h2 id="labda_mozgatasa">Labda mozgatása<a href="#labda_mozgatasa"></a></h2>
  4500. <p>Van egy kis probléma a kódunkkal. A labdát a <samp>setup()</samp> függvényben jelenítjük meg, de ez csak egyszer fut le, amikor a programunk
  4501. elindul. Ahhoz, hogy mozogni lássuk a labdát, újra és újra ki kell rajzolnunk, mindig más pozícióra. Hogy ezt elérjük, tegyük át a
  4502. labdánk megjelenítését a <samp>loop()</samp> függvénybe. Ez minden egyes alkalommal lefut, amikor a képernyő frissül.</p>
  4503. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br></pre><code><span class="hl_c">#!c</span>
  4504. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4505. {
  4506. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4507. }
  4508. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4509. {
  4510. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  4511. <span class="hl_h hl_b"> <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  4512. <span class="hl_f">spr</span>(<span class="hl_n">156</span>, <span class="hl_n">96</span>, <span class="hl_n">0</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">0</span>);</span>}</code></div>
  4513. <p>Ha most leütjük a <kbd>Ctrl</kbd>+<kbd>R</kbd>-t, akkor a labda pontosan ugyanúgy fog megjelenni, mint eddig. Amit nem látunk,
  4514. az az, hogy most nemcsak egyszer, hanem újra és újra kirajzolódik.</p>
  4515. <p>Mozgassuk meg a labdát! Most mindig ugyanott jelenik meg, mivel konstans koordinátákat használtunk. Javítsunk ezen úgy, hogy
  4516. bevezetünk két változót, amik a labda épp aktuális pozícióját fogják tárolni a képernyőn.</p>
  4517. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br></pre><code><span class="hl_c">#!c</span>
  4518. <span class="hl_h"><span class="hl_t">int</span> <span class="hl_v">x</span>, <span class="hl_v">y</span>;</span>
  4519. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4520. {
  4521. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4522. }
  4523. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4524. {
  4525. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  4526. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  4527. <span class="hl_f">spr</span>(<span class="hl_n">156</span>, <span class="hl_n">96</span>, <span class="hl_n">0</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">0</span>);
  4528. }</code></div>
  4529. <p>Cseréljük le a koordinátákat a kirajzolásnál ezekre a változókra, és adjunk nekik induló értéket a program indulásakor.</p>
  4530. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br></pre><code><span class="hl_c">#!c</span>
  4531. <span class="hl_t">int</span> <span class="hl_v">x</span>, <span class="hl_v">y</span>;
  4532. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4533. {
  4534. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4535. <span class="hl_h hl_b"> <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_n">156</span>;
  4536. <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_n">96</span>;</span>}
  4537. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4538. {
  4539. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  4540. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  4541. <span class="hl_f">spr</span>(<span class="hl_h"><span class="hl_v">x</span>, <span class="hl_v">y</span></span>, <span class="hl_n">0</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">0</span>);
  4542. }</code></div>
  4543. <p>Ha most lefuttatjuk a programunkat, akkor még mindig nem fogunk semmi változást látni. Azonban annak köszönhetően, hogy
  4544. most már változókat használunk, futás közben tudjuk változtatni a pozíciót.</p>
  4545. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br></pre><code><span class="hl_c">#!c</span>
  4546. <span class="hl_t">int</span> <span class="hl_v">x</span>, <span class="hl_v">y</span>;
  4547. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4548. {
  4549. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4550. <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_n">156</span>;
  4551. <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_n">96</span>;
  4552. }
  4553. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4554. {
  4555. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  4556. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  4557. <span class="hl_f">spr</span>(<span class="hl_v">x</span>, <span class="hl_v">y</span>, <span class="hl_n">0</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">0</span>);
  4558. <span class="hl_h hl_b"> <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_v">x</span> <span class="hl_o">+</span> <span class="hl_n">1</span>;
  4559. <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_v">y</span> <span class="hl_o">+</span> <span class="hl_n">1</span>;</span>}</code></div>
  4560. <p>Futtasuk le így, és látni fogjuk a labdát mozogni!</p>
  4561. <h2 id="labda_pattogas">Labda pattogás<a href="#labda_pattogas"></a></h2>
  4562. <p>Még nem vagyunk készen, mert a labdánk nagyon gyorsan eltűnik a képernyőről. Ez azért van, mert folyton növeljük a koordinátáit,
  4563. és nem fordítjuk meg az irányát, amikor a képernyő szélére ér.</p>
  4564. <p>Akárcsak a koordináták esetében először, most is konstanst használunk, és szeretnénk az irányt dinamikusan változtatni. A megoldás
  4565. most is ugyanaz, lecseréljük a konstansokat két új változóra.</p>
  4566. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br></pre><code><span class="hl_c">#!c</span>
  4567. <span class="hl_t">int</span> <span class="hl_v">x</span>, <span class="hl_v">y</span><span class="hl_h">, <span class="hl_v">dx</span>, <span class="hl_v">dy</span></span>;
  4568. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4569. {
  4570. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4571. <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_n">156</span>;
  4572. <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_n">96</span>;
  4573. <span class="hl_h"><span class="hl_v">dx</span> <span class="hl_o">=</span> <span class="hl_v">dy</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;</span>
  4574. }
  4575. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4576. {
  4577. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  4578. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  4579. <span class="hl_f">spr</span>(<span class="hl_v">x</span>, <span class="hl_v">y</span>, <span class="hl_n">0</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">0</span>);
  4580. <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_v">x</span> <span class="hl_o">+</span> <span class="hl_h"><span class="hl_v">dx</span></span>;
  4581. <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_v">y</span> <span class="hl_o">+</span> <span class="hl_h"><span class="hl_v">dy</span></span>;
  4582. }</code></div>
  4583. <p>Nagyszerű! Mint korábban említettük, a képernyő 320 pixel széles, és 200 pixel magas. Ez azt jelenti, hogy a lehetséges <samp>x</samp>
  4584. értékek 0 és 319 között vannak, <samp>y</samp> esetén pedig 0 és 199 között. Azonban nem akarjuk, hogy a labdánk eltűnjön a képernyőről, így
  4585. ebből ki kell vonni a szprájt méretét (8 x 8 pixel). Így végül azt kapjuk, hogy az <samp>x</samp> 0 és 311 közötti, az <samp>y</samp> pedig 0 és 191
  4586. közötti. Amikor a labdánk pozíciója eléri ezeket az értékeket, akkor meg fell fordítanunk az irányát, hogy mindig a képernyőn
  4587. belül maradjon.</p>
  4588. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br>22<br></pre><code><span class="hl_c">#!c</span>
  4589. <span class="hl_t">int</span> <span class="hl_v">x</span>, <span class="hl_v">y</span>, <span class="hl_v">dx</span>, <span class="hl_v">dy</span>;
  4590. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4591. {
  4592. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4593. <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_n">156</span>;
  4594. <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_n">96</span>;
  4595. <span class="hl_v">dx</span> <span class="hl_o">=</span> <span class="hl_v">dy</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;
  4596. }
  4597. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4598. {
  4599. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  4600. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  4601. <span class="hl_f">spr</span>(<span class="hl_v">x</span>, <span class="hl_v">y</span>, <span class="hl_n">0</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">0</span>);
  4602. <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_v">x</span> <span class="hl_o">+</span> <span class="hl_v">dx</span>;
  4603. <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_v">y</span> <span class="hl_o">+</span> <span class="hl_v">dy</span>;
  4604. <span class="hl_h hl_b"> <span class="hl_k">if</span>(<span class="hl_v">x</span> <span class="hl_o">==</span> <span class="hl_n">0</span> <span class="hl_o">||</span> <span class="hl_v">x</span> <span class="hl_o">==</span> <span class="hl_n">311</span>) <span class="hl_v">dx</span> <span class="hl_o">=</span> <span class="hl_o">-</span><span class="hl_v">dx</span>;
  4605. <span class="hl_k">if</span>(<span class="hl_v">y</span> <span class="hl_o">==</span> <span class="hl_n">0</span> <span class="hl_o">||</span> <span class="hl_v">y</span> <span class="hl_o">==</span> <span class="hl_n">191</span>) <span class="hl_v">dy</span> <span class="hl_o">=</span> <span class="hl_o">-</span><span class="hl_v">dy</span>;</span>}</code></div>
  4606. <p>Futtasuk le ezt a prgoramot a <kbd>Ctrl</kbd>+<kbd>R</kbd>-el. Gratulálunk, van egy mozgó labdád, ami megpattan a képernyő
  4607. szélein!</p>
  4608. <h2 id="uto_hozzaadasa">Ütő hozzáadása<a href="#uto_hozzaadasa"></a></h2>
  4609. <p>Az a játék, amit nem tudunk befolyásolni, nem túl izgalmas. Ezért hozzáadunk egy ütőt, amit a játékos irányíthat.</p>
  4610. <p>Menjünk a <a href="#szprajt_szerkeszto" onclick="c('szprajt_szerkeszto')">Szprájt szerkesztő</a>be (üsd le az <kbd>F3</kbd>-at), és rajzoljuk meg az ütőt. Ez most három szprájt széles lesz.
  4611. Megrajzolhatod egyenként, vagy akár kijelölhetsz több szprájtot is jobbra, és együtt szerkesztheted őket.</p>
  4612. <div class="imgc"><img class="imgc" width="640" height="105" alt="tut_ball3.png" src="data:image/png;base64,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"></div><span class="fig">Az ütő megrajzolása</span>
  4613. <p>Hasonlóan a labdához, ezt is az <a href="#spr" onclick="c('spr')">spr</a> paranccsal fogjuk megjeleníteni. Azt azonban már tudjuk, hogy szükségünk lesz egy változóra,
  4614. ami a pozícióját tárolja, így adjuk hozzá egyből ezt is.</p>
  4615. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br>22<br>23<br></pre><code><span class="hl_c">#!c</span>
  4616. <span class="hl_t">int</span> <span class="hl_v">x</span>, <span class="hl_v">y</span>, <span class="hl_v">dx</span>, <span class="hl_v">dy</span><span class="hl_h">, <span class="hl_v">px</span></span>;
  4617. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4618. {
  4619. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4620. <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_n">156</span>;
  4621. <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_n">96</span>;
  4622. <span class="hl_v">dx</span> <span class="hl_o">=</span> <span class="hl_v">dy</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;
  4623. }
  4624. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4625. {
  4626. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  4627. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  4628. <span class="hl_f">spr</span>(<span class="hl_v">x</span>, <span class="hl_v">y</span>, <span class="hl_n">0</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">0</span>);
  4629. <span class="hl_h"><span class="hl_f">spr</span>(<span class="hl_v">px</span>, <span class="hl_n">191</span>, <span class="hl_n">1</span>, <span class="hl_n">3</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">0</span>);</span>
  4630. <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_v">x</span> <span class="hl_o">+</span> <span class="hl_v">dx</span>;
  4631. <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_v">y</span> <span class="hl_o">+</span> <span class="hl_v">dy</span>;
  4632. <span class="hl_k">if</span>(<span class="hl_v">x</span> <span class="hl_o">==</span> <span class="hl_n">0</span> <span class="hl_o">||</span> <span class="hl_v">x</span> <span class="hl_o">==</span> <span class="hl_n">311</span>) <span class="hl_v">dx</span> <span class="hl_o">=</span> <span class="hl_o">-</span><span class="hl_v">dx</span>;
  4633. <span class="hl_k">if</span>(<span class="hl_v">y</span> <span class="hl_o">==</span> <span class="hl_n">0</span> <span class="hl_o">||</span> <span class="hl_v">y</span> <span class="hl_o">==</span> <span class="hl_n">191</span>) <span class="hl_v">dy</span> <span class="hl_o">=</span> <span class="hl_o">-</span><span class="hl_v">dy</span>;
  4634. }</code></div>
  4635. <p>Az <samp>x</samp> paraméter helyére kerül a <samp>px</samp> változó, az <samp>y</samp> koordináta konstans <samp>191</samp>, mivel függőlegesen nem fogjuk mozgatni az ütőt,
  4636. csak vízszintesen. Mivel az ütőt az egyes szprájtra rajzoltuk, ezért a <samp>sprite</samp> paraméter most <samp>1</samp>, és mivel három szprájt széles,
  4637. ezért az <samp>sw</samp> pedig <samp>3</samp>, de továbbra is csak egy szprájt magas, tehát az <samp>sh</samp> az <samp>1</samp>.</p>
  4638. <p>Eddig jó, de hogy fogja tudni mozgatni a játékos az ütőt az egérrel? Hát úgy, hogy az egér koordinátáját adjuk a <samp>px</samp> változónak.
  4639. Ha megnézed a memóriatérképet, akkor a <a href="#mutato" onclick="c('mutato')">mutató</a> fejezetben azt látod, hogy az egér X koordintája 2 bájton, a <samp>00016</samp>-os címen
  4640. található. Hogy ezt lekérdezzük, az <a href="#inw" onclick="c('inw')">inw</a> függvényt fogjuk használni (word, azaz szó, mivel két bájtra van szükségünk). De arra
  4641. is figyelnünk kell, hogy az ütő a képernyőn maradjon, ezért csak azokat a koordinátákat engedjük, amik kissebbek, mint a
  4642. képernyő szélessége mínusz az ütő szélessége (ami három szprájtnyi, tehát 24 pixeles). Még egy dolog, a memóriatérképen minden cím
  4643. tizenhatos számrendszerben van megadva, így a <samp>0x</samp> előtagot kell használnunk, hogy jelezzük a fordítóprogramnak, egy hexadecimális
  4644. szám következik.</p>
  4645. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br>22<br>23<br>24<br>25<br></pre><code><span class="hl_c">#!c</span>
  4646. <span class="hl_t">int</span> <span class="hl_v">x</span>, <span class="hl_v">y</span>, <span class="hl_v">dx</span>, <span class="hl_v">dy</span>, <span class="hl_v">px</span>;
  4647. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4648. {
  4649. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4650. <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_n">156</span>;
  4651. <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_n">96</span>;
  4652. <span class="hl_v">dx</span> <span class="hl_o">=</span> <span class="hl_v">dy</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;
  4653. }
  4654. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4655. {
  4656. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  4657. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  4658. <span class="hl_f">spr</span>(<span class="hl_v">x</span>, <span class="hl_v">y</span>, <span class="hl_n">0</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">0</span>);
  4659. <span class="hl_h hl_b"> <span class="hl_v">px</span> <span class="hl_o">=</span> <span class="hl_f">inw</span>(<span class="hl_n">0x16</span>);
  4660. <span class="hl_k">if</span>(<span class="hl_v">px</span> <span class="hl_o">&gt;</span> <span class="hl_n">296</span>) <span class="hl_v">px</span> <span class="hl_o">=</span> <span class="hl_n">296</span>;</span> <span class="hl_f">spr</span>(<span class="hl_v">px</span>, <span class="hl_n">191</span>, <span class="hl_n">1</span>, <span class="hl_n">3</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">0</span>);
  4661. <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_v">x</span> <span class="hl_o">+</span> <span class="hl_v">dx</span>;
  4662. <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_v">y</span> <span class="hl_o">+</span> <span class="hl_v">dy</span>;
  4663. <span class="hl_k">if</span>(<span class="hl_v">x</span> <span class="hl_o">==</span> <span class="hl_n">0</span> <span class="hl_o">||</span> <span class="hl_v">x</span> <span class="hl_o">==</span> <span class="hl_n">311</span>) <span class="hl_v">dx</span> <span class="hl_o">=</span> <span class="hl_o">-</span><span class="hl_v">dx</span>;
  4664. <span class="hl_k">if</span>(<span class="hl_v">y</span> <span class="hl_o">==</span> <span class="hl_n">0</span> <span class="hl_o">||</span> <span class="hl_v">y</span> <span class="hl_o">==</span> <span class="hl_n">191</span>) <span class="hl_v">dy</span> <span class="hl_o">=</span> <span class="hl_o">-</span><span class="hl_v">dy</span>;
  4665. }</code></div>
  4666. <p>Futtassuk le a programot! Megjelenik az ütő, és mozgatni is tudjuk az egérrel. Azonban akad egy kis bökkenő, a labdát nem érdekli,
  4667. hogy hol van az ütő. Írjuk át a programot, hogy a képernyő alja helyett csak akkor pattanjon a labda, ha épp az ütőre esik. A labda
  4668. magassága 8 pixel, ezért ennyivel feljebb kell az ellenőrzést elvégezni.</p>
  4669. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br>22<br>23<br>24<br>25<br></pre><code><span class="hl_c">#!c</span>
  4670. <span class="hl_t">int</span> <span class="hl_v">x</span>, <span class="hl_v">y</span>, <span class="hl_v">dx</span>, <span class="hl_v">dy</span>, <span class="hl_v">px</span>;
  4671. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4672. {
  4673. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4674. <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_n">156</span>;
  4675. <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_n">96</span>;
  4676. <span class="hl_v">dx</span> <span class="hl_o">=</span> <span class="hl_v">dy</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;
  4677. }
  4678. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4679. {
  4680. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  4681. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  4682. <span class="hl_f">spr</span>(<span class="hl_v">x</span>, <span class="hl_v">y</span>, <span class="hl_n">0</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">0</span>);
  4683. <span class="hl_v">px</span> <span class="hl_o">=</span> <span class="hl_f">inw</span>(<span class="hl_n">0x16</span>);
  4684. <span class="hl_k">if</span>(<span class="hl_v">px</span> <span class="hl_o">&gt;</span> <span class="hl_n">296</span>) <span class="hl_v">px</span> <span class="hl_o">=</span> <span class="hl_n">296</span>;
  4685. <span class="hl_f">spr</span>(<span class="hl_v">px</span>, <span class="hl_n">191</span>, <span class="hl_n">1</span>, <span class="hl_n">3</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">0</span>);
  4686. <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_v">x</span> <span class="hl_o">+</span> <span class="hl_v">dx</span>;
  4687. <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_v">y</span> <span class="hl_o">+</span> <span class="hl_v">dy</span>;
  4688. <span class="hl_k">if</span>(<span class="hl_v">x</span> <span class="hl_o">==</span> <span class="hl_n">0</span> <span class="hl_o">||</span> <span class="hl_v">x</span> <span class="hl_o">==</span> <span class="hl_n">311</span>) <span class="hl_v">dx</span> <span class="hl_o">=</span> <span class="hl_o">-</span><span class="hl_v">dx</span>;
  4689. <span class="hl_k">if</span>(<span class="hl_v">y</span> <span class="hl_o">==</span> <span class="hl_n">0</span> <span class="hl_o">||</span> <span class="hl_h">(<span class="hl_v">y</span> <span class="hl_o">==</span> <span class="hl_n">183</span> <span class="hl_o">&amp;&amp;</span> <span class="hl_v">x</span> <span class="hl_o">&gt;=</span> <span class="hl_v">px</span> <span class="hl_o">&amp;&amp;</span> <span class="hl_v">x</span> <span class="hl_o">&lt;=</span> <span class="hl_v">px</span> <span class="hl_o">+</span> <span class="hl_n">24</span>)</span>) <span class="hl_v">dy</span> <span class="hl_o">=</span> <span class="hl_o">-</span><span class="hl_v">dy</span>;
  4690. }</code></div>
  4691. <p>Ez azt jelenti, hogy az <samp>y</samp> koordináta nulla, vagy <samp>183</samp> és ugyanakkor az <samp>x</samp> pedig <samp>px</samp> és <samp>px + 24</samp> közötti (ahol a <samp>px</samp> az ütő
  4692. pozíciója).</p>
  4693. <h2 id="jatek_vege">Játék vége<a href="#jatek_vege"></a></h2>
  4694. <p>Most, hogy átírtuk az alsó pattanást, szükségünk van egy újabb ellenőrzésre, hogy a labda alul kiment-e a képernyőről. Ez ugye
  4695. a játék végét fogja jelenteni.</p>
  4696. <p>Először is ne felejtsük el, hogy a <samp>loop()</samp> továbbra is többször lefut, ezért hogy a labda ne mozogjon tovább, a <samp>dx</samp> és <samp>dy</samp>
  4697. változókat nullára állítjuk. Másodszor, meg akarunk jeleníteni egy vége a játéknak üzenetet.</p>
  4698. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br>22<br>23<br>24<br>25<br>26<br>27<br>28<br>29<br>30<br></pre><code><span class="hl_c">#!c</span>
  4699. <span class="hl_t">int</span> <span class="hl_v">x</span>, <span class="hl_v">y</span>, <span class="hl_v">dx</span>, <span class="hl_v">dy</span>, <span class="hl_v">px</span>;
  4700. <span class="hl_h hl_b"><span class="hl_t">str_t</span> <span class="hl_v">msg</span> <span class="hl_o">=</span> <span class="hl_s">&quot;VÉGE A JÁTÉKNAK!&quot;</span>;</span>
  4701. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4702. {
  4703. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4704. <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_n">156</span>;
  4705. <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_n">96</span>;
  4706. <span class="hl_v">dx</span> <span class="hl_o">=</span> <span class="hl_v">dy</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;
  4707. }
  4708. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4709. {
  4710. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  4711. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  4712. <span class="hl_f">spr</span>(<span class="hl_v">x</span>, <span class="hl_v">y</span>, <span class="hl_n">0</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">0</span>);
  4713. <span class="hl_v">px</span> <span class="hl_o">=</span> <span class="hl_f">inw</span>(<span class="hl_n">0x16</span>);
  4714. <span class="hl_k">if</span>(<span class="hl_v">px</span> <span class="hl_o">&gt;</span> <span class="hl_n">296</span>) <span class="hl_v">px</span> <span class="hl_o">=</span> <span class="hl_n">296</span>;
  4715. <span class="hl_f">spr</span>(<span class="hl_v">px</span>, <span class="hl_n">191</span>, <span class="hl_n">1</span>, <span class="hl_n">3</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">0</span>);
  4716. <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_v">x</span> <span class="hl_o">+</span> <span class="hl_v">dx</span>;
  4717. <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_v">y</span> <span class="hl_o">+</span> <span class="hl_v">dy</span>;
  4718. <span class="hl_k">if</span>(<span class="hl_v">x</span> <span class="hl_o">==</span> <span class="hl_n">0</span> <span class="hl_o">||</span> <span class="hl_v">x</span> <span class="hl_o">==</span> <span class="hl_n">311</span>) <span class="hl_v">dx</span> <span class="hl_o">=</span> <span class="hl_o">-</span><span class="hl_v">dx</span>;
  4719. <span class="hl_k">if</span>(<span class="hl_v">y</span> <span class="hl_o">==</span> <span class="hl_n">0</span> <span class="hl_o">||</span> (<span class="hl_v">y</span> <span class="hl_o">==</span> <span class="hl_n">183</span> <span class="hl_o">&amp;&amp;</span> <span class="hl_v">x</span> <span class="hl_o">&gt;=</span> <span class="hl_v">px</span> <span class="hl_o">&amp;&amp;</span> <span class="hl_v">x</span> <span class="hl_o">&lt;=</span> <span class="hl_v">px</span> <span class="hl_o">+</span> <span class="hl_n">24</span>)) <span class="hl_v">dy</span> <span class="hl_o">=</span> <span class="hl_o">-</span><span class="hl_v">dy</span>;
  4720. <span class="hl_h hl_b"> <span class="hl_k">if</span>(<span class="hl_v">y</span> <span class="hl_o">&gt;</span> <span class="hl_n">199</span>) {
  4721. <span class="hl_v">dx</span> <span class="hl_o">=</span> <span class="hl_v">dy</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;
  4722. <span class="hl_f">text</span>(<span class="hl_n">184</span>, (<span class="hl_n">320</span> <span class="hl_o">-</span> <span class="hl_f">width</span>(<span class="hl_n">2</span>, <span class="hl_v">msg</span>)) <span class="hl_o">/</span> <span class="hl_n">2</span>, <span class="hl_n">90</span>, <span class="hl_n">2</span>, <span class="hl_n">112</span>, <span class="hl_n">128</span>, <span class="hl_v">msg</span>);
  4723. }</span>}</code></div>
  4724. <p>Szöveget a <a href="#text" onclick="c('text')">text</a> funkcióval lehet kiírni a képernyőre. Alul a gyorssúgó mutatja, milyen paraméterei vannak. A legelső a <samp>palidx</samp>,
  4725. ami egy paletta index, a szöveg színe. Üssük le az <kbd>F3</kbd> gombot, és palettán kattintsunk a kívánt színre. Alul meg fog
  4726. jelenni a sorszáma tizenhatos számrendszerben, illetve zárójelben tízesben.</p>
  4727. <div class="imgc"><img class="imgc" width="640" height="72" alt="tut_ball4.png" src="data:image/png;base64,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"></div>
  4728. <p>Én egy piros színt választottam, aminek a sorszáma <samp>B8</samp>, azaz <samp>184</samp> tízes számrendszerben. Menjünk vissza a kódszerkesztőbe az
  4729. <kbd>F2</kbd> leütésével, és írjuk be a szín sorszámát. A következő két paraméter az <samp>x</samp> és az <samp>y</samp>, a képernyő pozíció. Megtehettük
  4730. volna, hogy megszámoljuk, mennyi pixel a szöveg, de lusták vagyunk, ezért inkább a <a href="#width" onclick="c('width')">width</a> funkcióval kiszámoltatjuk. Ezt kivonva
  4731. a képernyő szélességéből és elosztva kettővel pont középen fog megjelenni a szöveg. Mivel ahhoz is listák vagyunk, hogy kétszer
  4732. írjuk be a szöveget, ezért azt egy <samp>msg</samp> nevű sztring változóba raktuk. Így <samp>msg</samp>-ként hivatkozunk rá egyszer, amikor a méretét
  4733. lekérjük, és akkor is, amikor a kiírásnak megadjuk, mit kell kiírni. A koordináták után jön a <samp>type</samp>, ami a betűtípus, illetve
  4734. pontosabban itt most a mérete. Mivel nagy betűkkel szeretnénk kiírni, ezért <samp>2</samp> lett megadva, dupla méret. Ezt követi az <samp>shidx</samp>,
  4735. ami megint egy szín sorszám, az árnyék színe. Ide egy sötétebb pirosat választottam. Az árnyéknál fontos azonban az is, hogy
  4736. mennyire átlátszó, ezt az <samp>sha</samp> paraméterben adhatjuk meg, ami egy alfa csatorna érték 0-tól (teljesen átlátszó) 255-ig
  4737. (semennyire sem). Ide a <samp>128</samp>-at választottam, ami félúton van a két érték között, tehát félig átlátszó. Végezetül pedig <samp>str</samp>-ben
  4738. kell megadni, hogy melyik szöveget szeretnénk kiíratni, ezt ugye az <samp>msg</samp> változóban tároljuk.</p>
  4739. <h2 id="ujrakezdes">Újrakezdés<a href="#ujrakezdes"></a></h2>
  4740. <p>Végezetül pedig, ha a játékos kattint egyet, akkor újra akarjuk indítani a játékot.</p>
  4741. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br>22<br>23<br>24<br>25<br>26<br>27<br>28<br>29<br>30<br>31<br></pre><code><span class="hl_c">#!c</span>
  4742. <span class="hl_t">int</span> <span class="hl_v">x</span>, <span class="hl_v">y</span>, <span class="hl_v">dx</span>, <span class="hl_v">dy</span>, <span class="hl_v">px</span>;
  4743. <span class="hl_t">str_t</span> <span class="hl_v">msg</span> <span class="hl_o">=</span> <span class="hl_s">&quot;VÉGE A JÁTÉKNAK!&quot;</span>;
  4744. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4745. {
  4746. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4747. <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_n">156</span>;
  4748. <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_n">96</span>;
  4749. <span class="hl_v">dx</span> <span class="hl_o">=</span> <span class="hl_v">dy</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;
  4750. }
  4751. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4752. {
  4753. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  4754. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  4755. <span class="hl_f">spr</span>(<span class="hl_v">x</span>, <span class="hl_v">y</span>, <span class="hl_n">0</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">0</span>);
  4756. <span class="hl_v">px</span> <span class="hl_o">=</span> <span class="hl_f">inw</span>(<span class="hl_n">0x16</span>);
  4757. <span class="hl_k">if</span>(<span class="hl_v">px</span> <span class="hl_o">&gt;</span> <span class="hl_n">296</span>) <span class="hl_v">px</span> <span class="hl_o">=</span> <span class="hl_n">296</span>;
  4758. <span class="hl_f">spr</span>(<span class="hl_v">px</span>, <span class="hl_n">191</span>, <span class="hl_n">1</span>, <span class="hl_n">3</span>, <span class="hl_n">1</span>, <span class="hl_n">1</span>, <span class="hl_n">0</span>);
  4759. <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_v">x</span> <span class="hl_o">+</span> <span class="hl_v">dx</span>;
  4760. <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_v">y</span> <span class="hl_o">+</span> <span class="hl_v">dy</span>;
  4761. <span class="hl_k">if</span>(<span class="hl_v">x</span> <span class="hl_o">==</span> <span class="hl_n">0</span> <span class="hl_o">||</span> <span class="hl_v">x</span> <span class="hl_o">==</span> <span class="hl_n">311</span>) <span class="hl_v">dx</span> <span class="hl_o">=</span> <span class="hl_o">-</span><span class="hl_v">dx</span>;
  4762. <span class="hl_k">if</span>(<span class="hl_v">y</span> <span class="hl_o">==</span> <span class="hl_n">0</span> <span class="hl_o">||</span> (<span class="hl_v">y</span> <span class="hl_o">==</span> <span class="hl_n">183</span> <span class="hl_o">&amp;&amp;</span> <span class="hl_v">x</span> <span class="hl_o">&gt;=</span> <span class="hl_v">px</span> <span class="hl_o">&amp;&amp;</span> <span class="hl_v">x</span> <span class="hl_o">&lt;=</span> <span class="hl_v">px</span> <span class="hl_o">+</span> <span class="hl_n">24</span>)) <span class="hl_v">dy</span> <span class="hl_o">=</span> <span class="hl_o">-</span><span class="hl_v">dy</span>;
  4763. <span class="hl_k">if</span>(<span class="hl_v">y</span> <span class="hl_o">&gt;</span> <span class="hl_n">199</span>) {
  4764. <span class="hl_v">dx</span> <span class="hl_o">=</span> <span class="hl_v">dy</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;
  4765. <span class="hl_f">text</span>(<span class="hl_n">184</span>, (<span class="hl_n">320</span> <span class="hl_o">-</span> <span class="hl_f">width</span>(<span class="hl_n">2</span>, <span class="hl_v">msg</span>)) <span class="hl_o">/</span> <span class="hl_n">2</span>, <span class="hl_n">90</span>, <span class="hl_n">2</span>, <span class="hl_n">112</span>, <span class="hl_n">128</span>, <span class="hl_v">msg</span>);
  4766. <span class="hl_h"><span class="hl_k">if</span>(<span class="hl_f">getclk</span>(<span class="hl_v">BTN_L</span>)) <span class="hl_f">setup</span>();</span>
  4767. }
  4768. }</code></div>
  4769. <p>Hogy megtudjuk, kattintott-e a felhasználó, arra a <a href="#getclk" onclick="c('getclk')">getclk</a> (get click) funkciót használjuk, egy <samp>BTN_L</samp> (button left) paraméterrel,
  4770. azaz kattintottak-e a bal egérgombbal. A pattogó labda játékunk alapértékeit a <samp>setup()</samp> függvényben állítottuk be, ami nagyon
  4771. kapóra jön, mivel ha itt most újra meghívjuk a <samp>setup()</samp>-ot, akkor a játék egyszerűen visszaáll az alaphelyzetébe.</p><br style="clear:both;"><label class="btn prev" accesskey="p" for="_memoria" title="Memória">Előző</label><label class="btn next" accesskey="n" for="_setalo" title="Sétáló">Következő</label></div>
  4772. <div class="page" rel="setalo"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Példák&nbsp;»</li><li>&nbsp;Sétáló</li></ul><hr></div>
  4773. <h1 id="setalo">Sétáló<a href="#setalo"></a></h1>
  4774. <p>Ebben a példában egy sétáló karaktert fogunk megjeleníteni szprájtokkal. Ez az alapja a legtöbb kaland és kósza-típusú játéknak.</p>
  4775. <h2 id="szprajtlap_beszerzese">Szprájtlap beszerzése<a href="#szprajtlap_beszerzese"></a></h2>
  4776. <p>Meg is rajzolhattuk volna magunk, de az egyszerűség kedvéért letöltöttem egy szabadon felhasználható lapot az internetről.
  4777. Ez három animációs fázist tartalmaz minden sorban, és mind a négy irányhoz van egy-egy sor. Rengeteg ilyen szprájtlapot találsz
  4778. a neten, mivel ez a népszerű RPG Maker szprájtlap elrendezése.</p>
  4779. <div class="warn"><p><span>FIGYELEM</span></p><p> Mindig ellenőrizd az internetről letöltött kellékek licenszfeltételeit. Ne használd a kelléket, ha nem vagy teljesen
  4780. biztos a felhasználás feltételeiben.</p></div>
  4781. <p>Indítsd el a <samp>meg4</samp>-et, és húzd rá az ablakára a letöltött PNG képet az importáláshoz.</p>
  4782. <div class="imgc"><img class="imgc" width="640" height="182" alt="tut_walk1.png" src="data:image/png;base64,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"></div><span class="fig">A beimportált szprájtlap</span>
  4783. <p>Amint látható, egy karakterszprájt 4 x 4 szprájtból áll. Jelenítsük meg! Üsd le az <kbd>F2</kbd>-őt, hogy behozd a <a href="#kod_szerkeszto" onclick="c('kod_szerkeszto')">kód szerkesztő</a>t.</p>
  4784. <h2 id="karakter_megjelenitese">Karakter megjelenítése<a href="#karakter_megjelenitese"></a></h2>
  4785. <p>A szokásos vázzal indítunk. Az előző példából tudjuk, hogy le kell törölni a képernyőt és a szprájtot az <a href="#spr" onclick="c('spr')">spr</a> hívással, a
  4786. <samp>loop()</samp> funkcióban kell megjelenítenünk, mivel az animálás folyamatos újrarajzolást igényel.</p>
  4787. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br></pre><code><span class="hl_c">#!c</span>
  4788. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4789. {
  4790. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4791. }
  4792. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4793. {
  4794. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  4795. <span class="hl_h hl_b"> <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  4796. <span class="hl_f">spr</span>(<span class="hl_n">144</span>, <span class="hl_n">84</span>, <span class="hl_n">0</span>, <span class="hl_n">4</span>, <span class="hl_n">4</span>, <span class="hl_n">0</span>, <span class="hl_n">0</span>);</span>}</code></div>
  4797. <p>A képernyő közepe 160, 100-nál van, de a karakterünk 4 x 4 szprájtból áll (32 x 32 pixeles), így ennek a felét le kell vonni.
  4798. Ezt követő 0 a <samp>sprite</samp>, ami az első szprájtot jelenti, 4, 4-el folytatva, mivel összesen ennyi szprájtot akarunk kirakni. Az
  4799. utolsó két paraméter 0, 0, mivel nem akarunk sem nagyítani, sem transzformációt használni, pont úgy akarjuk a szprájtokat
  4800. megjeleníteni, ahogy azok a <a href="#szprajt_szerkeszto" onclick="c('szprajt_szerkeszto')">szprájt szerkesztő</a>ben látszanak.</p>
  4801. <h2 id="iranyvaltoztatas">Irányváltoztatás<a href="#iranyvaltoztatas"></a></h2>
  4802. <p>Tegyük lehetővé, hogy megváltoztatható legyen, merre néz a karakter. Ehhez a <a href="#getpad" onclick="c('getpad')">getpad</a> hívást fogjuk használni, ami visszaadja a
  4803. játékpad állapotát. Mivel az elsődleges játékpad a billentyűzetre is le van képezve, ezért ez a kurzornyilakkal is működni fog.
  4804. Hogy letároljuk az épp aktuális irányt, ehhez szükségünk lesz egy változóra, ami kiválasztja, hogy melyik szprájtot is kell
  4805. megjelenítenünk.</p>
  4806. <div class="imgc"><img class="imgc" width="480" height="192" alt="tut_walk2.png" src="data:image/png;base64,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"></div><span class="fig">A szprájt sorszám kiderítése</span>
  4807. <p>Leütheted az <kbd>F3</kbd>-at és a szprájtválasztóban a karakter bal felső szprájtjára kattintva kiírja az adott irányhoz
  4808. tartozó szprájt sorszámát. Ezt a sorszámot az <samp>irány</samp> változóban fogjuk tárolni, és ezt a változót használjuk a <samp>sprite</samp> paraméter
  4809. helyén.</p>
  4810. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br>22<br>23<br>24<br>25<br>26<br>27<br>28<br></pre><code><span class="hl_c">#!c</span>
  4811. <span class="hl_h"><span class="hl_t">int</span> <span class="hl_v">irány</span>;</span>
  4812. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4813. {
  4814. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4815. }
  4816. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4817. {
  4818. <span class="hl_c">/* Felhasználói bemenet */</span>
  4819. <span class="hl_h hl_b"> <span class="hl_k">if</span>(<span class="hl_f">getpad</span>(<span class="hl_n">0</span>, <span class="hl_v">BTN_D</span>)) {
  4820. <span class="hl_v">irány</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;
  4821. } <span class="hl_k">else</span>
  4822. <span class="hl_k">if</span>(<span class="hl_f">getpad</span>(<span class="hl_n">0</span>, <span class="hl_v">BTN_L</span>)) {
  4823. <span class="hl_v">irány</span> <span class="hl_o">=</span> <span class="hl_n">128</span>;
  4824. } <span class="hl_k">else</span>
  4825. <span class="hl_k">if</span>(<span class="hl_f">getpad</span>(<span class="hl_n">0</span>, <span class="hl_v">BTN_R</span>)) {
  4826. <span class="hl_v">irány</span> <span class="hl_o">=</span> <span class="hl_n">256</span>;
  4827. } <span class="hl_k">else</span>
  4828. <span class="hl_k">if</span>(<span class="hl_f">getpad</span>(<span class="hl_n">0</span>, <span class="hl_v">BTN_U</span>)) {
  4829. <span class="hl_v">irány</span> <span class="hl_o">=</span> <span class="hl_n">384</span>;
  4830. }</span> <span class="hl_c">/* Karakter megjelenítése */</span>
  4831. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  4832. <span class="hl_f">spr</span>(<span class="hl_n">144</span>, <span class="hl_n">84</span>, <span class="hl_h"><span class="hl_v">irány</span></span>, <span class="hl_n">4</span>, <span class="hl_n">4</span>, <span class="hl_n">0</span>, <span class="hl_n">0</span>);
  4833. }</code></div>
  4834. <p>Próbáljuk ki! Látni fogjuk, hogy a kurzornyilak lenyomására irányt vált a karakterünk.</p>
  4835. <h2 id="animalas_hozzaadasa">Animálás hozzáadása<a href="#animalas_hozzaadasa"></a></h2>
  4836. <p>A karakterünk még nem sétál. Javítsuk ki! Azt szeretnénk, hogy a gomb (vagy kurzornyíl) lenyomásakor a karakter sétáljon, és
  4837. megálljon, amikor felengedjük azt. Ehhez szükségünk lesz egy változóra, ami tárolja, hogy épp van-e lenyomva gomb.</p>
  4838. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br>22<br>23<br>24<br>25<br>26<br>27<br>28<br>29<br></pre><code><span class="hl_c">#!c</span>
  4839. <span class="hl_t">int</span> <span class="hl_v">irány</span><span class="hl_h">, <span class="hl_v">lenyomva</span></span>;
  4840. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4841. {
  4842. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4843. }
  4844. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4845. {
  4846. <span class="hl_c">/* Felhasználói bemenet */</span>
  4847. <span class="hl_h"><span class="hl_v">lenyomva</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;</span>
  4848. <span class="hl_k">if</span>(<span class="hl_f">getpad</span>(<span class="hl_n">0</span>, <span class="hl_v">BTN_D</span>)) {
  4849. <span class="hl_v">irány</span> <span class="hl_o">=</span> <span class="hl_n">0</span>; <span class="hl_h"><span class="hl_v">lenyomva</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;</span>
  4850. } <span class="hl_k">else</span>
  4851. <span class="hl_k">if</span>(<span class="hl_f">getpad</span>(<span class="hl_n">0</span>, <span class="hl_v">BTN_L</span>)) {
  4852. <span class="hl_v">irány</span> <span class="hl_o">=</span> <span class="hl_n">128</span>; <span class="hl_h"><span class="hl_v">lenyomva</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;</span>
  4853. } <span class="hl_k">else</span>
  4854. <span class="hl_k">if</span>(<span class="hl_f">getpad</span>(<span class="hl_n">0</span>, <span class="hl_v">BTN_R</span>)) {
  4855. <span class="hl_v">irány</span> <span class="hl_o">=</span> <span class="hl_n">256</span>; <span class="hl_h"><span class="hl_v">lenyomva</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;</span>
  4856. } <span class="hl_k">else</span>
  4857. <span class="hl_k">if</span>(<span class="hl_f">getpad</span>(<span class="hl_n">0</span>, <span class="hl_v">BTN_U</span>)) {
  4858. <span class="hl_v">irány</span> <span class="hl_o">=</span> <span class="hl_n">384</span>; <span class="hl_h"><span class="hl_v">lenyomva</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;</span>
  4859. }
  4860. <span class="hl_c">/* Karakter megjelenítése */</span>
  4861. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  4862. <span class="hl_f">spr</span>(<span class="hl_n">144</span>, <span class="hl_n">84</span>, <span class="hl_v">irány</span>, <span class="hl_n">4</span>, <span class="hl_n">4</span>, <span class="hl_n">0</span>, <span class="hl_n">0</span>);
  4863. }</code></div>
  4864. <p>Először is, töröljük a <samp>lenyomva</samp> változót. Aztán minden if blokkban beállítjuk 1-re. Ennek hatására ha lenyomjuk valamelyik
  4865. gombot, akkor a változó értéke 1 lesz, de amint felengedjük azt a gombot, akkor egyből visszaáll 0-ra.</p>
  4866. <p>Kelleni fog mégegy változó, ami pedig azt mondja meg, melyik képkockát kell épp kirajzolni. Használhatnánk valami vicces képletet
  4867. is, de egyszerűbb egy tömbben letárolni, hogy melyik képkockához melyik szprájt tartozik az adott sorban. Szóval a sor adja meg
  4868. az irányt, az oszlop pedig az animációs fázist. E kettőt összeadva kapjuk meg a végleges képkockát.</p>
  4869. <p>Még egy valami, csak három szprájtunk van, viszont négy képkockára van szükségünk, mivel a középső szprájtot kétszer is meg kell
  4870. jelenítenünk, hogy rendes oda-vissza lábmozgás animációt kapjunk. Tehát az adott sorban vesszük a középső képkockát, az utolsót,
  4871. megint a középsőt, majd az elsőt.</p>
  4872. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br>22<br>23<br>24<br>25<br>26<br>27<br>28<br>29<br>30<br>31<br></pre><code><span class="hl_c">#!c</span>
  4873. <span class="hl_t">int</span> <span class="hl_v">irány</span>, <span class="hl_v">lenyomva</span><span class="hl_h">, <span class="hl_v">képkocka</span></span>;
  4874. <span class="hl_h"><span class="hl_t">int</span> <span class="hl_v">anim</span>[<span class="hl_n">4</span>] <span class="hl_o">=</span> { <span class="hl_n">4</span>, <span class="hl_n">8</span>, <span class="hl_n">4</span>, <span class="hl_n">0</span> };</span>
  4875. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4876. {
  4877. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4878. }
  4879. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4880. {
  4881. <span class="hl_c">/* Felhasználói bemenet */</span>
  4882. <span class="hl_v">lenyomva</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;
  4883. <span class="hl_k">if</span>(<span class="hl_f">getpad</span>(<span class="hl_n">0</span>, <span class="hl_v">BTN_D</span>)) {
  4884. <span class="hl_v">irány</span> <span class="hl_o">=</span> <span class="hl_n">0</span>; <span class="hl_v">lenyomva</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;
  4885. } <span class="hl_k">else</span>
  4886. <span class="hl_k">if</span>(<span class="hl_f">getpad</span>(<span class="hl_n">0</span>, <span class="hl_v">BTN_L</span>)) {
  4887. <span class="hl_v">irány</span> <span class="hl_o">=</span> <span class="hl_n">128</span>; <span class="hl_v">lenyomva</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;
  4888. } <span class="hl_k">else</span>
  4889. <span class="hl_k">if</span>(<span class="hl_f">getpad</span>(<span class="hl_n">0</span>, <span class="hl_v">BTN_R</span>)) {
  4890. <span class="hl_v">irány</span> <span class="hl_o">=</span> <span class="hl_n">256</span>; <span class="hl_v">lenyomva</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;
  4891. } <span class="hl_k">else</span>
  4892. <span class="hl_k">if</span>(<span class="hl_f">getpad</span>(<span class="hl_n">0</span>, <span class="hl_v">BTN_U</span>)) {
  4893. <span class="hl_v">irány</span> <span class="hl_o">=</span> <span class="hl_n">384</span>; <span class="hl_v">lenyomva</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;
  4894. }
  4895. <span class="hl_c">/* Karakter megjelenítése */</span>
  4896. <span class="hl_h"><span class="hl_v">képkocka</span> <span class="hl_o">=</span> <span class="hl_v">lenyomva</span> <span class="hl_o">?</span> (<span class="hl_v">képkocka</span> <span class="hl_o">+</span> <span class="hl_n">1</span>) <span class="hl_o">&amp;</span> <span class="hl_n">3</span> : <span class="hl_n">0</span>;</span>
  4897. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  4898. <span class="hl_f">spr</span>(<span class="hl_n">144</span>, <span class="hl_n">84</span>, <span class="hl_v">irány</span> <span class="hl_h"><span class="hl_o">+</span> <span class="hl_v">anim</span>[<span class="hl_v">képkocka</span>]</span>, <span class="hl_n">4</span>, <span class="hl_n">4</span>, <span class="hl_n">0</span>, <span class="hl_n">0</span>);
  4899. }</code></div>
  4900. <p>Ezután kiszámoljuk, melyik képkockára van szükségünk, de csak akkor, ha van gomb lenyomva. Ha nincs, akkor konstans 0-át használunk,
  4901. ami az első képkockát jelenti. Egyébként megnöveljük a <samp>képkocka</samp> változó értékét, hogy következő képkockát vegyük, és logikai ÉS-t
  4902. használunk a túlcsordulás elkerülésére. Amikor a <samp>képkocka</samp> értéke 4 lesz (ami 0b100) és ezt ÉS-eljük 3-al (0b011), akkor az eredmény
  4903. 0 lesz, azaz a képkocka számláló körbefordul. Használhattunk volna "modulo képkockák száma" kifejezést is, de ez gyorsabb. Végül
  4904. az így kapott képkockának megfelelő szprájt azonosító eltolást (amit az <samp>anim</samp> tömbben tárolunk), hozzáadjuk az <samp>irány</samp> változóhoz,
  4905. hogy megkapjuk, ténylegesen melyik szprájtot is kell kirajzolni.</p>
  4906. <p>Próbáljuk ki, üsd le a <kbd>Ctrl</kbd>+<kbd>R</kbd>-t! Remekül működik, azonban az animáció túl gyors. Ez azért van, mert minden
  4907. frissítésnél növeljük a <samp>képkocka</samp> változót, tehát másodpercenként 60-szor. Hogy ezt elkerüljük, az MMIO-ból kell kiolvasni a
  4908. tikkeket és a képkockát a frissítéstől függetlenül kell meghatározni. A tikkszámláló azonban ezredmásodperces, így le kell osztanunk.
  4909. Ha 100-al osztanánk, akkor másodpercenként 10 képkockát kapnánk. Ehelyett 7 bittel jobbra eltolást fogunk használni, ami 128-al való
  4910. osztásnak felel meg. Először is, üsd le az <kbd>F1</kbd>-et és kattints az <a href="#altalanos" onclick="c('altalanos')">Általános</a>-ra. Láthatjuk, hogy a tikkszámláló címe a
  4911. 0x4, és 4 bájt hosszú (ezért az <a href="#ini" onclick="c('ini')">ini</a> hívást kell használnunk). Menjünk vissza a kódra, és a képkockaszámítást cseréljük le erre.</p>
  4912. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br>22<br>23<br>24<br>25<br>26<br>27<br>28<br>29<br>30<br>31<br></pre><code><span class="hl_c">#!c</span>
  4913. <span class="hl_t">int</span> <span class="hl_v">irány</span>, <span class="hl_v">lenyomva</span>, <span class="hl_v">képkocka</span>;
  4914. <span class="hl_t">int</span> <span class="hl_v">anim</span>[<span class="hl_n">4</span>] <span class="hl_o">=</span> { <span class="hl_n">4</span>, <span class="hl_n">8</span>, <span class="hl_n">4</span>, <span class="hl_n">0</span> };
  4915. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4916. {
  4917. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4918. }
  4919. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4920. {
  4921. <span class="hl_c">/* Felhasználói bemenet */</span>
  4922. <span class="hl_v">lenyomva</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;
  4923. <span class="hl_k">if</span>(<span class="hl_f">getpad</span>(<span class="hl_n">0</span>, <span class="hl_v">BTN_D</span>)) {
  4924. <span class="hl_v">irány</span> <span class="hl_o">=</span> <span class="hl_n">0</span>; <span class="hl_v">lenyomva</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;
  4925. } <span class="hl_k">else</span>
  4926. <span class="hl_k">if</span>(<span class="hl_f">getpad</span>(<span class="hl_n">0</span>, <span class="hl_v">BTN_L</span>)) {
  4927. <span class="hl_v">irány</span> <span class="hl_o">=</span> <span class="hl_n">128</span>; <span class="hl_v">lenyomva</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;
  4928. } <span class="hl_k">else</span>
  4929. <span class="hl_k">if</span>(<span class="hl_f">getpad</span>(<span class="hl_n">0</span>, <span class="hl_v">BTN_R</span>)) {
  4930. <span class="hl_v">irány</span> <span class="hl_o">=</span> <span class="hl_n">256</span>; <span class="hl_v">lenyomva</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;
  4931. } <span class="hl_k">else</span>
  4932. <span class="hl_k">if</span>(<span class="hl_f">getpad</span>(<span class="hl_n">0</span>, <span class="hl_v">BTN_U</span>)) {
  4933. <span class="hl_v">irány</span> <span class="hl_o">=</span> <span class="hl_n">384</span>; <span class="hl_v">lenyomva</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;
  4934. }
  4935. <span class="hl_c">/* Karakter megjelenítése */</span>
  4936. <span class="hl_v">képkocka</span> <span class="hl_o">=</span> <span class="hl_v">lenyomva</span> <span class="hl_o">?</span> (<span class="hl_h"><span class="hl_f">ini</span>(<span class="hl_n">0x4</span>) <span class="hl_o">&gt;&gt;</span> <span class="hl_n">7</span></span>) <span class="hl_o">&amp;</span> <span class="hl_n">3</span> : <span class="hl_n">0</span>;
  4937. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  4938. <span class="hl_f">spr</span>(<span class="hl_n">144</span>, <span class="hl_n">84</span>, <span class="hl_v">irány</span> <span class="hl_o">+</span> <span class="hl_v">anim</span>[<span class="hl_v">képkocka</span>], <span class="hl_n">4</span>, <span class="hl_n">4</span>, <span class="hl_n">0</span>, <span class="hl_n">0</span>);
  4939. }</code></div>
  4940. <p>És készen vagyunk! Van egy szépen sétáló karakter animációnk, amit mi irányíthatunk a játékban. Mozgathatod magát a karaktert is a
  4941. képernyőn, ha változókra cseréled az x, y paramétereket, de az ilyen játékoknál sokkal elterjedtebb, hogy inkább a térképet
  4942. mozgatják a karakter talpa alatt az ellenkező irányba.</p><br style="clear:both;"><label class="btn prev" accesskey="p" for="_pattogo_labda" title="Pattogó labda">Előző</label><label class="btn next" accesskey="n" for="_agyu" title="Ágyú">Következő</label></div>
  4943. <div class="page" rel="agyu"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Példák&nbsp;»</li><li>&nbsp;Ágyú</li></ul><hr></div>
  4944. <h1 id="agyu">Ágyú<a href="#agyu"></a></h1>
  4945. <p>Ebben a példában egy ágyút fognunk csinálni. Minden benne van, ami az Asteroids játék alapját képezi.</p>
  4946. <h2 id="agyucso_kirajzolasa">Ágyúcső kirajzolása<a href="#agyucso_kirajzolasa"></a></h2>
  4947. <p>A szokásos vázzal indítunk. Az előző példából tudjuk, hogy le kell törölnünk a képernyőt, aztán egy <a href="#line" onclick="c('line')">line</a> hívással egy egyszerű
  4948. vonal ágyút rajzolunk.</p>
  4949. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br></pre><code><span class="hl_c">#!c</span>
  4950. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4951. {
  4952. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4953. }
  4954. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4955. {
  4956. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  4957. <span class="hl_h hl_b"> <span class="hl_c">/* Kirajzolás */</span>
  4958. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  4959. <span class="hl_f">line</span>(<span class="hl_n">23</span>, <span class="hl_n">160</span>, <span class="hl_n">100</span>, <span class="hl_n">160</span>, <span class="hl_n">100</span> <span class="hl_o">-</span> <span class="hl_n">10</span>);</span>}</code></div>
  4960. <p>A képernyő közepe 160, 100-nál van, innen egy 10 pixeles csövet húzunk felfelé azáltal, hogy a vége Y koordinátából kivonunk 10-et.
  4961. Továbbá a csőhöz szürkés színt használunk (23).</p>
  4962. <h2 id="agyucso_forgatasa">Ágyúcső forgatása<a href="#agyucso_forgatasa"></a></h2>
  4963. <p>Hogy a játékos ezt forgatni tudja, szükségünk lesz egy változóra, ami az aktuális szöget tárolja, hogy merre mutat a cső.</p>
  4964. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br></pre><code><span class="hl_c">#!c</span>
  4965. <span class="hl_h hl_b"><span class="hl_t">int</span> <span class="hl_v">szog</span>;</span>
  4966. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4967. {
  4968. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4969. }
  4970. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4971. {
  4972. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  4973. <span class="hl_h hl_b"> <span class="hl_c">/* Gombok lekezelése */</span>
  4974. <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_LEFT</span>)) <span class="hl_v">szog</span><span class="hl_o">--</span>;
  4975. <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_RIGHT</span>)) <span class="hl_v">szog</span><span class="hl_o">++</span>;
  4976. <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">&lt;</span> <span class="hl_n">0</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">359</span>;
  4977. <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">&gt;</span> <span class="hl_n">359</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;</span> <span class="hl_c">/* Kirajzolás */</span>
  4978. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  4979. <span class="hl_f">line</span>(<span class="hl_n">23</span>, <span class="hl_n">160</span>, <span class="hl_n">100</span>, <span class="hl_n">160</span>, <span class="hl_n">100</span> <span class="hl_o">-</span> <span class="hl_n">10</span>);
  4980. }</code></div>
  4981. <p>Lekérdezzük, hogy a játékos leütötte-e a jobbra vagy balra nyilakat és ennek megfelelően változtatjuk a szöget. De még nem vagyunk
  4982. készen, mert a szöget vágni is kell, méghozzá úgy, hogyha eléri az alsó értéket, akkor a legnagyobb legyen, míg ha a felső értéket,
  4983. akkor meg a legkissebb. Ennek eredményeként egy szépen körbe-körbe forgatható ágyúcsövet kapunk.</p>
  4984. <p>Namost hogy az ágyúcsövet ebben a szögben tudjuk kirajzolni, ahhoz tudnunk kell, hogy egy adott szög mit jelent pixelekben az
  4985. X és Y tengelyen. Talán rémlik iskolás matekóráról, hogy a szinusz és koszinusz függvények pontosan ezt adják meg. Persze egységet
  4986. adnak, azért ahhoz, hogy 10 pixel hosszú legyen a cső, az eredményt fel kell még szorozni 10-el. Fontos, hogy a <a href="#sin" onclick="c('sin')">sin</a> és a <a href="#cos" onclick="c('cos')">cos</a>
  4987. függvény is lebegőpontos értéket (nem <samp>1</samp> hanem <samp>1.0</samp>) ad vissza.</p>
  4988. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br></pre><code><span class="hl_c">#!c</span>
  4989. <span class="hl_t">int</span> <span class="hl_v">szog</span>;
  4990. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  4991. {
  4992. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  4993. }
  4994. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  4995. {
  4996. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  4997. <span class="hl_c">/* Gombok lekezelése */</span>
  4998. <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_LEFT</span>)) <span class="hl_v">szog</span><span class="hl_o">--</span>;
  4999. <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_RIGHT</span>)) <span class="hl_v">szog</span><span class="hl_o">++</span>;
  5000. <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">&lt;</span> <span class="hl_n">0</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">359</span>;
  5001. <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">&gt;</span> <span class="hl_n">359</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;
  5002. <span class="hl_c">/* Kirajzolás */</span>
  5003. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  5004. <span class="hl_f">line</span>(<span class="hl_n">23</span>, <span class="hl_n">160</span>, <span class="hl_n">100</span>, <span class="hl_n">160</span><span class="hl_h"> <span class="hl_o">+</span> <span class="hl_f">cos</span>(<span class="hl_v">szog</span>)<span class="hl_o">*</span><span class="hl_n">10</span></span>, <span class="hl_n">100</span><span class="hl_h"> <span class="hl_o">+</span> <span class="hl_f">sin</span>(<span class="hl_v">szog</span>)<span class="hl_o">*</span><span class="hl_n">10</span></span>);
  5005. }</code></div>
  5006. <p>Üssük le a <kbd>Ctrl</kbd>+<kbd>R</kbd>-t és látni fogjuk, hogy az ágyúcső szépen forgatható.</p>
  5007. <h2 id="lovedek_hozzaadasa">Lövedék hozzáadása<a href="#lovedek_hozzaadasa"></a></h2>
  5008. <p>Ahogy azt a <a href="#labda_pattogas" onclick="c('labda_pattogas')">labda pattogás</a> példából tudjuk, ahhoz, hogy a képernyőn egy mozgó objektumunk legyen, kell két változó, ami a
  5009. koordinátáit tárolja, valamint még további kettő, ami meg azt, hogy mennyit kell elmozdulnia. A labdával ellentétben, ami
  5010. csak átlósan mozgott, itt most mindenféle tetszőleges szöget akarunk használni, ezért a szép folyamatos mozgáshoz törtpixeleket
  5011. kell tárolni, tehát lebegőpontos változókra lesz szükségünk (ezért nem <samp>int</samp> hanem <samp>float</samp>).</p>
  5012. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br>22<br>23<br>24<br>25<br>26<br>27<br>28<br></pre><code><span class="hl_c">#!c</span>
  5013. <span class="hl_h hl_b"><span class="hl_t">float</span> <span class="hl_v">x</span>, <span class="hl_v">y</span>, <span class="hl_v">dx</span>, <span class="hl_v">dy</span>;</span><span class="hl_t">int</span> <span class="hl_v">szog</span>;
  5014. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  5015. {
  5016. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  5017. }
  5018. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  5019. {
  5020. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  5021. <span class="hl_c">/* Gombok lekezelése */</span>
  5022. <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_LEFT</span>)) <span class="hl_v">szog</span><span class="hl_o">--</span>;
  5023. <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_RIGHT</span>)) <span class="hl_v">szog</span><span class="hl_o">++</span>;
  5024. <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">&lt;</span> <span class="hl_n">0</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">359</span>;
  5025. <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">&gt;</span> <span class="hl_n">359</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;
  5026. <span class="hl_h hl_b"> <span class="hl_c">/* Lövedék mozgatása */</span>
  5027. <span class="hl_v">x</span> <span class="hl_o">+=</span> <span class="hl_v">dx</span>;
  5028. <span class="hl_v">y</span> <span class="hl_o">+=</span> <span class="hl_v">dy</span>;
  5029. <span class="hl_k">if</span>(<span class="hl_v">x</span> <span class="hl_o">&lt;</span> <span class="hl_n">0</span> <span class="hl_o">||</span> <span class="hl_v">x</span> <span class="hl_o">&gt;=</span> <span class="hl_n">320</span> <span class="hl_o">||</span> <span class="hl_v">y</span> <span class="hl_o">&lt;</span> <span class="hl_n">0</span> <span class="hl_o">||</span> <span class="hl_v">y</span> <span class="hl_o">&gt;=</span> <span class="hl_n">200</span>)
  5030. <span class="hl_v">dx</span> <span class="hl_o">=</span> <span class="hl_v">dy</span> <span class="hl_o">=</span> <span class="hl_n">0.0</span>;</span> <span class="hl_c">/* Kirajzolás */</span>
  5031. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  5032. <span class="hl_h hl_b"> <span class="hl_f">pset</span>(<span class="hl_n">8</span>, <span class="hl_v">x</span>, <span class="hl_v">y</span>);</span> <span class="hl_f">line</span>(<span class="hl_n">23</span>, <span class="hl_n">160</span>, <span class="hl_n">100</span>, <span class="hl_n">160</span> <span class="hl_o">+</span> <span class="hl_f">cos</span>(<span class="hl_v">szog</span>)<span class="hl_o">*</span><span class="hl_n">10</span>, <span class="hl_n">100</span> <span class="hl_o">+</span> <span class="hl_f">sin</span>(<span class="hl_v">szog</span>)<span class="hl_o">*</span><span class="hl_n">10</span>);
  5033. }</code></div>
  5034. <p>Pont ahogy a legelső példában is csináltuk, a fő <samp>loop()</samp> függvényben hozzáadjuk a delta értékeket a koordinátákhoz. Továbbá
  5035. ellenőrizzük, hogy a lövedék elérte-e valamelyik képernyőszélet, és ha igen, akkor alaphelyzetbe állítjuk, hogy megakadályozzuk a
  5036. lövedék további mozgását. Magának a lövedéknek a megjelenítésére pedig kiteszünk egy sárga (8) pixelt a <a href="#pset" onclick="c('pset')">pset</a> függvénnyel.</p>
  5037. <h2 id="agyu_elsutese">Ágyú elsütése<a href="#agyu_elsutese"></a></h2>
  5038. <p>Már csak egy dolog maradt hátra, hogy a játékos lőni is tudjon ezzel az ágyúval.</p>
  5039. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br>22<br>23<br>24<br>25<br>26<br>27<br>28<br>29<br>30<br>31<br>32<br>33<br>34<br>35<br></pre><code><span class="hl_c">#!c</span>
  5040. <span class="hl_t">float</span> <span class="hl_v">x</span>, <span class="hl_v">y</span>, <span class="hl_v">dx</span>, <span class="hl_v">dy</span>;
  5041. <span class="hl_t">int</span> <span class="hl_v">szog</span>;
  5042. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  5043. {
  5044. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  5045. }
  5046. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  5047. {
  5048. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  5049. <span class="hl_c">/* Gombok lekezelése */</span>
  5050. <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_LEFT</span>)) <span class="hl_v">szog</span><span class="hl_o">--</span>;
  5051. <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_RIGHT</span>)) <span class="hl_v">szog</span><span class="hl_o">++</span>;
  5052. <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">&lt;</span> <span class="hl_n">0</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">359</span>;
  5053. <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">&gt;</span> <span class="hl_n">359</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;
  5054. <span class="hl_h hl_b"> <span class="hl_c">/* Ágyú elsütése */</span>
  5055. <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_SPACE</span>)) {
  5056. <span class="hl_v">dx</span> <span class="hl_o">=</span> <span class="hl_f">cos</span>(<span class="hl_v">szog</span>);
  5057. <span class="hl_v">dy</span> <span class="hl_o">=</span> <span class="hl_f">sin</span>(<span class="hl_v">szog</span>);
  5058. <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_n">160</span> <span class="hl_o">+</span> <span class="hl_v">dx</span> <span class="hl_o">*</span> <span class="hl_n">9</span>;
  5059. <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_n">100</span> <span class="hl_o">+</span> <span class="hl_v">dy</span> <span class="hl_o">*</span> <span class="hl_n">9</span>;
  5060. }</span> <span class="hl_c">/* Lövedék mozgatása */</span>
  5061. <span class="hl_v">x</span> <span class="hl_o">+=</span> <span class="hl_v">dx</span>;
  5062. <span class="hl_v">y</span> <span class="hl_o">+=</span> <span class="hl_v">dy</span>;
  5063. <span class="hl_k">if</span>(<span class="hl_v">x</span> <span class="hl_o">&lt;</span> <span class="hl_n">0</span> <span class="hl_o">||</span> <span class="hl_v">x</span> <span class="hl_o">&gt;=</span> <span class="hl_n">320</span> <span class="hl_o">||</span> <span class="hl_v">y</span> <span class="hl_o">&lt;</span> <span class="hl_n">0</span> <span class="hl_o">||</span> <span class="hl_v">y</span> <span class="hl_o">&gt;=</span> <span class="hl_n">200</span>)
  5064. <span class="hl_v">dx</span> <span class="hl_o">=</span> <span class="hl_v">dy</span> <span class="hl_o">=</span> <span class="hl_n">0.0</span>;
  5065. <span class="hl_c">/* Kirajzolás */</span>
  5066. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  5067. <span class="hl_f">pset</span>(<span class="hl_n">8</span>, <span class="hl_v">x</span>, <span class="hl_v">y</span>);
  5068. <span class="hl_f">line</span>(<span class="hl_n">23</span>, <span class="hl_n">160</span>, <span class="hl_n">100</span>, <span class="hl_n">160</span> <span class="hl_o">+</span> <span class="hl_f">cos</span>(<span class="hl_v">szog</span>)<span class="hl_o">*</span><span class="hl_n">10</span>, <span class="hl_n">100</span> <span class="hl_o">+</span> <span class="hl_f">sin</span>(<span class="hl_v">szog</span>)<span class="hl_o">*</span><span class="hl_n">10</span>);
  5069. }</code></div>
  5070. <p>Amikor a játékos leüti a <kbd>Szóköz</kbd> billentyűt, asszerint állítjuk be a dx és dy értékét, hogy a cső aktuális elfordulása
  5071. mennyi pixelt is jelent az X és Y tengelyen. Ezen kívül a lövedék koordinátáját a cső végéhez állítjuk be. A delta értékeket
  5072. csak 9-el szorozzuk meg itt, mivel mindjárt a következő dolog, amit tenni fogunk az az, hogy a léptetés miatt hozzáadjuk a delta
  5073. értékeket a koordinátákhoz, ezért ez így pont olyan, mintha 10-el szoroztunk volna.</p>
  5074. <p>Próbáljuk ki! Működik, de van egy kis bökkenő. Ha a játékos lenyomva tartja a <kbd>Szóköz</kbd>-t, akkor semmi sem történik! Ez
  5075. amiatt van, mert ilyenkor a <a href="#getkey" onclick="c('getkey')">getkey</a> állandóan igaz lesz, ezért folyamatosan beállítjuk az x, y, dx, dy változókat, így aztán hiába
  5076. léptetjük. Javítsuk ki! Kelleni fog egy változó, amiben azt tároljuk, hogy el lett-e már sütve az ágyú.</p>
  5077. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br>22<br>23<br>24<br>25<br>26<br>27<br>28<br>29<br>30<br>31<br>32<br>33<br>34<br>35<br>36<br>37<br>38<br>39<br></pre><code><span class="hl_c">#!c</span>
  5078. <span class="hl_t">float</span> <span class="hl_v">x</span>, <span class="hl_v">y</span>, <span class="hl_v">dx</span>, <span class="hl_v">dy</span>;
  5079. <span class="hl_t">int</span> <span class="hl_v">szog</span><span class="hl_h">, <span class="hl_v">elsutve</span></span>;
  5080. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  5081. {
  5082. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  5083. }
  5084. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  5085. {
  5086. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  5087. <span class="hl_c">/* Gombok lekezelése */</span>
  5088. <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_LEFT</span>)) <span class="hl_v">szog</span><span class="hl_o">--</span>;
  5089. <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_RIGHT</span>)) <span class="hl_v">szog</span><span class="hl_o">++</span>;
  5090. <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">&lt;</span> <span class="hl_n">0</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">359</span>;
  5091. <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">&gt;</span> <span class="hl_n">359</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;
  5092. <span class="hl_c">/* Ágyú elsütése */</span>
  5093. <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_SPACE</span>)) {
  5094. <span class="hl_h hl_b"> <span class="hl_k">if</span>(<span class="hl_o">!</span><span class="hl_v">elsutve</span>) {
  5095. <span class="hl_v">elsutve</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;</span> <span class="hl_v">dx</span> <span class="hl_o">=</span> <span class="hl_f">cos</span>(<span class="hl_v">szog</span>);
  5096. <span class="hl_v">dy</span> <span class="hl_o">=</span> <span class="hl_f">sin</span>(<span class="hl_v">szog</span>);
  5097. <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_n">160</span> <span class="hl_o">+</span> <span class="hl_v">dx</span> <span class="hl_o">*</span> <span class="hl_n">9</span>;
  5098. <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_n">100</span> <span class="hl_o">+</span> <span class="hl_v">dy</span> <span class="hl_o">*</span> <span class="hl_n">9</span>;
  5099. <span class="hl_h hl_b"> }</span> } <span class="hl_h"> <span class="hl_k">else</span>
  5100. <span class="hl_v">elsutve</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;</span>
  5101. <span class="hl_c">/* Lövedék mozgatása */</span>
  5102. <span class="hl_v">x</span> <span class="hl_o">+=</span> <span class="hl_v">dx</span>;
  5103. <span class="hl_v">y</span> <span class="hl_o">+=</span> <span class="hl_v">dy</span>;
  5104. <span class="hl_k">if</span>(<span class="hl_v">x</span> <span class="hl_o">&lt;</span> <span class="hl_n">0</span> <span class="hl_o">||</span> <span class="hl_v">x</span> <span class="hl_o">&gt;=</span> <span class="hl_n">320</span> <span class="hl_o">||</span> <span class="hl_v">y</span> <span class="hl_o">&lt;</span> <span class="hl_n">0</span> <span class="hl_o">||</span> <span class="hl_v">y</span> <span class="hl_o">&gt;=</span> <span class="hl_n">200</span>)
  5105. <span class="hl_v">dx</span> <span class="hl_o">=</span> <span class="hl_v">dy</span> <span class="hl_o">=</span> <span class="hl_n">0.0</span>;
  5106. <span class="hl_c">/* Kirajzolás */</span>
  5107. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  5108. <span class="hl_f">pset</span>(<span class="hl_n">8</span>, <span class="hl_v">x</span>, <span class="hl_v">y</span>);
  5109. <span class="hl_f">line</span>(<span class="hl_n">23</span>, <span class="hl_n">160</span>, <span class="hl_n">100</span>, <span class="hl_n">160</span> <span class="hl_o">+</span> <span class="hl_f">cos</span>(<span class="hl_v">szog</span>)<span class="hl_o">*</span><span class="hl_n">10</span>, <span class="hl_n">100</span> <span class="hl_o">+</span> <span class="hl_f">sin</span>(<span class="hl_v">szog</span>)<span class="hl_o">*</span><span class="hl_n">10</span>);
  5110. }</code></div>
  5111. <p>Tehát amikor <kbd>Szóköz</kbd> le van nyomva, akkor azt is ellenőrizzük, hogy nincs az <samp>elsutve</samp> változó beállítva, és na nincs,
  5112. akkor beállítjuk a többi változóval egyetemben. Így most csak egyszer állítjuk be a változókat. De nem akarjuk, hogy így is
  5113. maradjon az <samp>elsutve</samp>, ezért amikor a <kbd>Szóköz</kbd> nincs nyomva, akkor lenullázuk, hogy legközelebb is elsüthessük az ágyút.
  5114. És ennyi lenne.</p>
  5115. <div class="hint"><p><span>TIPP</span></p><p> Egy blokkot raktunk akköré a sorok köré, amik beállítják a változókat. Nem kell ilyenkor egy csomó szóközt becsépelnünk,
  5116. hogy beljebb toljuk az utasításokat. Elég csak kijelölni a sorokat, és a <kbd>Ctrl</kbd>+<kbd>.</kbd> leütésével mindet egyszerre
  5117. beljebb húzza a szerkesztő.</p></div>
  5118. <h2 id="tobb_lovedek">Több lövedék<a href="#tobb_lovedek"></a></h2>
  5119. <p>A kódunknak még mindig van egy szépséghibája. Ha akkor sütjük el az ágyút, amikor már van egy lövedék kilőve, akkor az eltűnik.
  5120. Ez azért van, mert jelenleg csak egyetlen lövedéket tudunk kezelni, mert csak egy x, y, dx, dy négyesünk van. A több lövedékhez
  5121. át kell alakítanunk ezeket tömbökké, amik több értéket is képesek tárolni, egy-egy négyest minden lövedékhez.</p>
  5122. <p>Elsőre csak csináljunk egy elemű tömböket. Amikor deklarálunk, akkor elemszámot kell megadni a fordítónak, de amikor hivatkozunk
  5123. rájuk, akkor az indexük nullától indul, ezért egy N elemű tömb esetén 0 és N - 1 közötti lehet az index.</p>
  5124. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br>22<br>23<br>24<br>25<br>26<br>27<br>28<br>29<br>30<br>31<br>32<br>33<br>34<br>35<br>36<br>37<br>38<br>39<br>40<br>41<br></pre><code><span class="hl_c">#!c</span>
  5125. <span class="hl_h hl_b"><span class="hl_p">#define N 1</span></span>
  5126. <span class="hl_t">float</span> <span class="hl_v">x</span><span class="hl_h">[<span class="hl_v">N</span>]</span>, <span class="hl_v">y</span><span class="hl_h">[<span class="hl_v">N</span>]</span>, <span class="hl_v">dx</span><span class="hl_h">[<span class="hl_v">N</span>]</span>, <span class="hl_v">dy</span><span class="hl_h">[<span class="hl_v">N</span>]</span>;
  5127. <span class="hl_t">int</span> <span class="hl_v">szog</span>, <span class="hl_v">elsutve</span>;
  5128. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  5129. {
  5130. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  5131. }
  5132. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  5133. {
  5134. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  5135. <span class="hl_c">/* Gombok lekezelése */</span>
  5136. <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_LEFT</span>)) <span class="hl_v">szog</span><span class="hl_o">--</span>;
  5137. <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_RIGHT</span>)) <span class="hl_v">szog</span><span class="hl_o">++</span>;
  5138. <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">&lt;</span> <span class="hl_n">0</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">359</span>;
  5139. <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">&gt;</span> <span class="hl_n">359</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;
  5140. <span class="hl_c">/* Ágyú elsütése */</span>
  5141. <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_SPACE</span>)) {
  5142. <span class="hl_k">if</span>(<span class="hl_o">!</span><span class="hl_v">elsutve</span>) {
  5143. <span class="hl_v">elsutve</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;
  5144. <span class="hl_v">dx</span><span class="hl_h">[<span class="hl_n">0</span>]</span> <span class="hl_o">=</span> <span class="hl_f">cos</span>(<span class="hl_v">szog</span>);
  5145. <span class="hl_v">dy</span><span class="hl_h">[<span class="hl_n">0</span>]</span> <span class="hl_o">=</span> <span class="hl_f">sin</span>(<span class="hl_v">szog</span>);
  5146. <span class="hl_v">x</span><span class="hl_h">[<span class="hl_n">0</span>]</span> <span class="hl_o">=</span> <span class="hl_n">160</span> <span class="hl_o">+</span> <span class="hl_v">dx</span><span class="hl_h">[<span class="hl_n">0</span>]</span> <span class="hl_o">*</span> <span class="hl_n">9</span>;
  5147. <span class="hl_v">y</span><span class="hl_h">[<span class="hl_n">0</span>]</span> <span class="hl_o">=</span> <span class="hl_n">100</span> <span class="hl_o">+</span> <span class="hl_v">dy</span><span class="hl_h">[<span class="hl_n">0</span>]</span> <span class="hl_o">*</span> <span class="hl_n">9</span>;
  5148. }
  5149. } <span class="hl_k">else</span>
  5150. <span class="hl_v">elsutve</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;
  5151. <span class="hl_c">/* Lövedék mozgatása */</span>
  5152. <span class="hl_v">x</span><span class="hl_h">[<span class="hl_n">0</span>]</span> <span class="hl_o">+=</span> <span class="hl_v">dx</span><span class="hl_h">[<span class="hl_n">0</span>]</span>;
  5153. <span class="hl_v">y</span><span class="hl_h">[<span class="hl_n">0</span>]</span> <span class="hl_o">+=</span> <span class="hl_v">dy</span><span class="hl_h">[<span class="hl_n">0</span>]</span>;
  5154. <span class="hl_k">if</span>(<span class="hl_v">x</span><span class="hl_h">[<span class="hl_n">0</span>]</span> <span class="hl_o">&lt;</span> <span class="hl_n">0</span> <span class="hl_o">||</span> <span class="hl_v">x</span><span class="hl_h">[<span class="hl_n">0</span>]</span> <span class="hl_o">&gt;=</span> <span class="hl_n">320</span> <span class="hl_o">||</span> <span class="hl_v">y</span><span class="hl_h">[<span class="hl_n">0</span>]</span> <span class="hl_o">&lt;</span> <span class="hl_n">0</span> <span class="hl_o">||</span> <span class="hl_v">y</span><span class="hl_h">[<span class="hl_n">0</span>]</span> <span class="hl_o">&gt;=</span> <span class="hl_n">200</span>)
  5155. <span class="hl_v">dx</span><span class="hl_h">[<span class="hl_n">0</span>]</span> <span class="hl_o">=</span> <span class="hl_v">dy</span><span class="hl_h">[<span class="hl_n">0</span>]</span> <span class="hl_o">=</span> <span class="hl_n">0.0</span>;
  5156. <span class="hl_c">/* Kirajzolás */</span>
  5157. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  5158. <span class="hl_f">pset</span>(<span class="hl_n">8</span>, <span class="hl_v">x</span><span class="hl_h">[<span class="hl_n">0</span>]</span>, <span class="hl_v">y</span><span class="hl_h">[<span class="hl_n">0</span>]</span>);
  5159. <span class="hl_f">line</span>(<span class="hl_n">23</span>, <span class="hl_n">160</span>, <span class="hl_n">100</span>, <span class="hl_n">160</span> <span class="hl_o">+</span> <span class="hl_f">cos</span>(<span class="hl_v">szog</span>)<span class="hl_o">*</span><span class="hl_n">10</span>, <span class="hl_n">100</span> <span class="hl_o">+</span> <span class="hl_f">sin</span>(<span class="hl_v">szog</span>)<span class="hl_o">*</span><span class="hl_n">10</span>);
  5160. }</code></div>
  5161. <p>Próbáljuk ki! Ha nem rontottuk el, akkor pontosan ugyanúgy fog futni, mint ezidáig.</p>
  5162. <p>Hogy továbblépjünk, be kell hoznunk a ciklusokat, amik végigmennek az elemeken. Első nekifutásra alakítsuk át a léptetést és a
  5163. kirajzolást.</p>
  5164. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br>22<br>23<br>24<br>25<br>26<br>27<br>28<br>29<br>30<br>31<br>32<br>33<br>34<br>35<br>36<br>37<br>38<br>39<br>40<br>41<br>42<br>43<br>44<br>45<br>46<br></pre><code><span class="hl_c">#!c</span>
  5165. <span class="hl_p">#define N 1</span>
  5166. <span class="hl_t">float</span> <span class="hl_v">x</span>[<span class="hl_v">N</span>], <span class="hl_v">y</span>[<span class="hl_v">N</span>], <span class="hl_v">dx</span>[<span class="hl_v">N</span>], <span class="hl_v">dy</span>[<span class="hl_v">N</span>];
  5167. <span class="hl_t">int</span> <span class="hl_v">szog</span>, <span class="hl_v">elsutve</span>;
  5168. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  5169. {
  5170. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  5171. }
  5172. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  5173. {
  5174. <span class="hl_t">int</span> <span class="hl_v">i</span>;
  5175. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  5176. <span class="hl_c">/* Gombok lekezelése */</span>
  5177. <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_LEFT</span>)) <span class="hl_v">szog</span><span class="hl_o">--</span>;
  5178. <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_RIGHT</span>)) <span class="hl_v">szog</span><span class="hl_o">++</span>;
  5179. <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">&lt;</span> <span class="hl_n">0</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">359</span>;
  5180. <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">&gt;</span> <span class="hl_n">359</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;
  5181. <span class="hl_c">/* Ágyú elsütése */</span>
  5182. <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_SPACE</span>)) {
  5183. <span class="hl_k">if</span>(<span class="hl_o">!</span><span class="hl_v">elsutve</span>) {
  5184. <span class="hl_v">elsutve</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;
  5185. <span class="hl_v">dx</span>[<span class="hl_n">0</span>] <span class="hl_o">=</span> <span class="hl_f">cos</span>(<span class="hl_v">szog</span>);
  5186. <span class="hl_v">dy</span>[<span class="hl_n">0</span>] <span class="hl_o">=</span> <span class="hl_f">sin</span>(<span class="hl_v">szog</span>);
  5187. <span class="hl_v">x</span>[<span class="hl_n">0</span>] <span class="hl_o">=</span> <span class="hl_n">160</span> <span class="hl_o">+</span> <span class="hl_v">dx</span>[<span class="hl_n">0</span>] <span class="hl_o">*</span> <span class="hl_n">9</span>;
  5188. <span class="hl_v">y</span>[<span class="hl_n">0</span>] <span class="hl_o">=</span> <span class="hl_n">100</span> <span class="hl_o">+</span> <span class="hl_v">dy</span>[<span class="hl_n">0</span>] <span class="hl_o">*</span> <span class="hl_n">9</span>;
  5189. }
  5190. } <span class="hl_k">else</span>
  5191. <span class="hl_v">elsutve</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;
  5192. <span class="hl_c">/* Lövedékek mozgatása */</span>
  5193. <span class="hl_h hl_b"> <span class="hl_k">for</span>(<span class="hl_v">i</span> <span class="hl_o">=</span> <span class="hl_n">0</span>; <span class="hl_v">i</span> <span class="hl_o">&lt;</span> <span class="hl_v">N</span>; <span class="hl_v">i</span><span class="hl_o">++</span>) {</span> <span class="hl_v">x</span>[<span class="hl_h"><span class="hl_v">i</span></span>] <span class="hl_o">+=</span> <span class="hl_v">dx</span>[<span class="hl_h"><span class="hl_v">i</span></span>];
  5194. <span class="hl_v">y</span>[<span class="hl_h"><span class="hl_v">i</span></span>] <span class="hl_o">+=</span> <span class="hl_v">dy</span>[<span class="hl_h"><span class="hl_v">i</span></span>];
  5195. <span class="hl_k">if</span>(<span class="hl_v">x</span>[<span class="hl_h"><span class="hl_v">i</span></span>] <span class="hl_o">&lt;</span> <span class="hl_n">0</span> <span class="hl_o">||</span> <span class="hl_v">x</span>[<span class="hl_h"><span class="hl_v">i</span></span>] <span class="hl_o">&gt;=</span> <span class="hl_n">320</span> <span class="hl_o">||</span> <span class="hl_v">y</span>[<span class="hl_h"><span class="hl_v">i</span></span>] <span class="hl_o">&lt;</span> <span class="hl_n">0</span> <span class="hl_o">||</span> <span class="hl_v">y</span>[<span class="hl_h"><span class="hl_v">i</span></span>] <span class="hl_o">&gt;=</span> <span class="hl_n">200</span>)
  5196. <span class="hl_v">dx</span>[<span class="hl_h"><span class="hl_v">i</span></span>] <span class="hl_o">=</span> <span class="hl_v">dy</span>[<span class="hl_h"><span class="hl_v">i</span></span>] <span class="hl_o">=</span> <span class="hl_n">0.0</span>;
  5197. <span class="hl_h hl_b"> }</span> <span class="hl_c">/* Kirajzolás */</span>
  5198. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  5199. <span class="hl_h hl_b"> <span class="hl_k">for</span>(<span class="hl_v">i</span> <span class="hl_o">=</span> <span class="hl_n">0</span>; <span class="hl_v">i</span> <span class="hl_o">&lt;</span> <span class="hl_v">N</span>; <span class="hl_v">i</span><span class="hl_o">++</span>)</span> <span class="hl_f">pset</span>(<span class="hl_n">8</span>, <span class="hl_v">x</span>[<span class="hl_h"><span class="hl_v">i</span></span>], <span class="hl_v">y</span>[<span class="hl_h"><span class="hl_v">i</span></span>]);
  5200. <span class="hl_f">line</span>(<span class="hl_n">23</span>, <span class="hl_n">160</span>, <span class="hl_n">100</span>, <span class="hl_n">160</span> <span class="hl_o">+</span> <span class="hl_f">cos</span>(<span class="hl_v">szog</span>)<span class="hl_o">*</span><span class="hl_n">10</span>, <span class="hl_n">100</span> <span class="hl_o">+</span> <span class="hl_f">sin</span>(<span class="hl_v">szog</span>)<span class="hl_o">*</span><span class="hl_n">10</span>);
  5201. }</code></div>
  5202. <p>Amint látható, nem változtattunk sokat, csak a kifejezések köré raktunk egy ciklust, a konstans <samp>0</samp> indexet meg lecseréltük az <samp>i</samp>
  5203. ciklusváltozóra. Ezáltal minden egyes ciklus ismétlődésnél a ciklusmag pontosan egy lövedéket fog léptetni. Hasonlóan jártunk el
  5204. a kirajzolásnál is, ott is egy lövedéket rajzolunk ki minden iterációban.</p>
  5205. <p>De lőnünk is kell tudni az ágyúval. Ez kicsit trükkösebb, mert itt keresnünk kell egy változó négyest, ami nincs használatban. És
  5206. ha találtunk, akkor meg kell állnunk, mert egyszerre csak egy lövedék változóit akarjuk állítani.</p>
  5207. <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21<br>22<br>23<br>24<br>25<br>26<br>27<br>28<br>29<br>30<br>31<br>32<br>33<br>34<br>35<br>36<br>37<br>38<br>39<br>40<br>41<br>42<br>43<br>44<br>45<br>46<br>47<br>48<br>49<br>50<br></pre><code><span class="hl_c">#!c</span>
  5208. <span class="hl_p">#define N 1</span>
  5209. <span class="hl_t">float</span> <span class="hl_v">x</span>[<span class="hl_v">N</span>], <span class="hl_v">y</span>[<span class="hl_v">N</span>], <span class="hl_v">dx</span>[<span class="hl_v">N</span>], <span class="hl_v">dy</span>[<span class="hl_v">N</span>];
  5210. <span class="hl_t">int</span> <span class="hl_v">szog</span>, <span class="hl_v">elsutve</span>;
  5211. <span class="hl_t">void</span> <span class="hl_f">setup</span>()
  5212. {
  5213. <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
  5214. }
  5215. <span class="hl_t">void</span> <span class="hl_f">loop</span>()
  5216. {
  5217. <span class="hl_t">int</span> <span class="hl_v">i</span>;
  5218. <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
  5219. <span class="hl_c">/* Gombok lekezelése */</span>
  5220. <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_LEFT</span>)) <span class="hl_v">szog</span><span class="hl_o">--</span>;
  5221. <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_RIGHT</span>)) <span class="hl_v">szog</span><span class="hl_o">++</span>;
  5222. <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">&lt;</span> <span class="hl_n">0</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">359</span>;
  5223. <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">&gt;</span> <span class="hl_n">359</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;
  5224. <span class="hl_c">/* Ágyú elsütése */</span>
  5225. <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_SPACE</span>)) {
  5226. <span class="hl_k">if</span>(<span class="hl_o">!</span><span class="hl_v">elsutve</span>) {
  5227. <span class="hl_v">elsutve</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;
  5228. <span class="hl_h hl_b"> <span class="hl_k">for</span>(<span class="hl_v">i</span> <span class="hl_o">=</span> <span class="hl_n">0</span>; <span class="hl_v">i</span> <span class="hl_o">&lt;</span> <span class="hl_v">N</span>; <span class="hl_v">i</span><span class="hl_o">++</span>)
  5229. <span class="hl_k">if</span>(<span class="hl_v">dx</span>[<span class="hl_v">i</span>] <span class="hl_o">==</span> <span class="hl_n">0.0</span> <span class="hl_o">&amp;&amp;</span> <span class="hl_v">dy</span>[<span class="hl_v">i</span>] <span class="hl_o">==</span> <span class="hl_n">0.0</span>) {</span> <span class="hl_v">dx</span>[<span class="hl_h"><span class="hl_v">i</span></span>] <span class="hl_o">=</span> <span class="hl_f">cos</span>(<span class="hl_v">szog</span>);
  5230. <span class="hl_v">dy</span>[<span class="hl_h"><span class="hl_v">i</span></span>] <span class="hl_o">=</span> <span class="hl_f">sin</span>(<span class="hl_v">szog</span>);
  5231. <span class="hl_v">x</span>[<span class="hl_h"><span class="hl_v">i</span></span>] <span class="hl_o">=</span> <span class="hl_n">160</span> <span class="hl_o">+</span> <span class="hl_v">dx</span>[<span class="hl_h"><span class="hl_v">i</span></span>] <span class="hl_o">*</span> <span class="hl_n">9</span>;
  5232. <span class="hl_v">y</span>[<span class="hl_h"><span class="hl_v">i</span></span>] <span class="hl_o">=</span> <span class="hl_n">100</span> <span class="hl_o">+</span> <span class="hl_v">dy</span>[<span class="hl_h"><span class="hl_v">i</span></span>] <span class="hl_o">*</span> <span class="hl_n">9</span>;
  5233. <span class="hl_h hl_b"> <span class="hl_k">break</span>;
  5234. }</span> }
  5235. } <span class="hl_k">else</span>
  5236. <span class="hl_v">elsutve</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;
  5237. <span class="hl_c">/* Lövedékek mozgatása */</span>
  5238. <span class="hl_k">for</span>(<span class="hl_v">i</span> <span class="hl_o">=</span> <span class="hl_n">0</span>; <span class="hl_v">i</span> <span class="hl_o">&lt;</span> <span class="hl_v">N</span>; <span class="hl_v">i</span><span class="hl_o">++</span>) {
  5239. <span class="hl_v">x</span>[<span class="hl_v">i</span>] <span class="hl_o">+=</span> <span class="hl_v">dx</span>[<span class="hl_v">i</span>];
  5240. <span class="hl_v">y</span>[<span class="hl_v">i</span>] <span class="hl_o">+=</span> <span class="hl_v">dy</span>[<span class="hl_v">i</span>];
  5241. <span class="hl_k">if</span>(<span class="hl_v">x</span>[<span class="hl_v">i</span>] <span class="hl_o">&lt;</span> <span class="hl_n">0</span> <span class="hl_o">||</span> <span class="hl_v">x</span>[<span class="hl_v">i</span>] <span class="hl_o">&gt;=</span> <span class="hl_n">320</span> <span class="hl_o">||</span> <span class="hl_v">y</span>[<span class="hl_v">i</span>] <span class="hl_o">&lt;</span> <span class="hl_n">0</span> <span class="hl_o">||</span> <span class="hl_v">y</span>[<span class="hl_v">i</span>] <span class="hl_o">&gt;=</span> <span class="hl_n">200</span>)
  5242. <span class="hl_v">dx</span>[<span class="hl_v">i</span>] <span class="hl_o">=</span> <span class="hl_v">dy</span>[<span class="hl_v">i</span>] <span class="hl_o">=</span> <span class="hl_n">0.0</span>;
  5243. }
  5244. <span class="hl_c">/* Kirajzolás */</span>
  5245. <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
  5246. <span class="hl_k">for</span>(<span class="hl_v">i</span> <span class="hl_o">=</span> <span class="hl_n">0</span>; <span class="hl_v">i</span> <span class="hl_o">&lt;</span> <span class="hl_v">N</span>; <span class="hl_v">i</span><span class="hl_o">++</span>)
  5247. <span class="hl_f">pset</span>(<span class="hl_n">8</span>, <span class="hl_v">x</span>[<span class="hl_v">i</span>], <span class="hl_v">y</span>[<span class="hl_v">i</span>]);
  5248. <span class="hl_f">line</span>(<span class="hl_n">23</span>, <span class="hl_n">160</span>, <span class="hl_n">100</span>, <span class="hl_n">160</span> <span class="hl_o">+</span> <span class="hl_f">cos</span>(<span class="hl_v">szog</span>)<span class="hl_o">*</span><span class="hl_n">10</span>, <span class="hl_n">100</span> <span class="hl_o">+</span> <span class="hl_f">sin</span>(<span class="hl_v">szog</span>)<span class="hl_o">*</span><span class="hl_n">10</span>);
  5249. }</code></div>
  5250. <p>Ez a ciklus egy feltételes blokkot tartalmaz, ami azt nézi, hogy az adott lövedék elmozdulása nulla-e. Amennyiben igen, úgy
  5251. találtunk egy szabad lövedék változó négyest <samp>i</samp>-nél, amit használhatunk. Elvégezzük a korábbi beállításokat ezen az <samp>i</samp>-edik
  5252. négyesen, aztán a <samp>break</samp> kulcsszóval megszakítjuk a ciklus további futását.</p>
  5253. <p>Futtassuk le! Még mindig semmi változás, pontosan ugyanúgy működik, mint eddig. De hogy rávilágítsunk, miért is dolgoztunk a
  5254. tömbösítéssel ilyen keményen, változtassunk meg csak egyetlen egy dolgot:</p>
  5255. <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_p">#define N 100</span></code></div>
  5256. <p>És láss csodát!</p>
  5257. <p>Ha lecseréljük az ágyú fix 160-as és 100-as koordinátáit újabb x, y és dx, dy változókra, akkor képesek leszünk mozgatni, és
  5258. máris van egy Asteroids űrhajónk!</p><br style="clear:both;"><label class="btn prev" accesskey="p" for="_setalo" title="Sétáló">Előző</label><label class="btn next" accesskey="n" for="_hangeffekt" title="Hangeffekt">Következő</label></div>
  5259. <div class="page" rel="hangeffekt"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Példák&nbsp;»</li><li>&nbsp;Hangeffekt</li></ul><hr></div>
  5260. <h1 id="hangeffekt">Hangeffekt<a href="#hangeffekt"></a></h1>
  5261. <p>Ebben az oktatóanyagban előkészítünk és beimportálunk egy hangeffektet. Ehhez az Audacity programot fogjuk használni, de bármelyik másik hullámszerkesztő is megfelel a célra.</p>
  5262. <h2 id="hullam_betoltese">Hullám betöltése<a href="#hullam_betoltese"></a></h2>
  5263. <p>Először is, töltsük be a hanghullám fájlt az Audacity-be.</p>
  5264. <div class="imgc"><img class="imgc" width="695" height="562" alt="tut_snd1.png" src="data:image/png;base64,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"></div><span class="fig">Hanghullám megnyitása Audacity-ben</span>
  5265. <p>Egyből látjuk, hogy két hullám is van, ami azt jelenti, hogy a mintánk sztereó. A MEG-4 csak mono mintákat kezel, ezért
  5266. válasszuk a <samp>Tracks</samp> &gt; <samp>Mix</samp> &gt; <samp>Mix Stereo Down to Mono</samp> menüpontot a konvertáláshoz. Ha eleve csak egy hullámod van, akkor ez a lépés kihagyható.</p>
  5267. <h2 id="hangmagassag_es_hangero">Hangmagasság és hangerő<a href="#hangmagassag_es_hangero"></a></h2>
  5268. <p>Mivel a MEG-4 magától hangolja a mintákat, ezért az importált mintának egy adott hangmagasságúnak kell lennie. Valamiért a hangmagasságérzékelés bugos az Audacity-ben,
  5269. ezért kézzel kell elvégezni. Üsd le a <kbd>Ctrl</kbd>+<kbd>A</kbd>-t a teljes hullám kijelöléséhez, majd menj az <samp>Analyze</samp> &gt; <samp>Plot Spectrum...</samp> menüpontra.</p>
  5270. <div class="imgc"><img class="imgc" width="586" height="508" alt="tut_snd2.png" src="data:image/png;base64,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"></div><span class="fig">Spektrumanalízis</span>
  5271. <p>Mozgasd az egeredet a legnagyobb csúcs fölé, és az aktuális hangmagasság alul meg fog jelenni (a példánkban ez <samp>C3</samp>). Ha a hangjegy nem <samp>C4</samp>, akkor válaszd az <samp>Effect</samp> &gt;
  5272. <samp>Pitch and Tempo</samp> &gt; <samp>Change Pitch...</samp> menüpontot.</p>
  5273. <div class="imgc"><img class="imgc" width="375" height="371" alt="tut_snd3.png" src="data:image/png;base64,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"></div><span class="fig">Hangmagasság állítása</span>
  5274. <p>A "from" mezőbe írd azt a hangjegyet amit a spektrumanalízisnél láttál, a "to" mezőt pedig állítsd a C-4 hangra, majd kattints az "Apply" gombra.</p>
  5275. <div class="imgc"><img class="imgc" width="379" height="209" alt="tut_snd4.png" src="data:image/png;base64,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"></div><span class="fig">Hangerő állítása</span>
  5276. <p>A következő a hangerő normalizálása. Menj az <samp>Effect</samp> &gt; <samp>Volume and Compression</samp> &gt; <samp>Amplify...</samp> menüpontra. A felugró ablakban kattints az "Apply" gombra
  5277. (minden beállítást helyesen detektál, nem kell állítani semmit).</p>
  5278. <h2 id="mintak_szama">Minták száma<a href="#mintak_szama"></a></h2>
  5279. <p>A MEG-4 nem kezel több, mint 16376 mintát egy hullámban. Ha eleve ennél kevesebb mintából áll a hullámod, akkor ez a lépés kihagyható.</p>
  5280. <p>A hullámminta képe alatt láthatod a kijelölést századmásodpercekben, kattints itt az "s"-re, és váltsd át "samples"-re.</p>
  5281. <div class="imgc"><img class="imgc" width="622" height="59" alt="tut_snd5.png" src="data:image/png;base64,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"></div><span class="fig">Mértékegység megváltoztatása</span>
  5282. <p>A példánkban ez több, mint a megengedett maximum. A minták száma úgy számítódik, hogy a mintavételezési ráta értéket megszorozzuk a hullámunk időtartamával. Szóval
  5283. hogy csökkentsük a mintaszámot, vagy csökkentjük a rátát, vagy lecsapunk a hullámunk végéből. Ebben az oktatóanyagban mindkettőt megtesszük.</p>
  5284. <p>Kijelöltem mindent mondjuk úgy 1.0 után, majd a <kbd>Del</kbd> leütésével töröltem. Ez működik, viszont a hullám vége hirtelen vágódik el és csúnya hangja lesz. Hogy ezt
  5285. kiigazítsuk, jelöljünk ki a hullám végéből egy valamekkora darabot, majd válasszuk az <samp>Effect</samp> &gt; <samp>Fading</samp> &gt; <samp>Fade Out</samp> menüpontot. Ennek hatására a hullám vége szépen elhalkul.</p>
  5286. <div class="imgc"><img class="imgc" width="695" height="385" alt="tut_snd6.png" src="data:image/png;base64,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"></div><span class="fig">Hullám levágása és a vég elhalkítása</span>
  5287. <p>A hullámunk még mindig túl hosszú (44380 minta), de többet már nem lehet levágni belőle annélkül, hogy elrontanánk. Itt jön képbe a mintavételezési ráta. Az Audacity korábbi
  5288. verzióiban ez kényelmesen alul az eszköztáron látszott, mint "Project Rate (Hz)". De többé már nem, az újabb Audacity-nél ez sokkal macerásabb lett. Először is kattintsunk
  5289. az <samp>Audio Setup</samp> gombra az eszköztáron, majd válasszuk ki a <samp>Audio Settings...</samp>-et. A felugró ablakban keressük meg a "Quality" / "Project Sample Rate" sort, és mellette állítsuk
  5290. az opciólistát "Other..."-re, hogy a tényleges mező szerkeszthetővé váljon.</p>
  5291. <div class="warn"><p><span>FIGYELEM</span></p><p> Bizonyosodj meg róla, hogy jó számot adsz meg! Az Audacity nem képes visszavonni ezt a lépést, ezért nem próbálkozhatsz újra!</p></div>
  5292. <p>Ide egy olyan számot kell beírni, ami 16376 osztva a hullámunk időtartamával (1.01 másodperc a példánkban), majd kattintsunk az "OK"-ra.</p>
  5293. <div class="imgc"><img class="imgc" width="694" height="338" alt="tut_snd7.png" src="data:image/png;base64,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"></div><span class="fig">Mintaszám csökkentése</span>
  5294. <p>Jelöljünk ki az egész hullámmintát (<kbd>Ctrl</kbd>+<kbd>A</kbd> leütésével), és alul a kijelölés végénél az kell látnunk, hogy az kevesebb, mint 16376.</p>
  5295. <h2 id="elmentes_es_beimportalas">Elmentés és beimportálás<a href="#elmentes_es_beimportalas"></a></h2>
  5296. <p>Végezetül, mentsd el a módosított hullámmintát, válaszd a <samp>File</samp> &gt; <samp>Export</samp> &gt; <samp>Export as WAV</samp> menüpontot. Győzödj meg róla, hogy a kódolás (Encoding)
  5297. "Unsigned 8-bit PCM"-re van állítva. Fájlnévnek <samp>dspXX.wav</samp>-t adj meg, ahol az <samp>XX</samp> egy hexa szám, <samp>01</samp> és <samp>1F</samp> között, az a MEG-4 hullámhely, ahová be szeretnéd importálni
  5298. (használhatsz más nevet is, ekkor a legelső szabad helyre fog betöltődni).</p>
  5299. <div class="imgc"><img class="imgc" width="640" height="400" alt="tut_snd8.png" src="data:image/png;base64,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"></div><span class="fig">A beimportált hullámminta</span>
  5300. <p>Amint megvan a fájl, egyszerűen csak húzd rá a MEG-4 ablakára és kész is.</p><br style="clear:both;"><label class="btn prev" accesskey="p" for="_agyu" title="Ágyú">Előző</label><label class="btn next" accesskey="n" for="_kalandjatek" title="Kalandjáték">Következő</label></div>
  5301. <div class="page" rel="kalandjatek"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Példák&nbsp;»</li><li>&nbsp;Kalandjáték</li></ul><hr></div>
  5302. <h1 id="kalandjatek">Kalandjáték<a href="#kalandjatek"></a></h1>
  5303. <p>Az <a href="https://gitlab.com/bztsrc/meg4_advgame" target="new">advcomp</a> fordítóval lehet <b>AdvGame JSON</b> forrásfájlokat MEG-4 Kalandjátékokká
  5304. konvertálni. Ezek klasszikus szöveges játékok (hívják őket Interaktív Fikciónak is), ahol a játékos mondatokat gépel be a játékban
  5305. történő haladáshoz. Ezeket a mondatokat aztán igére és főnev(ek)re bontja, amikre keres. Ha talál szkriptet az aktuális ige és
  5306. főnév kombinációhoz, akkor azt lefuttatja.</p>
  5307. <div class="info"><p><span>MEGJEGYZÉS</span></p><p> Az <samp>advcomp</samp> fordító képes kattintós felületű kalandjátékokat is fordítani pontosan ugyanazokból a JSON fájlokból. Habár a MEG-4
  5308. be tudja tölteni ezeket is, de közben sima szöveges kalandjátékká konvertálja őket, a point'n'click játékmód csak az <samp>advgame</samp>
  5309. programmal elérhető.</p></div>
  5310. <p>Korlátok:</p>
  5311. <ul><li>igék: 32 különböző akció, egyenként 15 bájt, 8 szinonímával (max. 1536 bájt összesen)</li>
  5312. <li>főnevek: 255 különböző tárgy, egyenként 15 bájt (max. 1536 bájt összesen)</li>
  5313. <li>üzenetek: 32 különböző sztring szobánként, egyenként 255 bájt (max. 2048 bájt nyelvenként)</li>
  5314. <li>szkriptek: 1 globális, 63 közös minden szobában, és 63 különböző szobánként</li>
  5315. <li>utasítások: 21 mnemonik 8 kondícióval, elágazásmentes kivitelezés, 61 utasítás szkriptenként</li>
  5316. <li>képek: alapból 1 szobánként, de használható egyéni implementáció</li>
  5317. <li>szobák: 254 összesen, melyek 6 különböző irányban összeköthetőek</li></ul>
  5318. <h2 id="jatek_allapot">Játék állapot<a href="#jatek_allapot"></a></h2>
  5319. <p>A kalandjáték aktuális állapota egy 256 elemű bájttömben tárolódik. A legelső bájt az aktuális szoba száma, az utolsó 32 bájt
  5320. a leltárnak van fenntartva, a többi szabadon felhasználható. Ezek lehetnek jelzőbitek, számlálók, bármi. A <a href="#szkriptek" onclick="c('szkriptek')">szkriptek</a> ezen a
  5321. 256 bájtnyi memórián végeznek műveleteket és ez az állapot elmenthető és visszatölthető játékmentésként.</p>
  5322. <h2 id="felso_szint">Felső szint<a href="#felso_szint"></a></h2>
  5323. <p>A forrásfájl legfelső szintjén lennie kell egy <samp>&quot;AdvGame&quot;</samp> JSON struktúrának, ami egyben a fájl azonosítója is. A mezői:</p>
  5324. <ul><li><samp>sprites</samp>: sztring, 256 x 256 pixeles PNG szprájtlap elérési útja, a felső 32 sora üres</li>
  5325. <li><samp>music</samp>: sztringtömb, Amiga MOD (.mod) vagy MIDI (.mid) zenefájlok elérési útjai (8 elemű)</li>
  5326. <li><samp>sounds</samp>: sztringtömb, RIFF WAVE (.wav) formátumú fájlok elérési útjai (31 elemű)</li>
  5327. <li><samp>setup</samp>: számtömb, a játék induló állapota (256 elemű, mind 0 és 255 közötti, az első szám az induló szoba)</li>
  5328. <li><samp>status</samp>: számtömb, melyik játékállapotokat írja ki a státusz (2 elemig, többért lásd <samp>custom</samp>)</li>
  5329. <li><samp>vars</samp>: sztringtömb, a állapot indexek aliaszai, ún. "változók" (csak a JSON-ben használt)</li>
  5330. <li><samp>rooms</samp>: sztringtömb, a szobaszámok aliaszai (csak a JSON-ben használt)</li>
  5331. <li><samp>verbs</samp>: sztringtömb, a <samp>verb1</samp>, <samp>verb2</samp>, <samp>verb3</samp> stb. aliaszai (csak a JSON-ben használt)</li>
  5332. <li><samp>nouns</samp>: sztringtömb, a főnevek aliaszai (csak a JSON-ben használt)</li>
  5333. <li><samp>colors</samp>: 5 elemű számtömb, intró háttér- és betű-, szoba háttér- és betű-, valamint promptszín</li>
  5334. <li><samp>pos</samp>: szám, szöveg pozíciója pixelekben a képernyő tetejétől számítva</li>
  5335. <li><samp>custom</samp>: sztringtömb, plusz kusztom C kód a felhasználói felület megjelenítésére (első az intróé, a második a szobák kódja)</li>
  5336. <li><samp>logic</samp>: sztringtömb, általános játék logika szkript, ami mindig minden parancs előtt lefut</li>
  5337. <li><samp>config0</samp>: struktúra, fő játékkonfiguráció</li>
  5338. <li><samp>config1</samp>: struktúra, alternatív játékkonfiguráció (többnyelvűség támogatás)</li>
  5339. <li>szám/"rooms" aliasz: struktúra, szobadefiníciók.</li></ul>
  5340. <p>Alapesetben feltételezi, hogy a szprájtlap ketté van vágva: a felső 128 sor szobánként cserélődik, az alsó 128 sor állandó
  5341. (felhasználói felület elemei, ikonok stb. ez utóbbiak töltődnek be a <samp>sprites</samp>-ról). Ha a textpos be van állítva, akkor az intrónál
  5342. és a szobáknál is textpos (de legfeljebb 96) sor a szprájtlap 32. sorától kezdődően megjelenik a szöveg fölött a képernyőn. A
  5343. kusztom felület C kóddal pedig akármilyen és akármennyi szprájt kirakható e helyett.</p>
  5344. <h2 id="konfiguracio">Konfiguráció<a href="#konfiguracio"></a></h2>
  5345. <p>Van egy fő- és egy alternatív konfiguráció a többnyelvűség támogatásához. A mezőik:</p>
  5346. <ul><li><samp>lang</samp>: sztring, kétbetűs nyelvkkód</li>
  5347. <li><samp>text</samp>: sztring, intró szövege (429 bájtig)</li>
  5348. <li><samp>answers</samp>: 4 elemű sztringtömb, üzenetek (egyenként 63 bájtig): ismeretlen parancs, nem lehet arra menni, nem használható, játék elmentve.</li>
  5349. <li><samp>save</samp>: sztringtömb, játékmentés igéi (15 bájtig, 8 szinoníma)</li>
  5350. <li><samp>load</samp>: sztringtömb, játékbetöltés igéi</li>
  5351. <li><samp>list</samp>: sztringtömb, leltárlistázás igéi</li>
  5352. <li><samp>north</samp>: sztringtömb, északra navigálás igéi</li>
  5353. <li><samp>west</samp>: sztringtömb, nyugatra navigálás igéi</li>
  5354. <li><samp>east</samp>: sztringtömb, keletre navigálás igéi</li>
  5355. <li><samp>south</samp>: sztringtömb, délre navigálás igéi</li>
  5356. <li><samp>up</samp>: sztringtömb, emeletre navigálás igéi</li>
  5357. <li><samp>down</samp>: sztringtömb, alagsorba navigálás igéi</li>
  5358. <li><samp>verb1</samp>: sztringtömb, 1-es akció igéi (a kulcs lehet valamenyik "verbs" aliasz is)</li>
  5359. <li><samp>verb2</samp>: sztringtömb, 2-es akció igéi</li>
  5360. <li><samp>verb3</samp>: sztringtömb, 3-as akció igéi</li>
  5361. <li><samp>verb32</samp>: sztringtömb, 32-es akció igéi</li>
  5362. <li><samp>nouns</samp>: sztringtömb, tárgyak főnevei (255 sztringig)</li></ul>
  5363. <p>A parszolás során a három UNICODE karakternél rövidebb szavaknak teljes egészében, egyébként csak a szó elején kell egyeznie. Emiatt
  5364. ha például a <samp>verb1</samp>-nek <samp>[ &quot;kinyit&quot; ]</samp>, a <samp>nouns</samp>-nak meg <samp>[ &quot;lád&quot; ]</samp> van megadva, akkor fel fogja ismerni azt is, ha a játékos
  5365. <samp>kinyit láda</samp> vagy <samp>kinyitom a ládát</samp> parancsot gépeli be.</p>
  5366. <h2 id="szobak">Szobák<a href="#szobak"></a></h2>
  5367. <p>A szobák sorszáma 1 és 254 közötti lehet (a 0-ás szoba az intró illetve reset valamint nem járható irány navigációs parancsoknál,
  5368. a 255-ös meg a mentett játékállás helye). Egy szoba struktúra mezői:</p>
  5369. <ul><li><samp>image</samp>: sztring, egy PNG elérési útja, legfeljebb 256 x 96 pixeles</li>
  5370. <li><samp>text0</samp>: sztringtömb, a <samp>config0</samp>-hoz tartozó szövegek (32 sztringig, egyenként 255 bájt)</li>
  5371. <li><samp>text1</samp>: sztringtömb, a <samp>config1</samp>-hez tartozó szövegek</li>
  5372. <li><samp>north</samp>: szám / sztring / sztringtömb, északi irány szkript</li>
  5373. <li><samp>west</samp>: szám / sztring / sztringtömb, nyugati irány szkript</li>
  5374. <li><samp>east</samp>: szám / sztring / sztringtömb, keleti irány szkript</li>
  5375. <li><samp>south</samp>: szám / sztring / sztringtömb, déli irány szkript</li>
  5376. <li><samp>up</samp>: szám / sztring / sztringtömb, felfele irány szkript</li>
  5377. <li><samp>down</samp>: szám / sztring / sztringtömb, lefele irány szkript</li>
  5378. <li><samp>logic</samp>: szám / sztring / sztringtömb, a szobába lépéskor automatikusan lefutó szkript</li>
  5379. <li><samp>verbX</samp>: szám / sztring / sztringtömb, önálló igés szkriptek (X értéke 1 és 32 közötti, vagy "verbs" aliasz)</li>
  5380. <li><samp>verbX Y</samp>: szám / sztring / sztringtömb, egy főnévvel rendelkező szkriptek (Y értéke 1 és 255 közötti, vagy "nouns" aliasz)</li>
  5381. <li><samp>verbX Y Z</samp>: szám / sztring / sztringtömb, két főnévvel rendelkező szkriptek (Y, Z értéke 1 és 255 közötti, vagy "nouns" aliasz)</li></ul>
  5382. <p>A szövegek 255 bájtosak lehetnek, és minden szobának saját 32 szövege lehet, melyeket a <samp>say</samp> / <samp>sayv</samp> / <samp>sayc</samp> utasításokkal
  5383. lehet kiiratni.</p>
  5384. <p>Az 1-es számú szoba szkriptjei speciálisak abból a szempontból, hogy minden más szobában is elérhetőek. Emiatt ide érdemes egy
  5385. "Vége a játéknak" szobát rakni, aminek a logikája csak egy <samp>jmp 0</samp>-ás resetet tartalmaz, így nincs benne további parancsbekérés.</p>
  5386. <h2 id="szkriptek">Szkriptek<a href="#szkriptek"></a></h2>
  5387. <p>Bármelyik navigációs vagy igés parancs utánni JSON érték lehet egy nem nulla szám, ami egy szobaszám:</p>
  5388. <div class="pre"><pre>
  5389. &quot;north&quot;: 12,
  5390. </pre></div>
  5391. <p>Vagy lehet sztring, ami egy "rooms" aliasz:</p>
  5392. <div class="pre"><pre>
  5393. &quot;north&quot;: &quot;padlás&quot;,
  5394. </pre></div>
  5395. <p>De ha egy sztringtömb, akkor az egy utasításokat tartalmazó szkript:</p>
  5396. <div class="pre"><pre>
  5397. &quot;north&quot;: [ &quot;jmp 12&quot; ],
  5398. </pre></div>
  5399. <p>Ezek befolyásolják a játék állapotát, szöveget jelenítenek meg, stb. Az utasítások paraméterei számok, de a megfelelő helyeken
  5400. "rooms", "vars", stb. aliaszok használhatók.</p>
  5401. <p>A rendelkezésre álló utasítások:</p>
  5402. <ul><li><samp>end</samp>: szkript vége</li>
  5403. <li><samp>and</samp>: az utótagja a következő utasítás feltételéhez adódik logikai ÉS kapcsolattal</li>
  5404. <li><samp>or</samp>: az utótagja a következő utasítás feltételéhez adódik logikai VAGY kapcsolattal</li>
  5405. <li><samp>bgm X</samp>: háttérzene lejátszása (X értéke 0 és 7 közötti)</li>
  5406. <li><samp>sfx X</samp>: hangeffekt lejátszása (X értéke 0 és 63 közötti)</li>
  5407. <li><samp>jmp X</samp>: X szobába lép (X értéke 0 és 254 közötti)</li>
  5408. <li><samp>jmpv (X)</samp>: mint a <samp>jmp</samp>, de a szobát az X változóból veszi</li>
  5409. <li><samp>call X</samp>: meghívja az 1-es szoba X szkriptjét (X értéke 1 és 64 közötti)</li>
  5410. <li><samp>callv (X)</samp>: mint a <samp>call</samp>, de a szkript számát az X változóból veszi</li>
  5411. <li><samp>give X</samp>: hozzáadja az X főnevet a leltárhoz (X értéke 1 és 254 közötti)</li>
  5412. <li><samp>take X</samp>: kiveszi az X főnevet a leltárból</li>
  5413. <li><samp>say X</samp>: az X szöveg megjelenítése (X értéke 1 és 32 közötti)</li>
  5414. <li><samp>sayv (X) Y</samp>: az X változó értéke + Y szöveg megjelenítése</li>
  5415. <li><samp>sayc X Y</samp>: vagy az X (hamis), vagy az Y (igaz) szöveg megjelenítése kondíciótól függően</li>
  5416. <li><samp>add (X) Y</samp>: az X változó növelése Y-al (X és Y értéke 1 és 255 közötti)</li>
  5417. <li><samp>addv (X) (Y)</samp>: az X változó növelése Y változó értékével</li>
  5418. <li><samp>sub (X) Y</samp>: az X változó csökkentése Y-al (X és Y értéke 1 és 255 közötti)</li>
  5419. <li><samp>subv (X) (Y)</samp>: az X változó csökkentése Y változó értékével</li>
  5420. <li><samp>set (X) Y</samp>: az X változó értékét Y-ra állítja (Y értéke 0 és 255 közötti)</li>
  5421. <li><samp>rnd (X) Y</samp>: mint a <samp>set</samp>, de egy 0 és Y közötti véletlenszámot rak X-be</li>
  5422. <li><samp>mov (X) (Y)</samp>: az Y változó értékét X változóba másolja</li></ul>
  5423. <p>Ezek az utasítások mind elláthatók a következő utótagok egyikével:</p>
  5424. <ul><li>nincs utótag: feltétel nélkül végrehajtódik</li>
  5425. <li><samp>if (V) = N</samp>: csak ha a V változó értéke N</li>
  5426. <li><samp>if (V) != N</samp>: csak ha a V változó értéke nem N</li>
  5427. <li><samp>if (V) &lt;= N</samp>: csak ha a V változó értéke kissebb vagy egyenlő, mint N</li>
  5428. <li><samp>if (V) &lt; N</samp>: csak ha a V változó értéke kissebb, mint N</li>
  5429. <li><samp>if (V) &gt; N</samp>: csak ha a V változó értéke nagyobb, mint N</li>
  5430. <li><samp>has N</samp>: csak ha az N főnév a leltárban van</li>
  5431. <li><samp>not N</samp>: csak ha az N főnév nincs a leltárban</li></ul>
  5432. <p>Különleges eset, ha a <samp>(V)</samp> 250 vagy nagyobb, ilyenkor az adott navigációs irányt használja: 250 (vagy <samp>north</samp>, észak), 251 (vagy
  5433. <samp>west</samp>, nyugat), 252 (vagy <samp>east</samp>, kelet), 253 (vagy <samp>south</samp>, dél), 254 (vagy <samp>up</samp>, fel), 255 (vagy <samp>down</samp>, le). Ha például azt a
  5434. feltételt szeretnénk, hogy északra járható-e a szoba, az <samp>if north != 0</samp>. Ezek az állapotindexek a leltár bitmaszkját tárolják,
  5435. amit a <samp>has</samp> illetve <samp>not</samp> feltételekkel kell elérni, így nincs ütközés.</p>
  5436. <p>A 0-ás szobára ugrás vár egy billentyűleütésre, majd újraindítja a játékot és a 0-ás helyett a megadott induló szobára ugrik (ez
  5437. csak kifejezetten <samp>jmp</samp> utasításnak adható meg, mert a 0 szám nem használható, mint cél szobaszám).</p>
  5438. <p>Alapesetben egy szobaösszeköttetéshez szobaszámot (vagy "rooms" aliaszt) adunk meg, de ez feltétel nélkül átengedi a játékost az
  5439. egyik szobából a másikba. Például ha van egy "kulcs felvéve" jelző a 7-es állapotban, és a 11-es szobában pedig van egy ajtó az
  5440. északi irányban a 12-es szoba felé, és azt akarjuk, hogy csak akkor legyen járható, ha a játékos rendelkezik a kulccsal, akkor
  5441. szkriptelt navigációra van szükség.</p>
  5442. <div class="pre"><pre>
  5443. &quot;11&quot;: {
  5444. &quot;text0&quot;: [ &quot;Az ajtó zárva.&quot; ],
  5445. &quot;north&quot;: [ &quot;jmp 12 if (7) = 1&quot;, &quot;say 1&quot; ]
  5446. }
  5447. </pre></div>
  5448. <p>Ilyenkor a <samp>north</samp> mezőben szám helyett egy sztringtömben a <samp>jmp 12 if (7) = 1</samp> utasítást adjuk meg. Ez csak abban az esetben
  5449. ugrik a 12-es szobába, ha a 7-es állapot értéke 1, egyébként marad a 11-esben. Ilyenkor mondhatjuk azt is, hogy "Az ajtó zárva"
  5450. a <samp>say 1</samp> utasítással (ha korábban a 12-es szobára ugrottunk, akkor ez már nem hajtódik végre). A szobaszám helyett használható
  5451. "rooms" aliasz, az állapot index (változó) helyén pedig "vars" aliasz, például <samp>jmp padlás if kulcs = 1</samp>. Bonyolultabb összefüggés
  5452. is megadható az <samp>and</samp> / <samp>or</samp> utasításokkal, amennyiben a befolyásolandó utasítás <i>elé</i> tesszük őket. Például hogy csak éjjel
  5453. lehessen átmenni, és csak ha lámpája is van a játékosnak, az <samp>[ &quot;and if éjjel = 1&quot;, &quot;and has lámpa&quot;, &quot;jmp padlás if kulcs = 1&quot; ]</samp>.</p>
  5454. <p>Egy másik példa, ami véletlenszerűen ugrik a 100 és 109 közötti szoba valamelyikére:</p>
  5455. <div class="pre"><pre>
  5456. [ &quot;rnd (1) 10&quot;, /* 0 és 9 közötti véletlenszám az 1-es állapotba */
  5457. &quot;add (1) 100&quot;, /* hozzáadunk 100-at így az most 100 és 109 közötti */
  5458. &quot;jmpv (1)&quot; ] /* az állapotban tárolt szobaszámra ugrás */
  5459. </pre></div>
  5460. <p>A kiírás is jöhet változóból, például ha a halál okát a 9-es állapotban tároljuk, ami 0 és 2 közötti, akkor:</p>
  5461. <div class="pre"><pre>
  5462. &quot;text0&quot;: [
  5463. &quot;Meghaltál, ennek oka:&quot;, /* 1-es szöveg */
  5464. &quot;megfulladtál&quot;, /* 2-es szöveg */
  5465. &quot;éhenhaltál&quot;, /* 3-as szöveg */
  5466. &quot;bedarált a hegyirém&quot; /* 4-es szöveg */
  5467. ],
  5468. &quot;logic&quot;: [ &quot;say 1&quot;, &quot;sayv (9) 2&quot; ]
  5469. </pre></div>
  5470. <p>Itt a <samp>say</samp> előbb kiírja az 1-es szöveget, majd a <samp>sayv</samp> veszi a 9-es állapot értékét, hozzáad 2-őt, és az annyadik szöveget írja
  5471. ki a 2-es és 4-es közötti szövegek közül.</p>
  5472. <p>Ugyancsak hasznos a feltételes szövegkiírás, ami a kondíciótól függően vagy egy hamis, vagy egy igaz szöveget ír ki. Például:</p>
  5473. <div class="pre"><pre>
  5474. &quot;text0&quot;: [
  5475. &quot;Nincs nálad kulcs.&quot;, /* 1-es szöveg */
  5476. &quot;Kinyitottad a ládát.&quot; /* 2-es szöveg */
  5477. ],
  5478. &quot;nyit láda&quot;: [ &quot;sayc 1 2 has kulcs&quot;, &quot;set (10) 1 has kulcs&quot; ]
  5479. </pre></div>
  5480. <p>Amennyiben a játékosnál nincs kulcs, úgy a <samp>sayc</samp> az 1-es, ha van, akkor meg a 2-es szöveget írja ki. Aztán beállítunk egy "láda
  5481. nyitva" jelzőt a <samp>set</samp>-el, de csak akkor, ha volt kulcs a játékosnál. (Hogy a parancs így megadható legyen, ahhoz kell egy <samp>nyit</samp>
  5482. "verbs" aliasz és egy <samp>láda</samp> "nouns" aliasz is. Mégegyszer, az aliaszok csak a JSON-ben használatosak és függetlenek a lefordítható
  5483. szavaktól, amit a játékosok a játék közben gépelnek be.)</p>
  5484. <h2 id="minta_jatekok">Minta játékok<a href="#minta_jatekok"></a></h2>
  5485. <p>Minta MEG-4 Kalandjátékok a <a href="https://gitlab.com/bztsrc/meg4_advgame" target="new">meg4_advgame</a> repóban találhatók.</p><br style="clear:both;"><label class="btn prev" accesskey="p" for="_hangeffekt" title="Hangeffekt">Előző</label><label class="btn next" accesskey="n" for="_meg_4_licensz" title="MEG-4 Licensz">Következő</label></div>
  5486. <div class="page" rel="meg_4_licensz"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Függelék&nbsp;»</li><li>&nbsp;MEG-4 Licensz</li></ul><hr></div>
  5487. <h1 id="meg_4_licensz">MEG-4 Licensz<a href="#meg_4_licensz"></a></h1>
  5488. <p><img class="imgr" width="127" height="51" alt="gplv3.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH8AAAAzAgMAAADDST+XAAAADFBMVEUAAAC8AAC9AAC+AADyLdeuAAAAAXRSTlMAQObYZgAAAn5JREFUOMt9lbtuU0EQhidrcQQrZCGq4OooitDRiooOV34EiqShSovFQwymsUzjIAWJisUyaL2JIosiRZQiT0PhhwDmsru248tK5+Ld7+zM/DM7Btg33C/Yvx5vkB4m7hg/vwKc7QO+9QCOCbBrs5Plq6fFww3gPL/cRnaj2QB+5xfntwODYooDgJquzpwjYt56Gz8lwAaJlKcdo5YpQ0DawYuLAPIxXJy+rfDR6YlBlwGrFgwKQB9YWgsMoKwHF0kfgIqpuAZAiiXQC1lmILQScLUELM0w8EoA0hq70Ke5ewL6aoF31CAUcLAggLd1BKDoEcBiBr4vxJEMVCQk5+KFRBIknbQ2z0Bw4kgPFgL4KgHeJcD3BUgysHz0ETvStBRQsa6S0qsA3Sh3l7aUA1/tub3893cVCN1kQQGSaEqhSPIV8Ko2z4wVCNAqihCAxQKgAuSB51h9O3KOJOwZVUdKpgLsmOhvQpuBqSEjClACpmuABDFnI5JMKQcF5pJB71LVoZTssl5ophPjvcG4FeDY+dYzkNZzthcrO9ANLZSDZUq2ve0V4HE+qwBPoNRLRwwzJXqnXDUKZEdEfYu1yS6qCyZmRxQYe5NdVBeMnuQyxmhyKt4AbGkfHg9ysqcKiIYzE/1ITzWC1mOyAIZbyiJM4g+to2uUqhTHZVQfz+rGTl8iwrBunnV47z9YwuO4nmM9irYZNE/v6omNuQfqoaHnaDJ8bb+cN5+PAY8GrgAug6MBeju2ZnRohkdYgANfuultnKkWN/F6FjPgkgXoPmyfPQ0uLPvxg4HrG2wAs7FscFU6+kaHPuHZPu4GLjB1zV2jiu/fhb1/I+34YeXXfzyvR6xFYz9TAAAAAElFTkSuQmCC">A <b>MEG-4</b> Fantasy Konzol Szabad és Nyílt Forráskódú szoftver, ami <a href="https://gitlab.com/bztsrc/meg4/blob/main/LICENSE" target="new">GPLv3+</a>
  5489. (vagy tetszés szerint ennek bármelyik újabb verziója) alatt kerül terjesztésre.</p>
  5490. <div class="pre"><pre>
  5491. Ez a program szabad szoftver; terjeszthető illetve módosítható a Free Software
  5492. Fundation által kiadott GNU General Public License dokumentumban leírtak;
  5493. akár a licensz 3-as, akár (tetszőleges) későbbi változata szerint.
  5494. Ez a program abban a reményben kerül közreadásra, hogy hasznos lesz, de minden
  5495. egyéb GARANCIA NÉLKÜL, az ELADHATÓSÁGRA vagy BÁRMELY CÉLÚ ALKALMAZHATÓSÁGRA
  5496. való garanciát is beleértve. További részleteket a GNU General Public License
  5497. tartalmaz.
  5498. A felhasználónak a programmal együtt meg kell kapnia a GNU General Public
  5499. License egy példányát; ha mégsem kapta meg, akkor írjon erre a címre:
  5500. Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  5501. </pre></div>
  5502. <p>A <b>MEG-4 PRO</b> Fantasy Konzol zárt kereskedelmi licenszű. A GPL-es változat funkcionalitásán túl képes a programodat önálló Web,
  5503. Windows és Linux alkalmazásként exportálni.</p><br style="clear:both;"><label class="btn prev" accesskey="p" for="_kalandjatek" title="Kalandjáték">Előző</label><label class="btn next" accesskey="n" for="_hivatkozasok" title="Hivatkozások">Következő</label></div>
  5504. <div class="page" rel="hivatkozasok"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label>&nbsp;»</li><li>&nbsp;Függelék&nbsp;»</li><li>&nbsp;Hivatkozások</li></ul><hr></div>
  5505. <h1 id="hivatkozasok">Hivatkozások<a href="#hivatkozasok"></a></h1>
  5506. <p>A MEG-4 megalkotásához felhasznált anyagok</p>
  5507. <ul><li><a href="https://github.com/rombankzero/pocketmod" target="new">pocketmod</a></li>
  5508. <li><a href="https://github.com/nothings/stb" target="new">stb_image</a></li>
  5509. <li><a href="http://members.chello.at/%7Eeasyfilter/Bresenham.pdf" target="new">Bresenham</a></li>
  5510. <li><a href="https://lodev.org/cgtutor/raycasting.html" target="new">raycasting</a></li>
  5511. <li><a href="https://bellard.org/TinyGL" target="new">TinyGL</a></li>
  5512. <li><a href="https://www.lua.org" target="new">Lua</a></li>
  5513. <li><a href="https://pixeljoint.com/forum/forum_posts.asp?TID=16247" target="new">DawnBringer32</a></li>
  5514. <li><a href="https://pkware.cachefly.net/webdocs/APPNOTE/APPNOTE-6.3.10.TXT" target="new">ZIP formátum</a></li>
  5515. <li><a href="http://libpng.org/pub/png/spec/1.2/PNG-Contents.html" target="new">PNG formátum</a></li>
  5516. <li><a href="https://www.gamers.org/dEngine/quake3/TGA.txt" target="new">TGA formátum</a></li>
  5517. <li><a href="https://doc.mapeditor.org/en/stable/reference/tmx-map-format/" target="new">TMX formátum</a></li>
  5518. <li><a href="https://www.x.org/docs/BDF/bdf.pdf" target="new">BDF formátum</a></li>
  5519. <li><a href="https://www.aes.id.au/modformat.html" target="new">MOD formátum</a></li>
  5520. <li><a href="https://www.cs.cmu.edu/~music/cmsip/readings/Standard-MIDI-file-format-updated.pdf" target="new">MIDI formátum</a></li>
  5521. <li><a href="https://pico-8.fandom.com/wiki/P8FileFormat" target="new">PICO-8 formátum</a></li>
  5522. <li><a href="https://github.com/nesbox/TIC-80/wiki/.tic-File-Format" target="new">TIC-80 formátum</a></li></ul><br style="clear:both;"><label class="btn prev" accesskey="p" for="_meg_4_licensz" title="MEG-4 Licensz">Előző</label></div>
  5523. <footer><hr><p>© Copyright 2023 bzt (bztsrc@gitlab)<br><small>Generated by <a href="https://gitlab.com/bztsrc/gendoc">gendoc</a> v1.0.0</small></p></footer>
  5524. </div>
  5525. </div>
  5526. <script>function m(){document.getElementById("menuchk").checked=false;}function c(s){var r=document.getElementById(s);if(r!=undefined){if(r.tagName=="INPUT")r.checked=true;else document.getElementById("_"+r.parentNode.getAttribute("rel")).checked=true;}m();}function s(s){var r=document.getElementById("_s"),p=document.getElementById("_m").getElementsByClassName("page"),n,i,j,a,b,c,d;if(s){s=s.toLowerCase();document.getElementById("_t").style.display="none";r.style.display="block";while(r.firstChild)r.removeChild(r.firstChild);n=document.createElement("p");n.appendChild(document.createTextNode("Találatok"));r.appendChild(n);for(i=1;i<p.length;i++){a=p[i].getAttribute("rel");b="";c=p[i].childNodes;d=p[i].getElementsByTagName("H1")[0].innerText;for(j=1;j<c.length && c[j].className!="btn prev";j++){if(c[j].id!=undefined&&c[j].id!=""){a=c[j].id;d=c[j].innerText;}else if(a!=b&&c[j].innerText!=undefined&&c[j].innerText.toLowerCase().indexOf(s)!=-1){b=a;n=document.createElement("a");n.appendChild(document.createTextNode(d));n.setAttribute("href","#"+a);n.setAttribute("onclick","c('"+a+"');");r.appendChild(n);}}}}else{document.getElementById("_t").style.display="block";r.style.display="none";}}document.addEventListener("DOMContentLoaded",function(e){var i,r,n;document.getElementById("_q").style.display="inline-block";if(document.location.href.indexOf("?")!=-1)document.location.href=document.location.href.replace("?","#");else{r=document.querySelectorAll("LABEL:not(.menu)");while(r.length){l=r[0].getAttribute("for").substr(1);n=document.createElement("a");n.appendChild(document.createTextNode(r[0].innerText));n.setAttribute("href","#"+l);n.setAttribute("onclick","c('"+(l!=""?l:"_")+"');");if(r[0].getAttribute("class")!=undefined)n.setAttribute("class",r[0].getAttribute("class"));if(r[0].getAttribute("title")!=undefined&&l!="")n.setAttribute("title",r[0].getAttribute("title"));if(r[0].getAttribute("accesskey")!=undefined)n.setAttribute("accesskey",r[0].getAttribute("accesskey"));r[0].parentNode.replaceChild(n,r[0]);r=document.querySelectorAll("LABEL:not(.menu)");}try{c(document.location.href.split("#")[1]);}catch(e){}}});</script>
  5527. </body>
  5528. </html>