1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632 |
- <!DOCTYPE html>
- <html lang="hu">
- <head>
- <meta charset="utf-8">
- <meta name="generator" content="gendoc 1.0.0: https://gitlab.com/bztsrc/gendoc">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>MEG-4 Kézikönyv</title>
- <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>
- <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>
- </head>
- <body>
- <div class="frame content">
- <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">
- <input type="checkbox" id="menuchk" style="display:none;"><nav class="side nav"><div>
- <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>
- <div id="_t" class="nav">
- <p>Alapok</p>
- <ul>
- <li rel="inditas"><label class="toc" for="_inditas">Indítás</label><div class="current">Indítás</div><ul>
- <li class="h2"><a href="#bongeszodben" onclick="m()">Böngésződben</a></li>
- <li class="h2"><a href="#telepites" onclick="m()">Telepítés</a></li>
- <li class="h3"><a href="#windows" onclick="m()">Windows</a></li>
- <li class="h3"><a href="#linux" onclick="m()">Linux</a></li>
- <li class="h2"><a href="#futtatas" onclick="m()">Futtatás</a></li>
- <li class="h3"><a href="#parancssori_opciok" onclick="m()">Parancssori opciók</a></li>
- </ul></li>
- <li rel="fajlformatumok"><label class="toc" for="_fajlformatumok">Fájlformátumok</label><div class="current">Fájlformátumok</div><ul>
- <li class="h2"><a href="#flopik" onclick="m()">Flopik</a></li>
- <li class="h2"><a href="#projektformatum" onclick="m()">Projektformátum</a></li>
- <li class="h3"><a href="#metainfo_txt" onclick="m()">metainfo.txt</a></li>
- <li class="h3"><a href="#program_x" onclick="m()">program.X</a></li>
- <li class="h3"><a href="#sprites_png" onclick="m()">sprites.png</a></li>
- <li class="h3"><a href="#map_tmx" onclick="m()">map.tmx</a></li>
- <li class="h3"><a href="#font_bdf" onclick="m()">font.bdf</a></li>
- <li class="h3"><a href="#sounds_mod" onclick="m()">sounds.mod</a></li>
- <li class="h3"><a href="#musicxx_mod" onclick="m()">musicXX.mod</a></li>
- <li class="h3"><a href="#memxx_txt" onclick="m()">memXX.txt</a></li>
- <li class="h2"><a href="#egyeb_formatumok" onclick="m()">Egyéb formátumok</a></li>
- </ul></li>
- <li rel="felhasznaloi_bemenetek"><label class="toc" for="_felhasznaloi_bemenetek">Felhasználói bemenetek</label><div class="current">Felhasználói bemenetek</div><ul>
- <li class="h2"><a href="#ui_gp" onclick="m()">Játékpad</a></li>
- <li class="h2"><a href="#ui_ptr" onclick="m()">Mutató</a></li>
- <li class="h2"><a href="#ui_kbd" onclick="m()">Billentyűzet</a></li>
- <li class="h3"><a href="#unicode_kodpont_beviteli_mod" onclick="m()">UNICODE Kódpont beviteli mód</a></li>
- <li class="h3"><a href="#kompozit_mod" onclick="m()">Kompozit mód</a></li>
- <li class="h3"><a href="#ikon_mod" onclick="m()">Ikon mód</a></li>
- <li class="h3"><a href="#katakana_es_hiragana_mod" onclick="m()">Katakana és Hiragana mód</a></li>
- <li class="h3"><a href="#cirill_mod" onclick="m()">Cirill mód</a></li>
- <li class="h3"><a href="#gorog_mod" onclick="m()">Görög mód</a></li>
- </ul></li>
- <li rel="interfesz"><label class="toc" for="_interfesz">Interfész</label><div class="current">Interfész</div><ul>
- <li class="h2"><a href="#jatekkepernyo" onclick="m()">Játékképernyő</a></li>
- <li class="h2"><a href="#szerkeszto_kepernyok" onclick="m()">Szerkesztő képernyők</a></li>
- <li class="h2"><a href="#sugo_oldalak" onclick="m()">Súgó oldalak</a></li>
- </ul></li>
- </ul>
- <p>Szerkesztők</p>
- <ul>
- <li rel="kod_szerkeszto"><label class="toc" for="_kod_szerkeszto">Kód Szerkesztő</label><div class="current">Kód Szerkesztő</div><ul>
- <li class="h2"><a href="#programozasi_nyelv" onclick="m()">Programozási nyelv</a></li>
- <li class="h2"><a href="#felhasznaloi_funkciok" onclick="m()">Felhasználói funkciók</a></li>
- <li class="h2"><a href="#plusz_billentyukombok" onclick="m()">Plusz billentyűkombók</a></li>
- </ul></li>
- <li rel="szprajt_szerkeszto"><label class="toc" for="_szprajt_szerkeszto">Szprájt Szerkesztő</label><div class="current">Szprájt Szerkesztő</div><ul>
- <li class="h2"><a href="#spr_edit" onclick="m()">Szprájt Szerkesztő Mező</a></li>
- <li class="h2"><a href="#spr_sprs" onclick="m()">Szprájtválasztó</a></li>
- <li class="h2"><a href="#spr_pal" onclick="m()">Paletta</a></li>
- <li class="h2"><a href="#spr_tools" onclick="m()">Eszköztár</a></li>
- <li class="h2"><a href="#spr_sel" onclick="m()">Kijelölések</a></li>
- </ul></li>
- <li rel="terkep_szerkeszto"><label class="toc" for="_terkep_szerkeszto">Térkép Szerkesztő</label><div class="current">Térkép Szerkesztő</div><ul>
- <li class="h2"><a href="#map_box" onclick="m()">Térkép Szerkesztő Mező</a></li>
- <li class="h2"><a href="#map_tools" onclick="m()">Eszköztár</a></li>
- <li class="h2"><a href="#map_sprs" onclick="m()">Szprájtpaletta</a></li>
- <li class="h2"><a href="#wang_csempek" onclick="m()">Wang csempék</a></li>
- <li class="h2"><a href="#3d_s_utveszto" onclick="m()">3D-s útvesztő</a></li>
- </ul></li>
- <li rel="betu_szerkeszto"><label class="toc" for="_betu_szerkeszto">Betű Szerkesztő</label><div class="current">Betű Szerkesztő</div><ul>
- <li class="h2"><a href="#glifszerkeszto" onclick="m()">Glifszerkesztő</a></li>
- <li class="h2"><a href="#glifvalaszto" onclick="m()">Glifválasztó</a></li>
- <li class="h2"><a href="#font_tools" onclick="m()">Eszköztár</a></li>
- </ul></li>
- <li rel="hangeffektek"><label class="toc" for="_hangeffektek">Hangeffektek</label><div class="current">Hangeffektek</div><ul>
- <li class="h2"><a href="#effektvalaszto" onclick="m()">Effektválasztó</a></li>
- <li class="h2"><a href="#effektszerkeszto" onclick="m()">Effektszerkesztő</a></li>
- <li class="h2"><a href="#sfx_tools" onclick="m()">Hanghullám eszköztár</a></li>
- </ul></li>
- <li rel="zenesavok"><label class="toc" for="_zenesavok">Zenesávok</label><div class="current">Zenesávok</div><ul>
- <li class="h2"><a href="#savok" onclick="m()">Sávok</a></li>
- <li class="h2"><a href="#csatornak" onclick="m()">Csatornák</a></li>
- <li class="h2"><a href="#hangjegyszerkeszto" onclick="m()">Hangjegyszerkesztő</a></li>
- <li class="h3"><a href="#mus_kbd" onclick="m()">Billentyűzet</a></li>
- <li class="h2"><a href="#general_midi" onclick="m()">General MIDI</a></li>
- <li class="h3"><a href="#hangszerek" onclick="m()">Hangszerek</a></li>
- <li class="h3"><a href="#kottak" onclick="m()">Kották</a></li>
- <li class="h3"><a href="#tempo" onclick="m()">Tempó</a></li>
- </ul></li>
- <li rel="memoriaatfedok"><label class="toc" for="_memoriaatfedok">Memóriaátfedők</label><div class="current">Memóriaátfedők</div><ul>
- <li class="h2"><a href="#atfedovalaszto" onclick="m()">Átfedőválasztó</a></li>
- <li class="h2"><a href="#atfedo_tartalma" onclick="m()">Átfedő tartalma</a></li>
- <li class="h2"><a href="#atfedo_menu" onclick="m()">Átfedő menü</a></li>
- </ul></li>
- <li rel="vizualis_szerkeszto"><label class="toc" for="_vizualis_szerkeszto">Vizuális Szerkesztő</label><div class="current">Vizuális Szerkesztő</div><ul>
- </ul></li>
- <li rel="debuggolo"><label class="toc" for="_debuggolo">Debuggoló</label><div class="current">Debuggoló</div><ul>
- <li class="h2"><a href="#kodnezet" onclick="m()">Kódnézet</a></li>
- <li class="h2"><a href="#adatnezet" onclick="m()">Adatnézet</a></li>
- <li class="h2"><a href="#regiszterek" onclick="m()">Regiszterek</a></li>
- </ul></li>
- </ul>
- <p>Programozás</p>
- <ul>
- <li rel="c"><label class="toc" for="_c">C</label><div class="current">C</div><ul>
- <li class="h2"><a href="#ex_c" onclick="m()">Példa program</a></li>
- <li class="h2"><a href="#leiras" onclick="m()">Leírás</a></li>
- <li class="h2"><a href="#elofordito" onclick="m()">Előfordító</a></li>
- <li class="h2"><a href="#c_lit" onclick="m()">Literálok</a></li>
- <li class="h2"><a href="#c_var" onclick="m()">Változók</a></li>
- <li class="h2"><a href="#c_arr" onclick="m()">Tömbök és mutatók</a></li>
- <li class="h2"><a href="#c_op" onclick="m()">Műveletek</a></li>
- <li class="h2"><a href="#c_flow" onclick="m()">Vezérlésirányítás</a></li>
- <li class="h2"><a href="#c_funcs" onclick="m()">Függvények</a></li>
- <li class="h2"><a href="#c_api" onclick="m()">Elérhető függvények</a></li>
- </ul></li>
- <li rel="basic"><label class="toc" for="_basic">BASIC</label><div class="current">BASIC</div><ul>
- <li class="h2"><a href="#ex_bas" onclick="m()">Példa program</a></li>
- <li class="h2"><a href="#dialektus" onclick="m()">Dialektus</a></li>
- <li class="h2"><a href="#bas_lit" onclick="m()">Literálok</a></li>
- <li class="h2"><a href="#bas_var" onclick="m()">Változók</a></li>
- <li class="h2"><a href="#bas_arr" onclick="m()">Tömbök</a></li>
- <li class="h2"><a href="#bas_op" onclick="m()">Műveletek</a></li>
- <li class="h2"><a href="#bas_flow" onclick="m()">Vezérlésirányítás</a></li>
- <li class="h2"><a href="#bas_funcs" onclick="m()">Alrutinok és függvények</a></li>
- <li class="h2"><a href="#bas_print" onclick="m()">Print utasítás</a></li>
- <li class="h2"><a href="#bas_input" onclick="m()">Input utasítás</a></li>
- <li class="h2"><a href="#bas_spec" onclick="m()">Peek és Poke</a></li>
- <li class="h2"><a href="#bas_api" onclick="m()">Elérhető függvények</a></li>
- </ul></li>
- <li rel="assembly"><label class="toc" for="_assembly">Assembly</label><div class="current">Assembly</div><ul>
- <li class="h2"><a href="#ex_asm" onclick="m()">Példa program</a></li>
- <li class="h2"><a href="#asm_desc" onclick="m()">Leírás</a></li>
- <li class="h2"><a href="#asm_lit" onclick="m()">Literálok</a></li>
- <li class="h2"><a href="#asm_var" onclick="m()">Változók</a></li>
- <li class="h2"><a href="#asm_flow" onclick="m()">Vezérlésirányítás</a></li>
- <li class="h2"><a href="#asm_func" onclick="m()">Függvények</a></li>
- <li class="h2"><a href="#asm_api" onclick="m()">Elérhető függvények</a></li>
- <li class="h2"><a href="#mnemonikok" onclick="m()">Mnemonikok</a></li>
- </ul></li>
- <li rel="lua"><label class="toc" for="_lua">Lua</label><div class="current">Lua</div><ul>
- <li class="h2"><a href="#ex_lua" onclick="m()">Példa program</a></li>
- <li class="h2"><a href="#tovabbi_informaciok" onclick="m()">További információk</a></li>
- <li class="h2"><a href="#api_elteresek" onclick="m()">API Eltérések</a></li>
- </ul></li>
- </ul>
- <p>API Referencia</p>
- <ul>
- <li rel="memoriaterkep"><label class="toc" for="_memoriaterkep">Memóriatérkép</label><div class="current">Memóriatérkép</div><ul>
- <li class="h2"><a href="#altalanos" onclick="m()">Általános</a></li>
- <li class="h2"><a href="#mutato" onclick="m()">Mutató</a></li>
- <li class="h2"><a href="#billentyuzet" onclick="m()">Billentyűzet</a></li>
- <li class="h2"><a href="#jatekpad" onclick="m()">Játékpad</a></li>
- <li class="h2"><a href="#grafikus_feldolgozo_egyseg" onclick="m()">Grafikus Feldolgozó Egység</a></li>
- <li class="h2"><a href="#digitalis_szignalfeldolgozo_processzor" onclick="m()">Digitális Szignálfeldolgozó Processzor</a></li>
- <li class="h2"><a href="#hangjegyeffektek" onclick="m()">Hangjegyeffektek</a></li>
- <li class="h2"><a href="#felhasznaloi_memoria" onclick="m()">Felhasználói memória</a></li>
- <li class="h2"><a href="#formazo_sztring" onclick="m()">Formázó sztring</a></li>
- <li class="h2"><a href="#3d_s_ter" onclick="m()">3D-s Tér</a></li>
- <li class="h2"><a href="#kod_szerkeszto_gyorsbillentyuk" onclick="m()">Kód Szerkesztő gyorsbillentyűk</a></li>
- </ul></li>
- <li rel="konzol"><label class="toc" for="_konzol">Konzol</label><div class="current">Konzol</div><ul>
- <li class="h2"><a href="#putc" onclick="m()">putc</a></li>
- <li class="h2"><a href="#printf" onclick="m()">printf</a></li>
- <li class="h2"><a href="#getc" onclick="m()">getc</a></li>
- <li class="h2"><a href="#gets" onclick="m()">gets</a></li>
- <li class="h2"><a href="#trace" onclick="m()">trace</a></li>
- <li class="h2"><a href="#delay" onclick="m()">delay</a></li>
- <li class="h2"><a href="#exit" onclick="m()">exit</a></li>
- </ul></li>
- <li rel="audio"><label class="toc" for="_audio">Audió</label><div class="current">Audió</div><ul>
- <li class="h2"><a href="#sfx" onclick="m()">sfx</a></li>
- <li class="h2"><a href="#music" onclick="m()">music</a></li>
- </ul></li>
- <li rel="gpio"><label class="toc" for="_gpio">GPIO</label><div class="current">GPIO</div><ul>
- <li class="h2"><a href="#gpio_rev" onclick="m()">gpio_rev</a></li>
- <li class="h2"><a href="#gpio_get" onclick="m()">gpio_get</a></li>
- <li class="h2"><a href="#gpio_set" onclick="m()">gpio_set</a></li>
- </ul></li>
- <li rel="grafika"><label class="toc" for="_grafika">Grafika</label><div class="current">Grafika</div><ul>
- <li class="h2"><a href="#cls" onclick="m()">cls</a></li>
- <li class="h2"><a href="#cget" onclick="m()">cget</a></li>
- <li class="h2"><a href="#pget" onclick="m()">pget</a></li>
- <li class="h2"><a href="#pset" onclick="m()">pset</a></li>
- <li class="h2"><a href="#width" onclick="m()">width</a></li>
- <li class="h2"><a href="#text" onclick="m()">text</a></li>
- <li class="h2"><a href="#line" onclick="m()">line</a></li>
- <li class="h2"><a href="#qbez" onclick="m()">qbez</a></li>
- <li class="h2"><a href="#cbez" onclick="m()">cbez</a></li>
- <li class="h2"><a href="#tri" onclick="m()">tri</a></li>
- <li class="h2"><a href="#ftri" onclick="m()">ftri</a></li>
- <li class="h2"><a href="#tri2d" onclick="m()">tri2d</a></li>
- <li class="h2"><a href="#tri3d" onclick="m()">tri3d</a></li>
- <li class="h2"><a href="#tritx" onclick="m()">tritx</a></li>
- <li class="h2"><a href="#mesh" onclick="m()">mesh</a></li>
- <li class="h2"><a href="#rect" onclick="m()">rect</a></li>
- <li class="h2"><a href="#frect" onclick="m()">frect</a></li>
- <li class="h2"><a href="#circ" onclick="m()">circ</a></li>
- <li class="h2"><a href="#fcirc" onclick="m()">fcirc</a></li>
- <li class="h2"><a href="#ellip" onclick="m()">ellip</a></li>
- <li class="h2"><a href="#fellip" onclick="m()">fellip</a></li>
- <li class="h2"><a href="#move" onclick="m()">move</a></li>
- <li class="h2"><a href="#left" onclick="m()">left</a></li>
- <li class="h2"><a href="#right" onclick="m()">right</a></li>
- <li class="h2"><a href="#up" onclick="m()">up</a></li>
- <li class="h2"><a href="#down" onclick="m()">down</a></li>
- <li class="h2"><a href="#color" onclick="m()">color</a></li>
- <li class="h2"><a href="#forw" onclick="m()">forw</a></li>
- <li class="h2"><a href="#back" onclick="m()">back</a></li>
- <li class="h2"><a href="#spr" onclick="m()">spr</a></li>
- <li class="h2"><a href="#dlg" onclick="m()">dlg</a></li>
- <li class="h2"><a href="#stext" onclick="m()">stext</a></li>
- <li class="h2"><a href="#remap" onclick="m()">remap</a></li>
- <li class="h2"><a href="#mget" onclick="m()">mget</a></li>
- <li class="h2"><a href="#mset" onclick="m()">mset</a></li>
- <li class="h2"><a href="#map" onclick="m()">map</a></li>
- <li class="h2"><a href="#maze" onclick="m()">maze</a></li>
- </ul></li>
- <li rel="bemenet"><label class="toc" for="_bemenet">Bemenet</label><div class="current">Bemenet</div><ul>
- <li class="h2"><a href="#getpad" onclick="m()">getpad</a></li>
- <li class="h2"><a href="#prspad" onclick="m()">prspad</a></li>
- <li class="h2"><a href="#relpad" onclick="m()">relpad</a></li>
- <li class="h2"><a href="#getbtn" onclick="m()">getbtn</a></li>
- <li class="h2"><a href="#getclk" onclick="m()">getclk</a></li>
- <li class="h2"><a href="#getkey" onclick="m()">getkey</a></li>
- <li class="h2"><a href="#popkey" onclick="m()">popkey</a></li>
- <li class="h2"><a href="#pendkey" onclick="m()">pendkey</a></li>
- <li class="h2"><a href="#lenkey" onclick="m()">lenkey</a></li>
- <li class="h2"><a href="#speckey" onclick="m()">speckey</a></li>
- </ul></li>
- <li rel="matematika"><label class="toc" for="_matematika">Matematika</label><div class="current">Matematika</div><ul>
- <li class="h2"><a href="#rand" onclick="m()">rand</a></li>
- <li class="h2"><a href="#rnd" onclick="m()">rnd</a></li>
- <li class="h2"><a href="#float" onclick="m()">float</a></li>
- <li class="h2"><a href="#int" onclick="m()">int</a></li>
- <li class="h2"><a href="#floor" onclick="m()">floor</a></li>
- <li class="h2"><a href="#ceil" onclick="m()">ceil</a></li>
- <li class="h2"><a href="#sgn" onclick="m()">sgn</a></li>
- <li class="h2"><a href="#abs" onclick="m()">abs</a></li>
- <li class="h2"><a href="#exp" onclick="m()">exp</a></li>
- <li class="h2"><a href="#log" onclick="m()">log</a></li>
- <li class="h2"><a href="#pow" onclick="m()">pow</a></li>
- <li class="h2"><a href="#sqrt" onclick="m()">sqrt</a></li>
- <li class="h2"><a href="#rsqrt" onclick="m()">rsqrt</a></li>
- <li class="h2"><a href="#clamp" onclick="m()">clamp</a></li>
- <li class="h2"><a href="#lerp" onclick="m()">lerp</a></li>
- <li class="h2"><a href="#pi" onclick="m()">pi</a></li>
- <li class="h2"><a href="#cos" onclick="m()">cos</a></li>
- <li class="h2"><a href="#sin" onclick="m()">sin</a></li>
- <li class="h2"><a href="#tan" onclick="m()">tan</a></li>
- <li class="h2"><a href="#acos" onclick="m()">acos</a></li>
- <li class="h2"><a href="#asin" onclick="m()">asin</a></li>
- <li class="h2"><a href="#atan" onclick="m()">atan</a></li>
- <li class="h2"><a href="#atan2" onclick="m()">atan2</a></li>
- <li class="h2"><a href="#dotv2" onclick="m()">dotv2</a></li>
- <li class="h2"><a href="#lenv2" onclick="m()">lenv2</a></li>
- <li class="h2"><a href="#scalev2" onclick="m()">scalev2</a></li>
- <li class="h2"><a href="#negv2" onclick="m()">negv2</a></li>
- <li class="h2"><a href="#addv2" onclick="m()">addv2</a></li>
- <li class="h2"><a href="#subv2" onclick="m()">subv2</a></li>
- <li class="h2"><a href="#mulv2" onclick="m()">mulv2</a></li>
- <li class="h2"><a href="#divv2" onclick="m()">divv2</a></li>
- <li class="h2"><a href="#clampv2" onclick="m()">clampv2</a></li>
- <li class="h2"><a href="#lerpv2" onclick="m()">lerpv2</a></li>
- <li class="h2"><a href="#normv2" onclick="m()">normv2</a></li>
- <li class="h2"><a href="#dotv3" onclick="m()">dotv3</a></li>
- <li class="h2"><a href="#lenv3" onclick="m()">lenv3</a></li>
- <li class="h2"><a href="#scalev3" onclick="m()">scalev3</a></li>
- <li class="h2"><a href="#negv3" onclick="m()">negv3</a></li>
- <li class="h2"><a href="#addv3" onclick="m()">addv3</a></li>
- <li class="h2"><a href="#subv3" onclick="m()">subv3</a></li>
- <li class="h2"><a href="#mulv3" onclick="m()">mulv3</a></li>
- <li class="h2"><a href="#divv3" onclick="m()">divv3</a></li>
- <li class="h2"><a href="#crossv3" onclick="m()">crossv3</a></li>
- <li class="h2"><a href="#clampv3" onclick="m()">clampv3</a></li>
- <li class="h2"><a href="#lerpv3" onclick="m()">lerpv3</a></li>
- <li class="h2"><a href="#normv3" onclick="m()">normv3</a></li>
- <li class="h2"><a href="#dotv4" onclick="m()">dotv4</a></li>
- <li class="h2"><a href="#lenv4" onclick="m()">lenv4</a></li>
- <li class="h2"><a href="#scalev4" onclick="m()">scalev4</a></li>
- <li class="h2"><a href="#negv4" onclick="m()">negv4</a></li>
- <li class="h2"><a href="#addv4" onclick="m()">addv4</a></li>
- <li class="h2"><a href="#subv4" onclick="m()">subv4</a></li>
- <li class="h2"><a href="#mulv4" onclick="m()">mulv4</a></li>
- <li class="h2"><a href="#divv4" onclick="m()">divv4</a></li>
- <li class="h2"><a href="#clampv4" onclick="m()">clampv4</a></li>
- <li class="h2"><a href="#lerpv4" onclick="m()">lerpv4</a></li>
- <li class="h2"><a href="#normv4" onclick="m()">normv4</a></li>
- <li class="h2"><a href="#idq" onclick="m()">idq</a></li>
- <li class="h2"><a href="#eulerq" onclick="m()">eulerq</a></li>
- <li class="h2"><a href="#dotq" onclick="m()">dotq</a></li>
- <li class="h2"><a href="#lenq" onclick="m()">lenq</a></li>
- <li class="h2"><a href="#scaleq" onclick="m()">scaleq</a></li>
- <li class="h2"><a href="#negq" onclick="m()">negq</a></li>
- <li class="h2"><a href="#addq" onclick="m()">addq</a></li>
- <li class="h2"><a href="#subq" onclick="m()">subq</a></li>
- <li class="h2"><a href="#mulq" onclick="m()">mulq</a></li>
- <li class="h2"><a href="#rotq" onclick="m()">rotq</a></li>
- <li class="h2"><a href="#lerpq" onclick="m()">lerpq</a></li>
- <li class="h2"><a href="#slerpq" onclick="m()">slerpq</a></li>
- <li class="h2"><a href="#normq" onclick="m()">normq</a></li>
- <li class="h2"><a href="#idm4" onclick="m()">idm4</a></li>
- <li class="h2"><a href="#trsm4" onclick="m()">trsm4</a></li>
- <li class="h2"><a href="#detm4" onclick="m()">detm4</a></li>
- <li class="h2"><a href="#addm4" onclick="m()">addm4</a></li>
- <li class="h2"><a href="#subm4" onclick="m()">subm4</a></li>
- <li class="h2"><a href="#mulm4" onclick="m()">mulm4</a></li>
- <li class="h2"><a href="#mulm4v3" onclick="m()">mulm4v3</a></li>
- <li class="h2"><a href="#mulm4v4" onclick="m()">mulm4v4</a></li>
- <li class="h2"><a href="#invm4" onclick="m()">invm4</a></li>
- <li class="h2"><a href="#trpm4" onclick="m()">trpm4</a></li>
- <li class="h2"><a href="#trns" onclick="m()">trns</a></li>
- </ul></li>
- <li rel="memoria"><label class="toc" for="_memoria">Memória</label><div class="current">Memória</div><ul>
- <li class="h2"><a href="#inb" onclick="m()">inb</a></li>
- <li class="h2"><a href="#inw" onclick="m()">inw</a></li>
- <li class="h2"><a href="#ini" onclick="m()">ini</a></li>
- <li class="h2"><a href="#outb" onclick="m()">outb</a></li>
- <li class="h2"><a href="#outw" onclick="m()">outw</a></li>
- <li class="h2"><a href="#outi" onclick="m()">outi</a></li>
- <li class="h2"><a href="#memsave" onclick="m()">memsave</a></li>
- <li class="h2"><a href="#memload" onclick="m()">memload</a></li>
- <li class="h2"><a href="#memcpy" onclick="m()">memcpy</a></li>
- <li class="h2"><a href="#memset" onclick="m()">memset</a></li>
- <li class="h2"><a href="#memcmp" onclick="m()">memcmp</a></li>
- <li class="h2"><a href="#deflate" onclick="m()">deflate</a></li>
- <li class="h2"><a href="#inflate" onclick="m()">inflate</a></li>
- <li class="h2"><a href="#time" onclick="m()">time</a></li>
- <li class="h2"><a href="#now" onclick="m()">now</a></li>
- <li class="h2"><a href="#atoi" onclick="m()">atoi</a></li>
- <li class="h2"><a href="#itoa" onclick="m()">itoa</a></li>
- <li class="h2"><a href="#val" onclick="m()">val</a></li>
- <li class="h2"><a href="#str" onclick="m()">str</a></li>
- <li class="h2"><a href="#sprintf" onclick="m()">sprintf</a></li>
- <li class="h2"><a href="#strlen" onclick="m()">strlen</a></li>
- <li class="h2"><a href="#mblen" onclick="m()">mblen</a></li>
- <li class="h2"><a href="#malloc" onclick="m()">malloc</a></li>
- <li class="h2"><a href="#realloc" onclick="m()">realloc</a></li>
- <li class="h2"><a href="#free" onclick="m()">free</a></li>
- </ul></li>
- </ul>
- <p>Példák</p>
- <ul>
- <li rel="pattogo_labda"><label class="toc" for="_pattogo_labda">Pattogó labda</label><div class="current">Pattogó labda</div><ul>
- <li class="h2"><a href="#labda_megjelenitese" onclick="m()">Labda megjelenítése</a></li>
- <li class="h2"><a href="#labda_mozgatasa" onclick="m()">Labda mozgatása</a></li>
- <li class="h2"><a href="#labda_pattogas" onclick="m()">Labda pattogás</a></li>
- <li class="h2"><a href="#uto_hozzaadasa" onclick="m()">Ütő hozzáadása</a></li>
- <li class="h2"><a href="#jatek_vege" onclick="m()">Játék vége</a></li>
- <li class="h2"><a href="#ujrakezdes" onclick="m()">Újrakezdés</a></li>
- </ul></li>
- <li rel="setalo"><label class="toc" for="_setalo">Sétáló</label><div class="current">Sétáló</div><ul>
- <li class="h2"><a href="#szprajtlap_beszerzese" onclick="m()">Szprájtlap beszerzése</a></li>
- <li class="h2"><a href="#karakter_megjelenitese" onclick="m()">Karakter megjelenítése</a></li>
- <li class="h2"><a href="#iranyvaltoztatas" onclick="m()">Irányváltoztatás</a></li>
- <li class="h2"><a href="#animalas_hozzaadasa" onclick="m()">Animálás hozzáadása</a></li>
- </ul></li>
- <li rel="agyu"><label class="toc" for="_agyu">Ágyú</label><div class="current">Ágyú</div><ul>
- <li class="h2"><a href="#agyucso_kirajzolasa" onclick="m()">Ágyúcső kirajzolása</a></li>
- <li class="h2"><a href="#agyucso_forgatasa" onclick="m()">Ágyúcső forgatása</a></li>
- <li class="h2"><a href="#lovedek_hozzaadasa" onclick="m()">Lövedék hozzáadása</a></li>
- <li class="h2"><a href="#agyu_elsutese" onclick="m()">Ágyú elsütése</a></li>
- <li class="h2"><a href="#tobb_lovedek" onclick="m()">Több lövedék</a></li>
- </ul></li>
- <li rel="hangeffekt"><label class="toc" for="_hangeffekt">Hangeffekt</label><div class="current">Hangeffekt</div><ul>
- <li class="h2"><a href="#hullam_betoltese" onclick="m()">Hullám betöltése</a></li>
- <li class="h2"><a href="#hangmagassag_es_hangero" onclick="m()">Hangmagasság és hangerő</a></li>
- <li class="h2"><a href="#mintak_szama" onclick="m()">Minták száma</a></li>
- <li class="h2"><a href="#elmentes_es_beimportalas" onclick="m()">Elmentés és beimportálás</a></li>
- </ul></li>
- <li rel="kalandjatek"><label class="toc" for="_kalandjatek">Kalandjáték</label><div class="current">Kalandjáték</div><ul>
- <li class="h2"><a href="#jatek_allapot" onclick="m()">Játék állapot</a></li>
- <li class="h2"><a href="#felso_szint" onclick="m()">Felső szint</a></li>
- <li class="h2"><a href="#konfiguracio" onclick="m()">Konfiguráció</a></li>
- <li class="h2"><a href="#szobak" onclick="m()">Szobák</a></li>
- <li class="h2"><a href="#szkriptek" onclick="m()">Szkriptek</a></li>
- <li class="h2"><a href="#minta_jatekok" onclick="m()">Minta játékok</a></li>
- </ul></li>
- </ul>
- <p>Függelék</p>
- <ul>
- <li rel="meg_4_licensz"><label class="toc" for="_meg_4_licensz">MEG-4 Licensz</label><div class="current">MEG-4 Licensz</div><ul>
- </ul></li>
- <li rel="hivatkozasok"><label class="toc" for="_hivatkozasok">Hivatkozások</label><div class="current">Hivatkozások</div><ul>
- </ul>
- </div>
- </div></nav>
- <div id="_m">
- <nav class="mobile title">MEG-4 Kézikönyv<label for="menuchk" class="menu"></label></nav>
- <div class="page" rel="_">
- <h1>MEG-4 Felhasználói KéziKönyv</h1>
- <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>
- <div class="imgc"><img class="imgc" width="640" height="358" alt="console.png" src="data:image/png;base64,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"></div>
- <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.
- 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>
- <div class="page" rel="inditas"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Alapok »</li><li> Indítás</li></ul><hr></div>
- <h1 id="inditas">Indítás<a href="#inditas"></a></h1>
- <h2 id="bongeszodben">Böngésződben<a href="#bongeszodben"></a></h2>
- <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
- ágyazott emulátor fut.</p>
- <h2 id="telepites">Telepítés<a href="#telepites"></a></h2>
- <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>
- <h3 id="windows">Windows<a href="#windows"></a></h3>
- <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>
- <li>csomagold ki a <samp>C:\Program Files</samp> mappába és kész!</li></ol>
- <p>Egy egy hordozható futtatható, semmilyen hagyományos telepítési eljárást nem igényel.</p>
- <h3 id="linux">Linux<a href="#linux"></a></h3>
- <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>
- <li>csomagold ki az <samp>/usr</samp> mappába és kész!</li></ol>
- <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
- <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
- telepíthetsz:
- <div class="pre"><pre>
- sudo dpkg -i meg4_*.deb
- </pre></div></p>
- <h2 id="futtatas">Futtatás<a href="#futtatas"></a></h2>
- <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.
- Az első képernyő, ami fogad, a "MEG-4 Flopi Meghajtó" képernyő:</p>
- <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>
- <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
- képek extra adatokkal, egy üres lemez például így néz ki:</p>
- <div class="imgc"><img class="imgc" width="210" height="220" alt="floppy.png" src="data:image/png;base64,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"></div><span class="fig">MEG-4 Flopi</span>
- <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,
- a képernyő automatikusan átvált a <a href="#jatekkepernyo" onclick="c('jatekkepernyo')">játékképernyő</a>re.</p>
- <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
- játékot.</p>
- <h3 id="parancssori_opciok">Parancssori opciók<a href="#parancssori_opciok"></a></h3>
- <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
- minden kapcsoló és opció ugyanaz.</p>
- <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>
- jobb-klikk az újonnan létrejött parancsikonon, és a felugró menüben válaszd a <i>Tulajdonságok</i> menüpontot.
- <div class="imgc"><img class="imgc" width="363" height="416" alt="winshortcut.png" src="data:image/png;base64,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"></div><span class="fig">Parancssori opciók megadása Windows alatt</span>
- 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
- program helyett erre a parancsikonra kattints, és az adott opciókkal fog elinduli a program. Ha szeretnéd, akár több parancsikonod
- is lehet, különböző opciókkal.</p>
- <div class="pre"><pre>
- meg4 [-L <xx>] [-z] [-n] [-w] [-v|-vv] [-s] [-d <mappa>] [flopi]
- </pre></div>
- <div class="table"><table><tr><th>Opció </th><th>Leírás </th></tr>
- <tr><td><samp>-L <xx></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>
- <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>
- <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>
- <tr><td><samp>-w</samp> </td><td>Ablakos módban indul (alapértelmezetten teljesképernyős) </td></tr>
- <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>
- <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>
- <tr><td><samp>-d <mappa></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>
- <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>
- <div class="page" rel="fajlformatumok"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Alapok »</li><li> Fájlformátumok</li></ul><hr></div>
- <h1 id="fajlformatumok">Fájlformátumok<a href="#fajlformatumok"></a></h1>
- <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,
- hogy segítse a tartalomkészítést, és ténylegesen szórakoztatóvá tegye a MEG-4 használatát.</p>
- <h2 id="flopik">Flopik<a href="#flopik"></a></h2>
- <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
- 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"> > <samp>Elment</samp> menüpont kiválasztásával (lásd <a href="#interfesz" onclick="c('interfesz')">interfész</a>). Be
- fogja kérni a lemez feliratát, ami egyben a programod neve is lesz. Ilyen flopilemezek betöltéséhez üsd le a
- <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>
- <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>
- <h2 id="projektformatum">Projektformátum<a href="#projektformatum"></a></h2>
- <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
- á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
- 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"> > <samp>ZIP Export</samp> menüpontot. A betöltéshez csak simán húzd rá az ilyen zip fájlt a
- MEG-4 Flopi Meghajtóra.</p>
- <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
- 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ó
- zip projektfájlokká konvertálni.</p></div>
- <p>A projektfájlban lévő fájlok:</p>
- <h3 id="metainfo_txt">metainfo.txt<a href="#metainfo_txt"></a></h3>
- <p>Sima szöveges fájl, a MEG-4 Förmver verziójával és a programod nevével.</p>
- <h3 id="program_x">program.X<a href="#program_x"></a></h3>
- <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.
- 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
- NL vagy CRLF, mindkettő működik.</p>
- <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
- <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>
- <h3 id="sprites_png">sprites.png<a href="#sprites_png"></a></h3>
- <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
- <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>,
- <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
- 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
- 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>
- (.tga) képformátumban is, ha indexáltak és a méretük a megfelelő 256 x 256 pixeles.</p>
- <h3 id="map_tmx">map.tmx<a href="#map_tmx"></a></h3>
- <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>
- 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
- (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
- 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ő
- elemének (0-ás index) alfa csatornájában tárolódik.</p>
- <h3 id="font_bdf">font.bdf<a href="#font_bdf"></a></h3>
- <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.
- 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
- a <a href="https://fontforge.org" target="new">FontForge</a> is tökéletesen megfelel a célnak. Betöltésnél az
- <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
- <a href="https://www.win.tue.nl/~aeb/linux/kbd/font-formats-1.html" target="new">PC Screen Font 2</a> (.psfu, .psf2),
- <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
- 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>
- <h3 id="sounds_mod">sounds.mod<a href="#sounds_mod"></a></h3>
- <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>
- <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
- hangjegy összesen, a 64 hangeffektnek egy-egy).</p>
- <h3 id="musicxx_mod">musicXX.mod<a href="#musicxx_mod"></a></h3>
- <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
- 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.
- 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,
- 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
- 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>
- <p>A zenefájlok hullámmintáiból csak azok kerülnek betöltésre, amikre a zene kottája hivatkozik.</p>
- <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
- <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
- lementeni.</p>
- <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.
- 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,
- é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
- 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
- akarsz importálni, akkor azok osztozni fognak a 31 közös hullámmintán.</p></div>
- <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
- 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
- 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
- MIDI fájlt akarsz importálni.</p>
- <h3 id="memxx_txt">memXX.txt<a href="#memxx_txt"></a></h3>
- <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
- <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>
- 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>.
- 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
- ezután bármikor betöltheted a programodban a <a href="#memload" onclick="c('memload')">memload</a> funkció hívásával.</p>
- <h2 id="egyeb_formatumok">Egyéb formátumok<a href="#egyeb_formatumok"></a></h2>
- <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
- 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>
- 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
- hullámminta az adott pozícióra töltődik be, egyébként az első szabad helyre.</p>
- <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,
- 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
- <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
- 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>
- <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
- 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
- pedig egy fizikai tüske - GPIO regiszter offszet összerendelés lista (ahol a -1 jelenti azt, hogy a tüskéhez nincs GPIO regiszter,
- 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>
- <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
- redukálva.</p>
- <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
- <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
- 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
- felismerhetetlenek. Ha mégis ilyen fájlt szeretnél beimportálni, akkor előbb át kell konvertálnod a <samp>prj2tic</samp> programmal, ami
- megtalálható a TIC-80 forrás repójában.</p>
- <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
- 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>
- <div class="page" rel="felhasznaloi_bemenetek"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Alapok »</li><li> Felhasználói bemenetek</li></ul><hr></div>
- <h1 id="felhasznaloi_bemenetek">Felhasználói bemenetek<a href="#felhasznaloi_bemenetek"></a></h1>
- <h2 id="ui_gp">Játékpad<a href="#ui_gp"></a></h2>
- <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
- 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,
- 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
- 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
- <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
- Konami Kód is működik (lásd <samp>KEY_CHEAT</samp> szkenkód).</p>
- <h2 id="ui_ptr">Mutató<a href="#ui_ptr"></a></h2>
- <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
- ha van, vízszintes támogatott), úgy van kezelve, mintha fel / le vagy balra / jobbra egérgombok lennének.</p>
- <h2 id="ui_kbd">Billentyűzet<a href="#ui_kbd"></a></h2>
- <p>A kényelem érdekében számos gyorsbillentyűvel és beviteli metódussal rendelkezik. A programozáshoz szükséges összes karakter
- elérhető egy <kbd>Alt</kbd> kombinációval, függetlenül attól, hogy a platform milyen billentyűzetkiosztással rendelkezik:</p>
- <div class="imgc"><img class="imgc" width="694" height="256" alt="keyboard.png" src="data:image/png;base64,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"></div><span class="fig">Bal <kbd>Alt</kbd> kombinációk</span>
- <div class="table"><table><tr><th>Billentyűkombináció </th><th>Leírás </th></tr>
- <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>
- <tr><td><kbd>AltGr</kbd> </td><td>A jobb Alt billentyű, Kompozit beviteli mód üresen nyomva. </td></tr>
- <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>
- <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>
- <tr><td><kbd>Alt</kbd>+<kbd>I</kbd> </td><td>Ikon (emoji) beviteli mód. </td></tr>
- <tr><td><kbd>Alt</kbd>+<kbd>G</kbd> </td><td>Görög beviteli mód. </td></tr>
- <tr><td><kbd>Alt</kbd>+<kbd>J</kbd> </td><td>Hiragana beviteli mód. </td></tr>
- <tr><td><kbd>Alt</kbd>+<kbd>K</kbd> </td><td>Katakana beviteli mód. </td></tr>
- <tr><td><kbd>Alt</kbd>+<kbd>C</kbd> </td><td>Cirill beviteli mód. </td></tr>
- <tr><td><kbd>Ctrl</kbd>+<kbd>S</kbd> </td><td>Flopi mentése. </td></tr>
- <tr><td><kbd>Ctrl</kbd>+<kbd>L</kbd> </td><td>Flopi betöltése. </td></tr>
- <tr><td><kbd>Ctrl</kbd>+<kbd>R</kbd> </td><td>Programod futtatása. </td></tr>
- <tr><td><kbd>Ctrl</kbd>+<kbd>⏎Enter</kbd> </td><td>Teljesképernyős mód váltogatása. </td></tr>
- <tr><td><kbd>Ctrl</kbd>+<kbd>A</kbd> </td><td>Mindent kijelöl. </td></tr>
- <tr><td><kbd>Ctrl</kbd>+<kbd>I</kbd> </td><td>Kijelölés megfordítása. </td></tr>
- <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>
- <tr><td><kbd>Ctrl</kbd>+<kbd>C</kbd> </td><td>Másolás vágólapra. </td></tr>
- <tr><td><kbd>Ctrl</kbd>+<kbd>V</kbd> </td><td>Beillesztés vágólapról. </td></tr>
- <tr><td><kbd>Ctrl</kbd>+<kbd>Z</kbd> </td><td>Visszavonás. </td></tr>
- <tr><td><kbd>Ctrl</kbd>+<kbd>Y</kbd> </td><td>Újrabeillesztés. </td></tr>
- <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>
- <tr><td><kbd>F2</kbd> </td><td><a href="#kod_szerkeszto" onclick="c('kod_szerkeszto')">Kód Szerkesztő</a> </td></tr>
- <tr><td><kbd>F3</kbd> </td><td><a href="#szprajt_szerkeszto" onclick="c('szprajt_szerkeszto')">Szprájt Szerkesztő</a> </td></tr>
- <tr><td><kbd>F4</kbd> </td><td><a href="#terkep_szerkeszto" onclick="c('terkep_szerkeszto')">Térkép Szerkesztő</a> </td></tr>
- <tr><td><kbd>F5</kbd> </td><td><a href="#betu_szerkeszto" onclick="c('betu_szerkeszto')">Betű Szerkesztő</a> </td></tr>
- <tr><td><kbd>F6</kbd> </td><td><a href="#hangeffektek" onclick="c('hangeffektek')">Hangeffektek</a> </td></tr>
- <tr><td><kbd>F7</kbd> </td><td><a href="#zenesavok" onclick="c('zenesavok')">Zenesávok</a> </td></tr>
- <tr><td><kbd>F8</kbd> </td><td><a href="#memoriaatfedok" onclick="c('memoriaatfedok')">Memóriaátfedők</a> </td></tr>
- <tr><td><kbd>F9</kbd> </td><td><a href="#vizualis_szerkeszto" onclick="c('vizualis_szerkeszto')">Vizuális Szerkesztő</a> </td></tr>
- <tr><td><kbd>F10</kbd> </td><td><a href="#debuggolo" onclick="c('debuggolo')">Debuggoló</a> </td></tr>
- <tr><td><kbd>F11</kbd> </td><td>Teljesképernyős mód váltogatása. </td></tr>
- <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>
- <h3 id="unicode_kodpont_beviteli_mod">UNICODE Kódpont beviteli mód<a href="#unicode_kodpont_beviteli_mod"></a></h3>
- <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,
- 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
- <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
- karakter.</p>
- <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
- 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>
- <p>Ez a beviteli mód automatikusan kilép bevitel után.</p>
- <h3 id="kompozit_mod">Kompozit mód<a href="#kompozit_mod"></a></h3>
- <p>Kompozit módban ékezet, kettőspont, hullám, hurok stb. adható a karakterekhez. Például a következő sorozat <kbd>AltGr</kbd>,
- <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>,
- <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
- adja végeredményül.</p>
- <p>Ez a beviteli mód automatikusan kilép bevitel után.</p>
- <h3 id="ikon_mod">Ikon mód<a href="#ikon_mod"></a></h3>
- <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
- <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
- <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
- <samp>😉</samp> karaktert fog bevinni, míg az <kbd>Alt</kbd>+<kbd>I</kbd>, <kbd><</kbd>, <kbd>3</kbd> egy <samp>❤</samp> karaktert eredményez).</p>
- <p>Ez a beviteli mód automatikusan kilép bevitel után.</p>
- <h3 id="katakana_es_hiragana_mod">Katakana és Hiragana mód<a href="#katakana_es_hiragana_mod"></a></h3>
- <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
- <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,
- 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
- <kbd>Alt</kbd>+<kbd>K</kbd>, <kbd>.</kbd> a japán teljes állj <samp>。</samp> karaktert illeszti be.</p>
- <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
- <kbd>Alt</kbd>+<kbd>K</kbd>, <kbd>Shift</kbd>+<kbd>s</kbd>, <kbd>u</kbd> eredménye <samp>ス</samp> és nem <samp>ㇲ</samp>.</p>
- <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>
- <h3 id="cirill_mod">Cirill mód<a href="#cirill_mod"></a></h3>
- <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
- <kbd>Alt</kbd>+<kbd>C</kbd>, <kbd>Shift</kbd>+<kbd>l</kbd>, <kbd>e</kbd>, <kbd>n</kbd>, <kbd>i</kbd>, <kbd>n</kbd>
- eredménye <samp>Ленин</samp>.</p>
- <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>
- <h3 id="gorog_mod">Görög mód<a href="#gorog_mod"></a></h3>
- <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
- <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>,
- eredménye <samp>Πλατων</samp>.</p>
- <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>
- <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
- 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>
- <div class="page" rel="interfesz"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Alapok »</li><li> Interfész</li></ul><hr></div>
- <h1 id="interfesz">Interfész<a href="#interfesz"></a></h1>
- <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)
- parancssori kapcsolóval, ilyenkor azonban nem minden pixel lesz egyforma méretű. Ez ellensúlyozható azzal, ha ablakos módba
- váltunk, ahol a képernyőméret mindig 320 x 200 pixel egész többszöröse lesz.</p>
- <h2 id="jatekkepernyo">Játékképernyő<a href="#jatekkepernyo"></a></h2>
- <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
- képernyőn leütöd az <kbd>Esc</kbd> gombot, akkor átvált szerkesztő módba.</p>
- <h2 id="szerkeszto_kepernyok">Szerkesztő képernyők<a href="#szerkeszto_kepernyok"></a></h2>
- <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
- (újrafordítja a programodat), akkor visszakerülsz a játékképernyőre.</p>
- <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
- lásd az <a href="#egyeb_formatumok" onclick="c('egyeb_formatumok')">egyéb formátumok</a> fejezetet.</p>
- <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>
- <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,
- 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
- 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>
- <h2 id="sugo_oldalak">Súgó oldalak<a href="#sugo_oldalak"></a></h2>
- <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.
- 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
- nem a játékképernyőt hozza be, hanem visszavisz arra a képernyőre, ahonnan a súgót behoztad.</p>
- <p>Kereséshez kattinthatsz a menüben fent jobbra a keresődobozra, vagy csak kezd el gépelni, amire keresni szeretnél.</p>
- <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
- 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
- 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>
- <div class="page" rel="kod_szerkeszto"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Szerkesztők »</li><li> Kód Szerkesztő</li></ul><hr></div>
- <h1 id="kod_szerkeszto">Kód Szerkesztő<a href="#kod_szerkeszto"></a></h1>
- <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>
- <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
- 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>
- <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>
- <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
- 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
- a kurzor, akkor egy gyorssúgóval a paraméterek listájáról (ami érvényes minden programozási nyelv esetén).</p>
- <h2 id="programozasi_nyelv">Programozási nyelv<a href="#programozasi_nyelv"></a></h2>
- <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
- 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
- balra, a tartalomjegyzékben a "Programozás" címszó alatt találod.</p>
- <h2 id="felhasznaloi_funkciok">Felhasználói funkciók<a href="#felhasznaloi_funkciok"></a></h2>
- <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>
- <ul><li><samp>setup</samp> funkció elhagyható, és csak egyszer fut le, amikor a programod betöltődik.</li>
- <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
- jelenti, hogy a futására 16.6 milliszekundum áll rendelkezésre, de ebből a MEG-4 "hardver" elvesz 2-3 milliszekundumot, így
- 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
- <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
- reszponzív, mint lenni szokott.</li></ul>
- <h2 id="plusz_billentyukombok">Plusz billentyűkombók<a href="#plusz_billentyukombok"></a></h2>
- <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
- <a href="#kod_szerkeszto_gyorsbillentyuk" onclick="c('kod_szerkeszto_gyorsbillentyuk')">gyorsbillentyű</a> is elérhető.</p>
- <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
- 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>
- <div class="page" rel="szprajt_szerkeszto"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Szerkesztők »</li><li> Szprájt Szerkesztő</li></ul><hr></div>
- <h1 id="szprajt_szerkeszto">Szprájt Szerkesztő<a href="#szprajt_szerkeszto"></a></h1>
- <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>
- <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
- generál, az <a href="#stext" onclick="c('stext')">stext</a> pedig szöveget ír ki.</p>
- <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>
- <p>A szerkesztőnek három fő mezője van, kettő felül, egy pedig alul.</p>
- <h2 id="spr_edit">Szprájt Szerkesztő Mező<a href="#spr_edit"></a></h2>
- <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
- szprájton, míg a <span class="mouseright"></span> törli őket.</p>
- <p>Ha lenyomjuk a <kbd>Shift</kbd>-et, akkor vonalat húzhatunk a legutóbb módosított pontból.</p>
- <h2 id="spr_sprs">Szprájtválasztó<a href="#spr_sprs"></a></h2>
- <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.
- Egyszerre több egymásmelletti szprájt is kiválasztható, és ilyenkor egyszerre, együtt szerkesztheted őket.</p>
- <h2 id="spr_pal">Paletta<a href="#spr_pal"></a></h2>
- <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
- 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.
- Erre kattintva felugrik a HSV színválasztó ablak (<span class="ui2">5</span>), ahol megadhatod a kiválasztott palettaelem színét.</p>
- <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,
- zöld, kék átmenetkombinációt.</p>
- <h2 id="spr_tools">Eszköztár<a href="#spr_tools"></a></h2>
- <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>
- <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ő
- 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
- 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
- legyen, mint széles különben a forgatás nem fog működni.</p>
- <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
- kitöltésre kerül, függetlenül attól, hogy milyen pixelek lettek kijelölve.</p>
- <h2 id="spr_sel">Kijelölések<a href="#spr_sel"></a></h2>
- <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
- 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
- kijelölésből, és csökkentheted.</p>
- <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)
- a kijelölést, azaz ami eddig nem volt kijelölve, az ki lesz, ami meg ki volt, az nem lesz.</p>
- <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
- 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
- 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
- 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
- <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
- ü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>
- <div class="page" rel="terkep_szerkeszto"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Szerkesztők »</li><li> Térkép Szerkesztő</li></ul><hr></div>
- <h1 id="terkep_szerkeszto">Térkép Szerkesztő<a href="#terkep_szerkeszto"></a></h1>
- <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
- el a szprájtokat.</p>
- <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>
- <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>
- <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
- á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,
- 256-os, 512-es valamint a 768-as szprájt nem használható a térképen.</p>
- <h2 id="map_box">Térkép Szerkesztő Mező<a href="#map_box"></a></h2>
- <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.
- 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
- lenyomva tartva és az egeret mozgatva tologathatod a térképet, vagy használhatod a görgetősávokat is jobbra illetve alul.</p>
- <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>
- jobb egérgomb itt nem töröl, hanem mozgatja a térképet).</p>
- <p>Ha lenyomjuk a <kbd>Shift</kbd>-et, akkor vonalat húzhatunk a legutóbb módosított pontból.</p>
- <h2 id="map_tools">Eszköztár<a href="#map_tools"></a></h2>
- <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
- 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
- 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
- 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,
- lásd <a href="#grafikus_feldolgozo_egyseg" onclick="c('grafikus_feldolgozo_egyseg')">Grafikus Feldolgozó Egység</a>).</p>
- <h2 id="map_sprs">Szprájtpaletta<a href="#map_sprs"></a></h2>
- <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.
- 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"
- 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>
- <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
- 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
- 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
- területet.</p>
- <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
- 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
- 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
- erdőként. Viszont ha lenyomva tartod a <kbd>Shift</kbd>-et, miközben a kitöltéssel kattintasz, akkor minden mezőhöz
- 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>
- <h2 id="wang_csempek">Wang csempék<a href="#wang_csempek"></a></h2>
- <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
- könnyedén lehet utakat, folyókat, várfalakat, stb. rajzolni.</p>
- <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>
- <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
- az útnak, stb.), és mindegyik készlet 16 különböző szprájtot tartalmaz, minden kombinációhoz egyet.</p>
- <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
- kattintva megadjuk, hogy melyik kombinációt ábrázolja. Amennyiben több szprájt is ki van választva, úgy egyszerre több csempe
- is beállítódik (attól a gombtól kezdve, amelyikre kattintottunk).</p>
- <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>
- <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
- fogja kiválasztani, hogy melyik csempére van épp szüksége ahhoz, hogy folyamatos mintákat rajzoljon a térképre.</p>
- <h2 id="3d_s_utveszto">3D-s útvesztő<a href="#3d_s_utveszto"></a></h2>
- <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,
- 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
- 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).
- 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>
- <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
- 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
- 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.
- 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
- 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,
- 3-as, 34-es, 35-ös szprájtokat jelenti.</p>
- <div class="pre"><pre>
- Csempe id 1 scale 0 esetén Csempe id 1 scale 1 esetén
- +---+===+---+---+- +---+---+===+===+-
- | 0|::1| 2| 3| ... | 0| 1|::2|::3| ...
- +---+===+---+---+- +---+---+===+===+-
- | 32| 33| 34| 35| ... | 32| 33|:34|:35| ...
- +---+---+---+---+- +---+---+===+===+-
- </pre></div>
- <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
- 0-ás csempe a nincs térképelemet jelenti.</p>
- <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>
- (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,
- 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
- vagy azzal egyenlő, nem lesz átjárható, és olyan kockaként jelenik meg, ahol a csempe szprájtjai kerülnek a kocka
- 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
- á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
- 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>
- <div class="table"><table><tr><th>Csempe id </th><th>Leírás </th></tr>
- <tr><td>0 </td><td>Mindig járható, <samp>grd</samp> talajként jelenik meg helyette </td></tr>
- <tr><td>1 <= x < <samp>door</samp> </td><td>Járható, talajként jelenik meg </td></tr>
- <tr><td><samp>door</samp> <= x < <samp>wall</samp> </td><td>Falként jelenik meg, mégis átjárható (ajtó) </td></tr>
- <tr><td><samp>wall</samp> <= x < <samp>obj</samp> </td><td>Nem átjárható, falként jelenik meg </td></tr>
- <tr><td><samp>obj</samp> <= x </td><td>Nem átjárható, tárgy szprájtként jelenik meg </td></tr></table></div>
- <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
- 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,
- 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>
- 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
- 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
- (0x80000000) azt jelzi, közelebb vannak, mint 8 térképmező, a következő bit (0x40000000) azt, hogy közelebb, mint 4 mező, a
- következő (0x20000000) azt, hogy közelebb, mint 2 mező, és végül a legutolsó bit (0x10000000) azt, hogy ugyanazon vagy szomszédos
- térképmezőn állnak.</p>
- <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
- <kbd>▾</kbd> / ▽ hátra; a <kbd>◂</kbd> / ◁ balra fordul, a <kbd>▸</kbd> / ▷ jobbra fordul (a játékpad billentyűzetkiosztása
- 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
- 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>
- <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
- 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>
- <div class="page" rel="betu_szerkeszto"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Szerkesztők »</li><li> Betű Szerkesztő</li></ul><hr></div>
- <h1 id="betu_szerkeszto">Betű Szerkesztő<a href="#betu_szerkeszto"></a></h1>
- <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>
- <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>
- <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>
- <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
- 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
- alakja).</p>
- <h2 id="glifszerkeszto">Glifszerkesztő<a href="#glifszerkeszto"></a></h2>
- <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>
- <p>Ha lenyomjuk a <kbd>Shift</kbd>-et, akkor vonalat húzhatunk a legutóbb módosított pontból.</p>
- <h2 id="glifvalaszto">Glifválasztó<a href="#glifvalaszto"></a></h2>
- <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
- 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>
- <h2 id="font_tools">Eszköztár<a href="#font_tools"></a></h2>
- <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
- 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>
- <div class="page" rel="hangeffektek"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Szerkesztők »</li><li> Hangeffektek</li></ul><hr></div>
- <h1 id="hangeffektek">Hangeffektek<a href="#hangeffektek"></a></h1>
- <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>
- <p>A hangeffekteket a programodból az <a href="#sfx" onclick="c('sfx')">sfx</a> paranccsal tudod megszólaltatni.</p>
- <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>
- <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
- pedig a hangeffekt szerkesztő (<span class="ui2">3</span>).</p>
- <h2 id="effektvalaszto">Effektválasztó<a href="#effektvalaszto"></a></h2>
- <p>Jobbra látható a hangeffektek listája (<span class="ui2">2</span>), mind hangjegyként ábrázolva (technikailag minden hangeffekt egy hangjegy,
- konfigurálható hanghullámmal és speciális effekt opciókkal). A kívánt hangeffektre kattintva a listában az szerkeszthetővé válik
- (vagy <kbd>▴</kbd> / <kbd>▾</kbd> gombokkal is választható).</p>
- <h2 id="effektszerkeszto">Effektszerkesztő<a href="#effektszerkeszto"></a></h2>
- <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
- kevesebb. Bővebb infót és a billentyűzetkosztást ott találod.</p>
- <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
- visszavonás kombináció lenyomásával, amíg az a hangeffekt marad a kiválasztott. Ha volt visszavonás, akkor az újrabeillesztés
- 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
- a hangeffekt ki lett választva.)</p></div>
- <h2 id="sfx_tools">Hanghullám eszköztár<a href="#sfx_tools"></a></h2>
- <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.
- 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
- választottál ki hullámmintát).</p>
- <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>
- <p>Amikor a lakat nyitva, akkor a hangmintára kattintva módosítani lehet azt.</p>
- <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,
- ami azt a hanghullámot használja.</p></div>
- <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
- 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,
- amikor kilakatolásra került.)</p></div>
- <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
- kattintva az lenyomva marad, ilyenkor kijelölhetsz egy "loop" részt a hullámból. Ezután amikor a hanghullám egyszer végig
- 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>
- <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
- 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,
- 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
- beállításaival (akkor is, ha nincs loop megadva).</p>
- <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
- 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>
- <div class="page" rel="zenesavok"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Szerkesztők »</li><li> Zenesávok</li></ul><hr></div>
- <h1 id="zenesavok">Zenesávok<a href="#zenesavok"></a></h1>
- <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>
- <p>Az itt szerkesztett zenesávokat a programodban a <a href="#music" onclick="c('music')">music</a> paranccsal tudod lejátszani.</p>
- <p>Látni fogsz öt oszlopot, és alul egy zongorát.</p>
- <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>
- <h2 id="savok">Sávok<a href="#savok"></a></h2>
- <p>Balra az első oszlopban lehet kiválasztani, melyik zenei sávot szeretnénk szerkeszteni (<span class="ui2">1</span>).</p>
- <div class="table"><table><tr><th>Billentyűkombináció </th><th>Leírás </th></tr>
- <tr><td><kbd>Page Up</kbd> </td><td>Előző sávra vált. </td></tr>
- <tr><td><kbd>Page Down</kbd> </td><td>Következő sávra vált. </td></tr>
- <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>
- <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
- a lejátszás.</p>
- <h2 id="csatornak">Csatornák<a href="#csatornak"></a></h2>
- <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ó
- 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>
- <div class="table"><table><tr><th>Billentyűkombináció </th><th>Leírás </th></tr>
- <tr><td><kbd>◂</kbd> </td><td>Előző csatornára vált. </td></tr>
- <tr><td><kbd>▸</kbd> </td><td>Következő csatornára vált. </td></tr>
- <tr><td><kbd>▴</kbd> </td><td>Egy sorral feljebb lép. </td></tr>
- <tr><td><kbd>▾</kbd> </td><td>Egy sorral lejjebb lép. </td></tr>
- <tr><td><kbd>Home</kbd> </td><td>Első sorra ugrik. </td></tr>
- <tr><td><kbd>End</kbd> </td><td>Utolsó sorra ugrik. </td></tr>
- <tr><td><kbd>Ins</kbd> </td><td>Sor beszúrása. Minden, ami alatta van, eggyel lejjebb kerül. </td></tr>
- <tr><td><kbd>Del</kbd> </td><td>Sor törlése. Minden, ami alatta van, eggyel feljebb kerül. </td></tr>
- <tr><td><kbd>Backspace</kbd> </td><td>Hangjegy törlése. </td></tr></table></div>
- <h2 id="hangjegyszerkeszto">Hangjegyszerkesztő<a href="#hangjegyszerkeszto"></a></h2>
- <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>
- <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
- visszavonás kombináció lenyomásával, amíg az a hangeffekt marad a kiválasztott. Ha volt visszavonás, akkor az újrabeillesztés
- 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
- a hangjegy ki lett választva.)</p></div>
- <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
- 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
- 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
- segítségével könnyedén választhatsz hangmagasságot.</p>
- <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,
- <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>
- <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),
- 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
- á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
- 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
- csatornát.</p>
- <h3 id="mus_kbd">Billentyűzet<a href="#mus_kbd"></a></h3>
- <div class="imgc"><img class="imgc" width="694" height="256" alt="pianokbd.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArYAAAEACAMAAABxpsUrAAADAFBMVEUAAAAAAAAUFhMkJiSsAg6vBxcxMzAzOEkuMbH/BRqxHiVAP1KzISw0P7ZDRUKxKi3/FypQUk+1NTpJTrxWVm9NU7q2QEFbXVr/LThWWLq7RUpjZWK7TExlZoK9T1RkZcT/QUi9Vldsb2xmasfBWVpubqdscMi/X2J0dK2ebm//VFnFZWd6fHl6ecx7fZ56fbDJbm15gNGChIHKb3R/hKv/Y2cksiMhsy/MeHoYraGKjMw2tDHTfn8jsqc1tjuRk5Als6iOj9htn5iSkbu7iozShIL/eHtFtz2Qlt1Gukg8tauWltHXiY1SukpAuK7Qj45zrneYm93+g4TbjZBSvVPZkpOhn8hXwFaho6Cdn+FSvLOHrqndlZagouRhw2GIs63hmZpZwrmprKj/lJbknJ2nqexsx2zgn52tr6zioZ9oxb2trOmvsa5wym/koqDlo6Gvr9+ws69wzHfmpKKytLFsysLopqX/oKO1t7TrqKeIxb17z3u2ubW2tfKwt/Psq696zcZ+0n65u7iMzo6F0oW8vru8vOyI1Yi+wL3Bv8PptbW7vvX+r7L0srW/wr6B1M2K2IvAw7/wtbeR0c7CxcKO3I6V2o6O19LBxPuU25XFyMX1urzHyseX3pjFyP+S3Naq1tCZ4ZvLzsr7wMKb4pyV39mc453O0M3Rz9OX4dud5Z7/xMbQ0s+Z4t37xsal5J//xcf8x8ea5N6h4t7S1NH9yMin5qGb5d+j4+DU1tP+ysmn6KrW2dX9zs/Y2te16LOx5t6o6eXZ3Nms7q+s6uCq6+fb3tr61tbd39z719je4N238LPf4d7g49+w8e3h5OC69Lbi5eHj5uO69r629Orl5+S98+rm6OW8+cHD98H+4uLn6ebo6ufC9+/t6u/q7OnB/cXr7urI/MbB+vjE+vH+6ezt7+zx7vLK/sfD/PnH/PTy7/Tv8e7I/vX87+/08fbx8/DJ//by9PH+8fL39Pnz9vL09/P2+PX4+vf8+f35+/j6/Pn++//7/fr//P/8//uRRVjPAAAAAXRSTlMAQObYZgAAIABJREFUeNrsvQ903NZ54BulabbebZzGed42jVZ56tOLt3XSZartVmm0TtNWdeRnu0lNPyd6Cp/kZSkfRiJ7LOosXSoxPTGq8UtyKChjy4Ko6BH8MyI5hzoUcUJyNTv7NLTx5kCAIByJIdsZiX/KTqiTYQNNNX8IDN68e4H5A8zg4oIUJcvOfKL4Z+abDx+++8OHi4uL737oQ+lEXJYTa5V4WRI1cYyPrfwS7vJaBLetD2USCTmZlNcqqbLI7wtJ3l95wNx5APZ4Q1vrQ4lEMrUOMZlI1cQpPPbyS7jLaxHcxj4UrzFWk/edfGihFoOavP+wndN/pFOgt5pGSyoJ/23cqQ1aAlYdRdb9cnIqldbVksmKl62SNjZnc1JL4098Lk+P+P2VU2ncuTSdXHekknLK2QcQSL0FMaaSSYydyrfTmO6B/gFwKZR23nDxXadOgrkdDWwBIfJ0xEk4TnLVCZYBCws86yARjp8DlhICsOmwPT4qg92VCn/aW4oAp4BWlANGS1JtSorbAAraZ5pz3uXpBFCL8Y5KER6ersAeW1+1OsrxMYCkLHJOe2xsz0bMkeJsxIiUc/OxEQmwI8e4iOM+iwtJObkgODcfF0uaGJZBFB3UuQhoomQq6rzrMIoyCHXYacMsH03KFmyTcpT2EoQXKeA9kppxk3rkFOMD6k7iJZkkR3m9GCU6Eesm4ZYJL1qJmpH9pPPmCJIMp+QqR+M06bDDwDsv6ePAzmCMeykmGfIRjqa8XtIvS5SxGw4R7o7ZBJTHRYogu+NzNDbmlGREymmXSTKUmsQ3X6AczUSguE+2quBVkpqTQ4TXOUKkV5Ql0mv6oF2DeINWbNMp2sNypsOm+nDgIh5adoFtZqbND45Ih+OP5wIHOcILjtuIw0HKhtpCfqtTNnmb9dBsW5Dj0UphkIp9nniV68lgezjCFbO27fkl4vVyBxnogcNJKEK3CUcplrMLWjl4wYMsRYQjDnkJpKPw0UD14ZUAkXLaP+B7qC0Y8DiGk+UEjuhmD07qlmxzNmgy8EV5+DYa13zMQbHkHkOEnZoI5EjWR4oextkmx/o9MwSj74L92UK3FfQI1r6t7GEFkROkokxXCHhP5DwJNx09ulsU+Ig0LSEEWBLpNlLQlRAi8bwgBNs9EYHnuGkJoQecAq3RzgBT3DTSFMfzIhmpxtYT4gWOn7H3E3jAgbe9bX6wM4KEFI4XBarNBz0QUB6AvoEoMO0E+B7hUQHW95j1JKv8nPYKosAhwzkN3BRBpFhB3xmkC8BBECkRaKEjFdF3hpacmm8axFz0U0Xv5iq4sQoILnibb/eCJhJ4dGsDmzxJUZzIcyJquxLopopMd9KCbQIER4qkskVRKiQNYBNIV9hSEbD1mIKUuQjY0RdBBHkpi9LJymHQjG1eyHYKqZUBTSZQB0FI2ARycxkY6CBb3ZnxAB7ZJPJzaQkY978IPhxZQO9MDMSFfTHIi1wU5WZWSbCiIL5EgQjyKVSAlRRoYIGQqzrhEjhwBNEhUhHwfjsBghBJK06REqmXgBuOkQLYBl8E9hyab3UOcuotuhn1gM9wd9ABAoez6G0LgaMmjlaaAUp0Gw0MT6OVEiBFhAm5AltRFPm8kslkwM5r4CuX08wC2lDwucE2TYGWZjNqJp2+A6xAQ1ZLqyAxCDq2IDiZdCaby6RVVclZRAmDtmojYXbQlGwKoHsno2iVAgwJsDGEsLKaTWcyGtBVK9V+BrJcMFx9OemRwOfyGvRAyaazObXic1HQIIEXBWhcyWaAku6CVUtNR4CHL7IgMQMc7qTvrAJzGaVij9WwKEgvgZOQIGkwwoqazWSBr9ZdBpZEorobJjHg8LoJI3Uno2bTSoWbOQ2EU2z3GpHKpKBhEIIc+Jk3qUngmChECoQTtLGmQg8Ui6UEiFT4RU4UI2kNtowCHAUtmFLylpYBVkrYznhANpUUNZ1KZ3IqsK3BgALLRTengTlvG2hNLq1C94BzcKMAwzzYJ/AP8KHEI6LoPwixjeeydzKp1RzkJg9UNBhxVYPxTAMEwx5bbBNvgK57qhRuM7b82rBdZUA/O6bFA5lKbLPhEraqQJIkG/N6BS2HxjZBer2BpJ/kVTS2uQxFkt1pJeNPVCrFYbZFYavJwDidmvRScuXnokIJ2yzt9VKJOOWbqzgmitiCb7LKkl6S85MkJVdhKxjYijdzMXD1waQZklUqqHXClr+pisDPUIIiRaUS23AZW7gz/qzCSjmZ9sU0K7a8ESktAy7xqJQ6HVxVhBAC24zCgJ2JaolARvF79Ta0x3YaYisqP/eBDQMks8F0/JyXTpSdLGIrcmllBux6BjRiXicrn1OYKJPNWbCd04KAG0mHtWwkn0diK8D9jlEwGcyFRCUrspaGXCu2WRDgrJagPHecsA0FV0GUkwtEUrU0oWrGdo4CGWxBSpApJ2yJODhyFbZtYU3Y5mSvDE7ZVCKjKGhsM0QUJJJuKcqisU0o/rB+1g7TlZbK2Ep5CWCVFai4V9bWgq0SZkDHgmESXtkB2wUf2A2FfSOiBCenSQWBLYjUqhb1Uso0QSGxpXiwvQR1ND3HZSjRGVtJmfPKGUaKRkSPyAQVllpNsDNKJbZZbyxDscpMKJ6QhLQQWlBIjlKs2MY1mr0T82VnQlx2QVamM9FQTEuGOJDAQT8Vhe0CGZuTM91BOsEHmKAZuLVhC/abDIHNxkEvyAFbJRSYS+SUfIJI2LU0wFYUAbZkbCGjKnNk2gHblEeYSytzNDG3Rmw9N3+WSXvIwB3NCVtuQU576e6FyjxqwZaJJ3Jqqjpvw50RC9hOdy/ElWlq2itXnjucsWX9c3GFlhTvjAO2cXIunl2VQmzWH5MtMS1jq2ZgpLRYhMreDNJ22Oq9ZAo23884IqVqip8z+aqwNtjGiFiclkha9AhhcjomyHSwe6ES21UyMCfFYlSwO0TwETJAySTvq8aWWRB8c1SYiAb4rFeiQt1JP0MFVS2JxFZdaCM8tEyHptN0XM2a+1Frx9ZD+BVN9mYdsNVC7QSV0VKBkOKEbdsb3riW8ZGypiCxTbd7CA6cdYDm2rBt8xAzsl/uZp2w9XiIIABcoB2zbTvRndGkoGKDLV/EVmojSFkOeIMZbS3YaiyIVDpIsh5HbA8S3gVFYyPZ7oUUAlsto0cqN0cp2s1uNLZHCVpvPk3hLAeiPbbtBGhtSlKoVIbzEGzMB65EK7HVMrSHjDMhLcvSKs1lyRmSs8G2HexDhmMJkeGyXpFiozIR9oNTB7KTwGtwX/JalKGi3QtKOqfm7qKTEM2DSPwCgy3oXOXSgeqW1uBVTAHbWPcquNRSFJp1yrbEL3L5uIdqY5S1YKskvOl8HnRn2KBjtp3L5VdJOU5mnbDl8nlVDcSUvAO2035FVSaDCinl1oKtGgb+5eQgU3lesmB7E5xzoaWIEpASRMoe2zTxC5COVB1bOm+PbSZLzeRBvw1gq0S6f6FhsfWCyzaNimWpFJ8GSZ8nlTvZSmzTopIPBgJBLR0JqN0RxRfVsQWX4wa2fqC0kKd5La/ESMYjMVyKiHNMd4wI+CcVdCeB1xYI8N4CLdKxyUDQr5iIWzu2Euy8JR07CVo4BI61AMkJVdyyoigZfVuQFwD6MwxHxlQktmqaSORyq3IC9ELX2LcFXY9EgKPmnLEFLzBBP1PRAzZfkq36WXBCVSjZOdv6QTNx3REipq2tkxCExExOdqMvySLaAgWveDQurLD0JJ1D9W0TcBQjBqIqIbAFzUdJ8Goj5U3HPEEBk23FzBwBTh4qNadQMyGGZ7oTJEtPV/VtaZajIgIVoRgmx1JBMkFG9DyQi4N9h9gK3Fye5sAeSmSEEEK+kIfzR6gEPRkI5LUUx6P6tnKAPkfLIs0qGeZcUrsLbJVIAlKfCStO2EajgDWWpv0pNLb5FA+H5EK0oDhgqwTB8aHlFFZeE7Zqhs0C2Di6epjCPJIQggnnDnOu8sxuzraq8LOcqmW5bN4J25+LsOnBzuTza8E2F4sClWTAn6wIgiXbpjh4WOVuxtRMMJBS7bFVQmk4SJTmlVz8Zh7VSeBAN11vvhhN0zFMts3K4IgFUZQVllWCdCCTj50LVY8kyH6azefD9PTCjJoN0gsK+zPIqBnbuCaBXp6SZs6xsQwTDCXD5yQtQQeAyw7YwpDrlOWKu7JebOF5qHT1icRWhUNyVQ1YgS04j8ADSIX/kJ0EVVXhdtRqS84DYPou6oMyDtiWh2tzDgNgNtuuxhZasld07iToH7KJpgVbpfha1RZMl2S5YhSrRoBN2Kp6wPVtVUTGBttyPlG10vhW9QAY6HIaTaRUjhibsq3VJV1fNTKfA7aKVnV3YL3YqsUNO2GLFgu2dvRXYIu25IxtDgmbBVsUkCZsNXfYIsX5kqwcTQ2LrY1YsLUPlhVbBRFye2zR4TdnWykDuoQq+FKUnBJNa0oh+CZsFyqwVcsI1bA1YYtu6XuArSBpH0BsBZfYZkl4H0a+Kee0uVgmsHBHzq4NW/MlmfF0g2xgixYQG3fYpgxs0Y2YhfutY3sTvTm1fLshrzg45Rbb6jkJxU4CGlteFAG24gOErS1scKjQwDbvBlsHSwBbMVTAFrkzVdgCQW+3AltNS1OEL3WT9ArMDBtQKjsJkTj6dFTD9r3DNvcBw1ZaG7Y5dYbOgqv+RHIu0M0oqroGbK3jthZs8zVs7yW2vKT+cmOrKjyTCzJUQsvSfjq7pmxbw7aG7XuBbYacTsg3qZiPo/lp1r/AiIWBGZfYcjVsa9i+B9mW8njoDONhsgsEGQ/HE4yq1bCtYfuAY2uMfsMJm6twuD6nFgcgTNgumMZ/zZKvYVvD9r3B1jQiar0RZc62WlwUo4qmqEpxOC+bUPXbGbW+bQ3bBxZblSYob0zJpNRMEqTndDIr0VoWPi9Sw7aG7XuGrVZNraWTkKcFNcLMUVScJoJKlCQiEv3zwEKtb1vD9j3F1m7L5ksympqkZma82SAdJxYYaZriSTpW69vWsH3AsfVz5yajtEJ7yKNR3ktQ/FEqlatl23uGbc5ePsjYJvWbu7y7OQlusF1Q6Ug26puhNWZS5mRiepoS6TAD3YFTadgathuOrfbeZFv2g4RtXPN7KFKMMkqCIqkkTfgpwZ+m4zknbHP3F9vY+wVb9W6xFYXCnARlPdg6RcqMrdMMMLFYJwG9LyZs76wJW3czwFJusJ1TMnfSaS2bUbVsEtavyGSUtJqFz0AgsY041Gjh3Jb30LGNxLLoQi7ARx5gC5oyg9RKsEVsIym0U9AS9RJIYg61VrLTPBrbiKys2ouSgVVpdGydjMfgzr4IjjE+uoowpVel4Y3yHny6WJWmSi0JdkYg5KQdtoKADqdcKu/h2Hw6tiDnhjGR0rHlis2XtQrcmVikElueQzTRKjAAJ7zq2DrU9snCwkH0QRqejuAm4YOD4CuThYVXMqsGJdk4LABkhy0Pdg4hAr+mbCtE7MtCQVMRoZBtBZhfRFShsCK2PCehTMFCPXoOEfkItGyrx0NTKGx54AxCOK4w35ZHeQCdiPBFbDlk8OBbsE4C6CnwvEM1MR6FLcgygoguqVbE1ilSvCDp2Aoci4yUAE3p2KKaTyo0n2jGVhQ4dIA4lhf0bCuBJkIpQRAE/cldgeXLWqIkFn7CGmBCJCLYZ1u45zxC4FnG/TRx3ZRdKVYOFqPSsZVEWBOr+HqFcKJUxBZhSf8UDKN+6hNFpBZQssU2rWNrEsEsvE4RwBbiAMlFGIdaeicB/GK1YDYFHITYCiZDVQGGqiKRRGRbpAdGpHRsUZEymk8Su1+CMRd5x0gZ2BYiY9t8UhW2aO/AkQreB9jygujQjtCGga1gbIbXv4wtFoMFvarGVhQcBWZcyhW23byAExFgq9PrrNXmxWmIekE2DrvBUDW2SYgtTvwvwrBjJAKxxe6yji1OkJ0EjHG9dB1GR+p+ycXOhF6MuPDTUgMMZ1MiYQ0wnJr+wDluu5XYJggsISLvquJiqhvfiCL7YgC/u7wLbEXO9xL+MBEm7R7KwX9Mol/EHxLgKiYo4g/UlyisnyLvsbkk8+Nd4F1gK4GrAB4bc2HSzTHIetOF0wKsuIhNP0RbWO9oOopecRFnqVxxUcdWThCwlyY6SoRwg61Muzhq/G2UiwP/qO6UE7QizxLtQdwRwAtUdX3blCckWHoJdhiRbQweSBBw0Gt1CBy0xLR7OXyr2GA7TXLYUAWPerCw8ay3fRJ/hFOAHsHkua0EqOKqFjGCxfEoch4vvJIRLBGpco+iKNERQGiBoSs6CRTFcs7CUj431cRT/FGGQ/djdGGOMh66ovdVITe5IOGHTiGXLCg6xXiCvGXNhuoemd8TrT68At4QZo85mgDGkd39Qjf83NGgJ8BFnOxE+JCHIXER5lmSqo7wAkFjvORDRID24ZovQpFwZzBt7Pcw7YyTFbifjIctLv6R9pNh57bmI92EQAStzVxtN/DGAoiiU6xBOwY9fMUCTzHK47z6gNdDzrlbBSfkIbyks6lgRvSa6vO/YatEywtFp0g7MZyKpfwVnlcpEgRvt5IHfRS3x4SUZjyOaw688QbhCac53NINXo8/GfVhI+xbqF4kJimSb7yBCoERBxCpORfNVx0pmwUkuDRoPvSmoB+g+cpL1sRp/IajctBDYDcs8yCKbzgISXjKazcsFBf2mYuE0RIKRWKul4tMSGEnU6wILckzbKj0mk09fyEONzfntApLGDgF1/hJcKGQwwbZGfvOjRx3XOOFZaMJaFwMO8o09DMx42iI5eGCPnKMDTlJJGp/NgPGg04e8AuyHinHoMPmS8pxPoyPlOzcfCHeAoIcZ5FtCCTEGk0kOEdxBq4ElYg6AQF2tLwCRxlbzIpV6Y1alsxuhSrEsmO4FbnS6dQDJA/0gqTp1HqWTE2uc6U2y5JpyFa/m+X0StgW13tD+J92v9ey7ARaaXmCdEp2sdcOi7UBj5MF5+Sk01Jp63DU2LYRF3fN47xInb6i3jrBTjpGqrBKiey08KDRfLAFnSMlG9+RKxPqW7NykJTllOMyua7iJ2f0VfeSKYfl9Mwr/d2LxUvl98tKyC783LhVnZN3k47v5+LS8ppbe4MWv5bXsFT0wr2gIfk+ofa+Yvu+OZjXvF8bhG3yvcY2VcP2fRyWX1Jsa1KTeyw1bGtSw7YmNalhW5Oa1LCtSQ3bmtSkhm1NalLDtiY1bGtSkxq2NanJhmCbLNzSc7y55u7+XTK1cXNP3JhKutNJboght06lNsqpjbwjvIG3qc2tnbyfrV2VbWXLHMFqxXQ6WfrNQXRsHSdXJpPG3iYtxm0tpTCzgEsmMHM5ZRkzR7HgFH7/ik6lHySn0in3kdpgbPUdcdxLfUIsdsqmMS3X8RCQ9RmcSSu2clwMO029D4b4hVQ6IYXBb04z9OeSKdws/mBkBuzMAhcKFsVOKywlUqkExqkwnGmvO+Ug+jMQchTvVNpwykHrPXEqzoWBPtoS68KpkK1TofVIMBKVTUdIQgxhuYEPTDhrsVEQjVjknPM+TJfwL3QSktOks7wB/otXjjRj5eT1TrxS5/WzeKXmK5dcKE3cZ6euu3Fq/LoLp7rcORUmSZ9zu5C+hRkSL4JMkXcvPrBJupRg5ThNYD8SlScJx52Az/uxSY7wYgwRgYpnyWTaE+G58vOnkQqBrxHUyWfPDg72o2Ww/8KRPf1PdQEltBp48+RTZ/c0D445mBocvND/7MnOPeAX9BbhO/uPnAVOXeh3NNWJc2rQcGp/s8PW+gcvgDeLTjlZGtwYp6At4BRBwvaoapFiw8BWa58EzVdoNuQjtF4q2B7i+EiEu1th2rgStjTB8nbAGM5FOIGPUATrCfE8ag8iUIljjk57GHv2ijvKcyFPpAJbDysKESmKkmlekDjiqZNjY4MXLr1jL+9eGrwwMXbkqc7xC4P977xzyUbgi4MXxie6njoyfmG8/xJK3h0fHB8/++ye/omx/vEKE4bAn5cGx8YH9wOnAE8oS+9c6gfbO/InBaf0j75bIUCr4NSF8bF+w0s7Geuf0J0aH+yfKAXBagl8dO1O2arouzcBnPLBUmXT0Rl7icICWqF2T0TkIiJsqViVwObjBJEj2oLgu6B/ypCZtUsUWBIDviK2C56IIBobtpFYTIqIIuchYNVIDgnXDAfrJJAU3NEZlKkoz4siQ1UWU4LFrDJ6nTy94GClwDpN1FMTAKYbSyv2snTrEoDt5Bf7x8f7ryyt3Fq6tQK/L1n0l5Z+Ct4f/GLX+PiFS+CdJf1flal/PDs+Nv7U/nFgakm3sqJbWjJbW1oaGweHyZ+MT0wAp/TXgW6VvAOPgC8O6k4Bl2w9X7l+9sIYcAqcAYBTUAt+skJ56cZZsP/PNhtOrdiHYWkJJNLBI//5gu4UMLVkK5d0p/RIraBMFZwK8AIn2bRIsZgiXHlbr0rDZVQoSrHyo1lL0Iv8AeLCdxSTyqpi+t2u7mS1pGDBM1MxJZ0buFhT5QeND0scLF0XgpVUFbix0huWIpycXpVGFLjoakGroJQFfxqiyLCaOGFX37a0nnR1vVJYz4R6CrB0dmnlBoLblSslQm6AJr/x0+u2SAIiL3zxJGD3Hb1Z7U2dHQPYNgNM+oGh6wil8RK2wNJPITPOTgFTCEtLIJFOfLFrYmLsHfDHdVu6b62cBcQ+u99wCnXwrkyMjY8f+c/jIDHrhxouUksrS8g80D8xMf5FRhD5aA5Vb1bR2PIK57DZcmqxjLn5I6JRm1IUQ0ouJcsZpdTOWSWHFtvyxNYaYBAMRcnA1cjNkiusTDpdwjYFNqVoWbsavAt6oVA/wHZBySZkOasXWl5NK1qmrO6wVLSac4HtjSM/xWO7snSlc/+eziu2jaFjOzj47u2Vk5e6lnDY3jiyp8v+SAGtqmM7dnZlqbP5+o2uWxhCrnf+1AnbkxNjg++sLJ3cP2irdLuE7SDIhJduIbAdL2N75ewtbKSWTl7HYCtwN5HYavkytnlFNTNnwVYUithmSYLwrxZ0FCUobwC28YBWkUBVJqpX5jZhm6XlfMqf1XIO2MY0xkMQvH4ocYyqhhIKHts83FAeg+3Kjf3XV/A55Epz//Wl/iM/vY3C9sLgOzdOPtu55woG29uDXV3j1xGEjF048iew57JypbP/7GC/XQ68Mjg2VnBq6WznOIoQwBnAdvzCO8DzS0du4bAdbO68gcJ2bOzIf9adAkclNlL/ePtS1y2kU+NjX4T1bWP2COmluMvYAlJhuXI7zZt6AWuQc8O5jCeeoeYywcC0mgqFUv6FhCQHGTnBMZISZxhZjQak1SjDKahi8LD0pwVbUYlRWZ5l5HSIiSszAU6JsawnoNcYN2GbIeW87MskJoOpBDfJs6G0EmFiqjXb5s8JWtyblRg2EaI1JRCN8ZNz+iqQKWRZZk2dS6gZVbGJESwPtxZsb58cHGzu6jo5WIXtrQK2Y4PvLvU3n+3EYvtu55ErCEImDGwnILYnz568dH3FCdsbNzrfRSBiYNsFsH13Zam5uR+XbW9f6TqJCAJI/kVsl47ccIHtUud1Z2wFB2xzJmzzaYkQZVtsJbGEbdoTkboBpBEyPRkKRvxCIMaEOZ4leF/czzHBBC3450iOnFkTtrIn1M1EAhyT8PHkNEMtkCGlopOQ8XIzHHWHDtJM2Mt72G5JpDlfpgJbmomyVIwUPWIYYjtDUxEqk885YMtpMYoKSkpuA7BdOnLpyA2QJruqu4j94yVsu/Z3NmOwHVxZuvQsQqmM7dLKyc6TXc12eiZsr/TfOnvDEduJC+/eunRk/6WJW47Y9qOvo8zYXu9cwmO7stJ1ZYOwnfYeJEKq5oxtpp3w0gk5FPDIvqSySgO+wv5QmmWU4HQUIMUxiiZ4GIpV3WIrAGxT3lSEFv2sLBCT5ORkSKVBElQt2KYIgiRImUwkqFAgSyVCAk0xREpRcga2tMBHQLY96vUluKBKSzq20cBMhtIPRYdsm1Biov1qISZslxAQWbC93tzfv9R16ew7jth2djWfxGF7e3Ci6+wlLLa3r3SeHTz7riO2K0gxYbvUeeXSHsDbbQy2K26wvXUfsY3kcwqdtVc0Y0sktCAbDIQImZIzMs3RcoIPsuGA4hfIsJ/hmdWUQESCMQXVt7XDViYV3p+SgsAGx0wzfI4WK/u2eieBkr2JOBUOKj45LPrpSDAF1CC2fj3bxjVaAD0C7pwCcjGlKFTMP50m06rmmG3VPOhN47BdueAihyx1jnWe3N9lk25M2IIGQzWZKdteam4+ch3XSQCfmLjU1Xnl7rG9dbbr5H7bNLlmbJeO/KMLbJdQveR1YKso9ppmbD1MiJph6CAhB/x+JhCLhMB3kSVC1AIxSQfiVBCcpIPUdM4ttqIyR4FOK0ez54KBn1NBUpoUND9T2UnI6thmaD8VjIQUSmYBmCEqBfahnG3jip9T82rCF/RIcW9wkkrT3ZO0vsKWA7bGmqgYbG9NLLm4JOvqOts/cba/3xHbd5cuLWGxXRlvRmiZsQWWbvVfWrl7bMHvZ69furER2N4+O3ELH6mJkytYbLOJeCKesuHIiq2Ww2O7GgmCjmDiHHdzNRViM7H0nWn5XCjL0aHY6kxwJqZGQ7HcQghczatus202NZO9qSWi6dC5lHYzKChzCeUml63AVpnO5LLT2VSYBXujzijxhCKE5hQrtlr056s5JROkPDH1Z8FgQvEHQ3IJW/uRBNXAVsNk25UVF9iCDkB//1mbiykztmgxY4vsRlqyLdqpNWKLlLVjewM/ALa0dPIGFtubca/H4wnatI0V25wLbBFDXdOckss5rPbn2ElAj5+Zx20RC6uZLskiC/rH8nHSEyyM8YYSBVPoAbCNxHZlpb+z66QNcOvAduX9h+243klYub10Gx+pW/hsqxi3EvDY5taLrYbqX9wFtjkX2JrGbYVmrLn+AAAgAElEQVQCtqqmKnnwX9EX+cvZYjtn7iQ4rAK5dmwLt5bWiS1o96fgfVRHbOEQKR5b012y+4utG6f+0dGpIrboFRTdYSsW1ssUQ+iVIl2k2ipso0bfFq0+wwnYVSArsQXHqFocxlMRd8nuMbYr9xLb8Rq2a8NWdMJWWxe2wsZja78LNWzvR992oobtmrEVa9jWsK1hW8O2hm0N2xq2NWw3FltV3RBsb9y+7RbbpQ3BFr09K7YIvQpsb28Itrd0O7dq2N5rbOW4mnOB7U+vuJi42I+4B2zGdunChX90kW2X3rEHyZxt3+3v/ykW21uDg9ipNCvv9PcPLuGwvXVl8Aoe2yv97+AjdWsMcduxhq0rbCNajFGwnYSHDMHMyF7q6mo+i8V2vKvzrAtszzYv4bLt0pFOxKQcM7b9nZ0nsVNpBrs699zAYXv9SBdiVqIJ2yvNnUfexWLbf+RIPxZb/cETHLaKcUfCRvGDnW2VDBbbh4qy5NwYN25P2MNmybZL7x7BY/tOMxbbpaX9JxETF0zn4xtHxkCOXMJ2Ek5ewGbbS503mq8sYfq27zSvjJ3ET/F851LzLWy2Ve3nf5uw5fMyz3MJTfnlw1bJY/q2gNd/Uf8Jwa3lkmyp6ywW25UrzV1YbJe6JvDZ9saezv2XsLMp93c2n1zCzQBbuYLIo+anG250dnbdwGF7pfnKWfsptyanbjTfuGI/g9mMbVrO4ufbxmmanv5lxDanKlhsH/pDA9v/55bTJdnSyS5833ZlaaL5hjO2/bcnOs8intwxZ9srt/q73BDSfAObbc+exI8kTHS90/kOrpOw1LWnGZ9tm69c2X/jNmYGGE2IoHFUxzkJWkaaluT7jC0v8MJ7ji1qIMEO2//7hgO2t7qOXF+yvZAyYXvr3etXUE83lLLt7fHm5qcmsNl24sbJszhCbh25NGh/mFgmLiL6o5Zse7brp52DuAGwpfEbXYNYbDvHBo8sYbCF2URVnKfScFrMR/lE+BzrfcN2xsA2915jixy3NR6BvGDC9v+sSrfm8/GePc1diE5C6VmylUvN+3GXZBduwwcXbjliCxLbja79iFO7uefyTjPoSThm28F3QWfzBn4A7EZnM/aSbGWpc3/nEtapd/c3v3vbsZPAx/Q0i8U2D58VzCnvX2w5Z2xFFLZaqVKC5cHlvLHfVmz/DydsV5aWlpDDOrCSxtgFvZOwdHczwMbHjQfOYcUFF892o7Z3+1bxEUjdKad7IAa2+v7ZWro9UcBWL95wC1snwfEeyJjxwDlfGACzy6NaSCxhqxRRrp64WJgBJoQV5+fJ3WAr8N5i5UMD22wOVcRBlfgitrL5KXmLaHOsMU1c4OK50p5aRFHzMieanm4wYytnstlsxk6SnB22lbVWJkqNcUn/+5advNs/pmM7Pji+VNCqrtpypb/Ut71uGLIp7XJjsICtXnAGscGyU4OXEHaAvDtYyLZjEzeATlnLbEl3ysD2+i3jLTunitj2X9EVbmGc0o3Y+vVOCVsBNgxsmtVspcTLfVs5i5IUV5y4yC6YWjW7DoEVZCzYijwnZ1E1czJcAVshgt5wZrrwdIPAS3cK1WiqZcHyUI4ZW8AzrANRJTzPwdJPsJgSwPUfVFX9Afj5t2MV0g8x0hvjQv/gxPjYhK0ALaOTMDaof2ocFumokAsQkMI0cZAHoVTpgM/3G9gC4gb1t222Nq4r6U6NDV6Am6uWsQsXYE0uPduODw7q2ytuw2TqQv9YqW87CH+tNgY8H+wvYjvWr29ubAzhueEU3LL9/oEgFrAVIHWCfdPAahuSkW0jdgqGVhHbgqm7kAhflW3BhnlbAd6xfHGaOGt5x7oPfBFbluNFewg5FoVtCVIbBwp927Gx0rjtn/5o0CoX9JbTGwO2wQXwip3AthyDBWB0lUHI0oUKS4O6pQkdW5t3i6JDAfu2Ogn6C9Vicsogy97SmF7eY9ygsWCuwqTh1LOGU2P6ntjsG9w7o287brw9VnqjQgpOoffvwljxkkzQGbBrGr1hDGwNPvXX7JvvJbGifddJbtXTDRh1HVt7rspe6PNt+aKaNWkW9ez7tjjRsS1y+6d/a5e4TNiO2bZVoWENbIs42LM2oXcSin9Z3yvnN4At4q0qp0op0RbuErYWpUpLJWzRO2fFFh0Ii1PjiD0oYIsBo4St4EBREdu7lnVi6yw6tjhLNtlWxDrre+oCjO6P/vZP//RP//ZHtpBcgBUXJxwAMjiEfVsstmNP7YeZC3YiIC+l036JIB2N5j+5MIHBVndq3NEpaA6WgRyrRLvS0gXDqUpfrZaMpxvGCynZlnLQhSpEqrBXdh0c0EcZ/GIA1zB8oeIiTo16id8YbkXO+lAOxjmjb4sxKdJtNP5wKVdcLGBLhJxPHjwvssSzxql97Ec/+pE9BKAreeTZzsEL4w65CGp1Pts8iMuREyf37Dk7WH7fNkNO9O/fc/KCCWQz1xanxpxzJOgWQKfGcdkWOmXq8do4duGC7tSYxSe7TrcRKXP3wtLr0Ld+ofNZ0gKbWC2COOnx4PKZyLPEUYbfmHRLU6X6tkQYoGHnVcE3QZQ4D8lgcyLv6/aBHS1/rppZURIZ2oJtUqbJYMRZQiR1cs/Jfmc527mn/9mu/kFnra5nz+7vxFjqP7n/ZGfzWYyls81HXDvVj3fqyEY5dXbDItXvpVhrVfdKiUwSDO0Noat1658K+6igB9fG7oRp50vLqviJUIR10OUirM8reiYxJlm/Z85DYzdMCClLtk0l6HaPs7R72LEjT+2xyH4glheeffbkpa5nMUp7nu28dHLPsxVKeyqUwAXZYHP19ios7ekf76xU2rNOpyaqndqPd2q/nVNjnVjP3UYq6LG2DAHE2jJtpMB526qUiMrmE6iKNq425UqORspLjiQYHDdHqZjMHcUpEZIsEVhTbMKKrRxjvFYNi+gvvVFpxENQ+55+fMuWzWXZsmXr1q3mFzZv2fr43n11WzYXX9yivwaULFpbH9vVuH2b1VK1qW07DuzYZt3e1urt1TUCpwomdKne3pZtjz+/t27r5i2Vm6t06oDVKZv927ptx75dj1UqbdlS4XndvoJTVkvWfXn8eXOkNqMitQ/r1JatOw7s3IZrmW3b9zGkp9C+7W3t7Ufb8QJ0iJBpDaoQocOCJO0oQcdlgawAqkIASTNyjLLDz2yMjKQqsm2gPcgCCRelcm2dcJjVXy2+CV9gAy+17Nj8/F5nee6R5/c+8vTefU46+/ZuqWt9ZCfG0t66335ly+POlvbu3fXxVrxTT0OnnsMoPb+l7hXg1D7nDdb9W+gURnY94ipSz7mI1Na6w4/swEbq37qI1NMfb6GPBmHDgvYMBcMR1o1EQtRL0dKSIyEPw1rAqRCWDZK05PGHnY2Gur0xkgrZ4GeyFA54piuyrQdc7HFr6LGLcJxbojdv23eg9UALSlpbwHvPb93ydEvLgX2txVcr9RsbW1v3bdu8A/y6r7UoLVAd/tS/t+qWWuo21x040LLP/Fnwusle44GW1p2bt+0FGzFvxbBQlH2NhlOtYMtmXy0CP7/vMcOpFpNTFkutYKca6zY/DuzsMxlotMYA+Aud2le5iartPb91szVSlbGCkToAnIK+tVhdr/jM9s2PV0TKauoAiFTLrs1EmBf1Ztcvgtwsk8NygkCWLsniREjkOV5C3uYAl/Jcuw8WU0Tf5+D1G280ycMbXkLFJVnxGo3nOF4M0JUjCUCDlYs331ZXbe6uKfCreOstk1lgBYn/19vB3jee7kXJib2HW1q2bgYx3XcCpTN8GnK181dBs+57FWnp9GGwpb0feR5E/LDD9oCRxl/fDiA44KikO9VqcWp4xLo9iMLOXwUEOjjV+0qj7lQr1qmWj29vwUQKvL/tt6siNWyJFDhsDsNItWxIpFo+TgFOuCRobv12qoIRWDR/mhV41jQAJop8JKHYzgjIAEw4cEAQ7WFAZAx5vzgjAbqNJUekTPE2tvU+sJLNwPk2rHUALJnQb+4a65OompqzdRouYlKo+K9omhICx8S/htno8PDo6PDwyKidwEyzDWK7dxRqAaVKvZHh0VeAkV2/CpPX8DBspuGSjJZ/PQ2S5L6P7G1pPXBixHgPyrDZ1PDIMGz8glN6gw/byChIyS3bNrdAp0bKL49YlV6FTn0EHFB7C2+OjFQ5NXoaNP4B4FRL4wnTjll2EfgBnfr1cqRsAzUMI/XYb4Ncvle3bxPOYqQ+Ao6SfdCdkeqtQUswUo3FSJlet5oCTrV+vBvkOdGY2wKff81BAPTJq6oxGbBqRqCSCVnm2xKcyIurMJPZEAPUZ3ig3RYSpUjKWPjGTi0ODh7/QVpfcqSImpEdlWI9vXwuydvdbgCJmNM4mu5mMpqixWJa1WQwOLMoV56JpIYEvojt8IkdO/b2orDdamDb8uroK3t7Tz9frQcbYyfEdu/I8NM7dux4pQIzPdCnYY4xCBluAUqtdpsb2duqY9vacnh0L1B6rrdsofJYgtiONB4eHgG6BcDMmiZse58/Pdq7z257ZqdaT9gCCYwCp1qL2J7YuWOfXaRG9hWz7d7R3p07djzdO1L8vOnYLTgFlIClp3vtDwDoVKPhVO/TJ0YRUsRWkEpTxtRMoLub/hmscKxEkioAWQE4WydhKyFBstwlA9gqsr+b5rL650RZVfJKNqLXSVYAtoKg327gUgpDd9MxDa6Ck9My4WyZrHhExxYozWk8TQMlLa9oUYqmo0peK1CX4kWbm7s6tqkFjyjHhRklFJTiagW4DtieePzwie17h+2xbSlgu/e54V1bT79aV51uStl270jvttbTp3udsT09vOv5E6/W9Q47Y3v61S2vnB7GYHui7vTpuhM4bB97dfTEdmdsgVOHbROpFdvTda2nd9pFyozt6cdeObGzBYft83uHMdgeODG673kMtqIJW00mFhJyNhETEymCV6aljBaTMhXpNlQ131ZSYkQ8QUmazMeUwFxWkjILnoWMNJPVFDi5q4Bt5o2ZxM+zckxYUMHLZEYzYSsUsI1rdDAxTWV+JsWyYUqOkolEVJAx2IKDgJhLUxSxECS6qYy+ylVZYA0F47jLwePPjG3j8yOjJ+p6R4YR2Orn4xM7erdvb23cO4rEtgUScvj06WEMtr07954GvGGy7WjvthOjGGxHh/c+93RL8Yw8MoLAdtsrYPdGMNl21yu22AKjZWxHWkGkeut67TsJJWy3vQrYLp/PR0pixvbp1lFsth09vMsFtsVsqspEXE7nKa+Pmm4Psj6SSXqoBBZbUZnzZpUYnaG7yZh/IUyRLNfGBykSHBAmbO+Q0WRSYQiKyLBe2pvSSmAVsRW5BY0OJQGsZHe7FKI1Ncj6SV+3gp4mrmObyxCxLCdRUohR6LjzNGIzts83gh4cDtveHYd3Ht6169Xqxn3VhO3WLdvqTuCw3bV52xbbXLNWbEGX+XEAkZ0pC7Yg29aNrg9b6FRLKdvubewdtsV2tNC31bF9ZOu27aeHS9hWOQU9P73j1VF8tj2x4/QIFtuSyB4PQaboc3fINLXgZVhv3JvU8NiqENs4FSP47snADBEOUTIlExGme1UzYZsmPAQRZ/wZ78/IqEymy3glIqJoYAuybTtBSEIgCxik81okGBATpBtsEwR5VAqxANu8a2xbnhs+8erjvSOjTtiO7t154HTdTptzuxnbx3Sscdl23+m6A07Y6t1IV9gO79pr36wmQvROgotsO4rHtvW53tHT20+PoLBtMToJp4ftL91MTr3y3Glstj093PvcK6Ousc0nvBlVVWgxQ6WoOYLwAfzu5FxiO0PH2n0EG4h6vCSdouSjJBlQVHMngUyoWo4JKeScF5zTM9XY6p0EDlzgReBKORBbhmVisk9BL6enr8emgk6CRM6QUpCSfDIG27BYxHbkxOP7dm7d1TvqhO3I6CvbToxsf9oGW3MnYdveV145PWq5sq++JNvZOPrq46dx2J52wLY4kjA86gLb4Z27Xtn19AiCkFLf1g22p7e3vLLreVSkthWwfRxii3FqdNdhF52EV3aOuMdW+wUxHY1laCnjk31SICgyCSpdUZ7BtpMQI6ZnaFGmpgOSP0ZHuGCSjNN8mM2Zs23Gy0VnZIhtgmEi3kwZr/IlGegk8IqqLVASIYXJmOSLB/DYAqf8cobyhaclPylgqkuXsQUnx1cff+zpHadHnbPt6V3Do62tw87Y7njsscf2jVQPAZmx7d0LCNn7yggu2+48Xcjbttjq52Pwx2E8tsCrHbaX/2Zs951wgW3vie2PPW9LErzJUMC2d1cvYjzR5NTI0432OiPmTkLL0whqYaSqsE1SXi85HYplJ9MhJt3tnclOZnMuLsnipNcbUjTeS2e4hEyRc1maWyApWctPFx6BFLi0Qnu93khEyjKpNEUHy6vvmi7JfqZFZgB3SoAgohLhJSWFS6SDKg5bVc2t5uGjdHnss3BmbEeRYsZ2eHTEXrM8klAcinTGFhiCo5XDGGz1gWIstogOqYWQ4VHbrVmdQqW1EratLYeH0aEyYTuKCpQl27Zs78Vi27ujZWQN2OpL1xZ/U7V8XquqhWOLLdBU9bUW8nD9dFUzPgcsqGZsjeFh/U340w7bOLzcz+US1Bt0Gg4lKxpmqegCtu4f6VwHtsPDWGxRKpbENjo86pBDSrcbKnrHCGxRYs62wwi/LNgOu8F21BW2yDBYTgG9wxhsgVO9w8hTgC22WLHB1lreQ78jVbxLYMa28oli1QbbBfBx8MZqJpMtHjH5PB7bXA3bBwHbETfYOkaqkG2HHSO1QdhaiylZF1g3YYteEtCcbRXT0/A5dHkPO2zVGrbvg2xbw7aE7Rpk7dgipYbtBwhbq5g7CcgavShstRq27ydsh2vY1rCtYVvDtobtvcd2uIZtDdsatjVskdiO1LC9z9j2vnp6GI/tD08/KNim1oKtej+wLdRXevCwdTiW3vfYntiyF3+7offxp+/97YZ7gC22LPMGYFuqZjdSw/Y+YluH7STA+bZPvy+z7X3A9qGHfuMH//IvP7TntobtPcP28V4Xfdsatmhs/+KHv/eH//xXANv/a6SGbQ3bBxhb1YwtlH/4Cyy2iMu24Q3DFmxgzdgindoobEeMqa0GtiN3NW47vC5sR5CRuidTaVDY3nGD7YKWWwe2rqv5Q8thURBL2P6wF37/8ypu95axRT1prTdGa2G+LZK10ozs1gOoi2P42b2trQVsR51H5YpPwTs41ao/2+2E7XAvFlvDqeJ8Wwen9rbgsB0edtW31Z1qLETq8K6REWSkCtjm7hrbnAtsZfQUrQWu+HTDHBrBjcAWkmvGtlen1gbbNXUSWvb24rMtGlvYHuVs6w5bN52EXnfZ1tEpLLbD5acbRkZczADr/eFjJzDZthU49fzT+Pm2DxS22tqxVdyLqqRZ0KsxsP2t//6Dh4rYWp9e7C1j21tRP6NcVqO3jO3pYaScaCxg23gCpTJiVNKATh1oRVvqbSw9lINz6iM4p4rYHjjR6+iUjm1jay/aqTK2SKVRs1Ont+9zcMoYSXj19I59sC7JCCJSEFvQNdVreujTvPGSCVdhy2dWkZxIJWwTaJjgMiYGtrFVJG+y5RFIM7ZSbCbqToAerOlUwPav4GPD/xVie/gVs7z6CsCn8LThvpZXUHK4sdhJOLAPqQTLFhnYtuw77KhkZNvGVqRSS+lZskZnpwxCHJw6vK9wLLU4OQWLbxnZthGtpBcO07FFR+pVi1OvIkQPQmPRKfgCMlIf7+ZhsxfadMYNt3ORqiL4rIDERGKL1cQ5bmYGQdc0XHLEbyw5Mo0icJrnRHts9fUqXIpRiUy0jtv+7l8esEijXlHNwLaimJy5HBuMoIEtLKnWeMBeWgrYwnp4jbpWI/xpEvjZEra6KXvR33XjlEGIrgU3Vy1lp/SyeSZPyjEwtmBgW7CE2j0DW7j1A3aKVqcaDyB2UDdlYNvSWPC72lZLCVtR5DgOtijnBlu4zlIFtiKPKHPHC7CqnbEumV4XD4ESX8QWMogU0Q7bta87UcL2QJlau6qLRjEljLTu/NUWvABCWquLI1ZKAVtnMbBtdTZVxBbnVAvWqSK2GKd+24USLN7gNlIOtTDht49T5aqGzks+I7Hliiwg1mQQdWwdV+WBVRaL2AoCqpo+VGKt2CbXjq1R4tEg5MBf/vnv/u7v/vlfIiqGbt18AN8YrrDdW0hsjnLAJbaHXRCCd6q1lG2d5de3bxS2Oz/S6OZYeh7PdiPAVhINuKC4xFaoWHIEtzADwBa71onoLy05glgcD1Yrq8q2xLqWWQs+UmeE8MBf/iUK2pZ9Wza7aNe6R57GRvnAro/vwlt67pHHse3a6sqpA9vxTgGMPr4Tr/T8I48fwB68+7a6cKqx7pHnsI4f2PWIK6dIvpgT3WMrikGyiG3MDTceYlISceWSKS/F47AVJ6kKbH00t9ZlVG7yLLHzsV2NRsXf1lZEs+zbvn1H3T69fjLynNzYsnPbjq3FLmILirrnNu/UKzy3OHRLD+zdtuOxnQf0dxvRoGyvg04VNmWv13hg57adW59vdOgCwwPg+S27oFONTk617Nu287GdjcWazY2oo6TOiJRe/Rl5BoBOIatJFywVItUI/qGT7r7HdnjpiF6UmdOX43GJrakss0xRrNMlEDwj+z0swQrOl0ripGfGM1nu/CKWJSOKVfAL2KZmvAS1ViHfIF7du+Wxurq67UD0bzaybcvhw1u31hW0gF61bN/++OanTzy+pa5opaRskbrN20/s2Py4rmOo2piq2/rYq3s3P2ZyyMZW3daCU9sLX3aO1xWcqjObqhbDqcJG6opaldvbBiNl7BgqUCBSrUWn6hAbq6srRQrtEXSq7sTOLY/XlcNZFXHwIogU6yk2O7zicZttfXRp7YaYD8eN1yslaA8OJSIohwjSWclH0AkLtslUIug5uGZpIwjvUfhLO9HNUO1t9loer9fTpisFGNpjr9TWThAEfKvNQx97/YUnv2QrTzQ0NOyGP3cfOnZM/81O6YWGhmfgL7sbjk2inGorO+V/vWP3E/aWdjc0vADfeqK+A2zvCbRTTxaceh3pVH3ZKRApRDw9BFF0yiFS3lKkmACBiHnbGwQBt9J2lGIYH8oUaD79raNe/1F4peUWW7qIbTKVjk8zThJghBhIytMhRy2Gi8opOco5KwWjcqoi24baaCY4uTZhmEnwGWgv4CGmPRQzGQRfVWrgRf2/38Ms+LyBSbRf4K2Al5p6vf6148ePHzt2vFoKrzXVT52p7yj9Wa0E3+jY3TcDnAJWbV2H34PQqammBns7JfPHGpqmjkGnEHpFpy722Dt1DIrxa8funhmPD2z9XEUcYKCgW4VIxSkv4xApoMR4yQXG42eYc9X7F5wMBif1j1OeaOwgxQSDk9XBLjQOw9DtQb2PumZsN1KSqWQy6VbZwDYtewOSyPPcmgV+hJfEMHHUXxibQwh4N9Qe8HGizdBcYfAOfIcLYx6rPzMw0Aekp1L69P99Q+cHOg7VHx8aGOqpVukr/hwaOlZPYZwCPbpw+7GmvoGhgR5b0c0NDfU06E4hdfp6Bs4XnRroQ6jB/0MDx57x0QJvGwN9WQ0uAq5PwkcZGCnOMZ4cyXhYfbTdQYmnwRkY3lOoHCs1tZ8gMG1E5L3Gdk1SyLYJeLSxC2s/RMAlZRx2lwMHOZGPxOQ0OGSSspwsiZxMgb9SCTim7G2fBGGW5HQK/LORFLyMDOxuGhoaOHP12tVr4Osq+A5+GgJ/u3btYs/5oTO76wEgZ6au2QnUmzozNDT0TDts+yhwSgb/7iRNXslwafk4XMiF3H0MkDZ0dXYWfGzWLPrf164NAW5fh0719VwuWK/e5MUeQD5wqq8POlX4tEXAS9CpgWfaAWsReFK0iJ5qwA8YKUEk2xkjUncsYkQJ/E+K4HgMtJMgCZSWmCtJQSeVioLdj7QfjAC0Z6yJrBAAoJtcAO4IRz0AcfH9h60xJyGnqfm8i9lflrllahwgH2qD43mrejES2ykTURAX6mAQHBwJvfqTajVZKHQKlJgvvQwIuLi4uLwM/sMf4JtZZkFy7HmyYWigb2h5WX932SxQBXwbAlr1EFs+U6jDl6vcYD53Ezr1peMgj16Gn1yer7QEX7x8ZmDo2JcOgZx7cbFiW6UNzgOnBnqerAdsn59fXly2Or1c+FTRKRCpbNXKGCWJRUSBapuEt/FzlVIuCQv2bPIgBY/K4v6YdfSaLkoGptn2l+DtpYrCibnSggaaJoLDxONZyyXZA4atpmTYcKwCupwWS5gYS81VRjD38yK2/KqqJmK284Hy4MgXqTaIrZxLceGoojpgO9QztTh16lTPNdDkD1dIGduei8vXTp059RMAW5USIGSohK0isaxsmSli1OrJRYvYnrm6ePHa8vxFG1MA26ECtlMAwYvXIIjVTg2UsF28dnF+8eLVaqXlolMgUtlsVEFjK+rYRhJoehIghTI6trFcTomHWD5jNmUsdlPAFuTRsKbElIojoNAA6vsf2wxDB6molo7Liiwnspoch8vmUCyc+ROXwbdEVqKVJEyqZepyiSK2QkZVadK2zGgZ24isBPxBn+3kZBO2y683HH/ttdnlxYc3WaWA7Qsg215c7tl9/M0hyFql0iLo+RaxVTkqyPizVek9r8UK2A6duTrfNLV8reFatakKbJv6YB6tdsqE7VDTfE/TVLXSsulYyv6cyOYKT6lCscdWzShobIUCtnnlJhUM+gPZwkobVdlWx/aOz7Q0DVQsZtsytq7HbR8wbHMLvrQyF0x3e7xxyueJpEhPACSpbjanKYyHTCg0McnTcTpu7QaUsV1VZMo/jcM2S3KqwGCxfWt+tuknNhgVsR0C2A40zc/DM7sjtrI3oaSZVFWjlLAdgtgemlpEYNtjwna+aWB52d4pE2CyzPwAACAASURBVLZDTdds2F5eLjuV/YU3oyq2T6CYsF0NyYg5qjLoSQBsBdhJkOkFKRYLRJSqNcT0NRgNbGHVebvcrmmSge0abjc8WNjymsgompJPBGVK9LIyxXXHuayS7wbZNuFNMUGBUQTO2/3zHBJbLcxwtILoJAjFbCt6KSaNwFYoYfvm4vxrZ3DY7u7ouLrojK0Sp9Q47ZdVW2ylAraLTU0dL28EtsCpJ54cmJ/HYJtwg21ORV1plLGNaSzL0DQpUhVxzylZnithm6EyCFMSLwrvZ2y5vERnFSUh+zztEhlTfHG/J6Tk8jSb16K+bJRhQoomwiV/kNhmqaMeTwKHLeiAMIyKwfbYW8vzHT2Lztj2NUxdnrXDaPl8kRAh+zNSycxR1Qv/AGwjJmx7Ll/EYTs/5QLbxYFnTjVdxmRbcArIqPYPTpmxRYJkxpYKUdkoHaOrseV0bMUPOLZaiozJLBOiZFLwslFqWpIpGWTb4J1MgowHgoI/IURozr+KwjYTIxWVYavXvLRgm6Xn7pzzY7E9dm2q4fIitpOwvIzBdjVNsXfioIuDwXZqfhaH7bWGqYafYLE937R4quMaJtvKROJOVsVhm0WlWzO23Uy37GcYseLxBCu2dz7A2CozBEElEwTpF7ykR4qTRFhVNH87QclB8D9FE4wUyDILKGyzHLhkjdJZTLaFEyBkXCfh+O6GBrurLQu2P+nAY5tRZJogWMU52853TC3OHprFdBJO1TfNLuKwvfjy/OzLp7DYEgSDy7arbMpFtmWC3aTPE1pQ8ghsBT3bZj+o2IKz1qq+wK+iKlQcpIJVxRhJgQuowjdUpbAapGaPrb48q6qoGGw1BfHckglb0I0E/cNlZ2yhEj7bQsftcrs12y7Owy9s3xbtVAlbaGkR10nIrQLBdxJQD3iZLslyso9Lp+SgP4vqJAgCzLZp9YOJbcQ0qKXGMjnN5SoOpmyL1LFi62SphG1hbN8Z28L4v2PfFrUTFdgWtuiMbWGLztguusHW/rK+AlvkggSmbKtocdpLkmxGyztgq8RWtQ88tjAhajVsbbFdfsCwBefIbDYLskxeccAW3ZYfpGybW8PD8zVs31NsNUQll18WbDntQcR2kxtsN20ctpvcYLvJDbabatjeZ2xVVb1X2HL3FVt4+38N2C7fPbY/WXaD7apaEu3usbW1oylZ4y7ZLw+2axIDW94RW610c5eTc06WSjd3i+KMLUqpSIiOLWo9rFzUhC1yeyZsHZ0qYbuMcwoOgKEjtXZsUeUFf0mwxU9arGFbw7aGrTtsPxdXlNinQbsLL3lD9th+FJwks5x+DWQo3QW20Jb65aIlFLafW1BU+ctmp+ywJXVDlU5tNLY5PLaqUsP2/mL7UUX43Ke7KdD4qYdnvoHCdtMnvpGWNpWU7grbQnbULSGwfTgjfO432ySzU3bYJoMzm6qd2lBsb2qoWxIWbLOoYdsatvcG27asQVFCv/CIobDdtOkP1LLS3WNbsITA1sYpG2z/QP6V7MPVTq0FW+zExVg2kHaBrRDL17C9n9j644Xs52E/l9i0CY3tJvXTJaW77CQopc0hsIVOxaFa2SkbbHnPpmD3piqnXGOrzGXwcxIU+/kdFdhKTC3bvhfZ9kVjuOgTjtm2pHTX2bZoySnbfkIxO1WN7UfhFI50tVPusY25wTbmppMgf3Cn0jzgfdv0R2Nf3oTr2xaUNqBva1hy6Ns+/A3F7FQ1tt4YNPPlKqfcdxIUDTtx8SZyUq4F2xwdq2H7Xowk/I68KfPhTZiRhKKSS2w5NLYFS04jCakXy04N2GArHwWfn5SqnHKPrYqfJh5VHUYShPIAWIRTa9i+l+O2Axs3blt+luxux20HNm7cFjpV6CQkXHQSNBTcRWwlEWCrJRjlg4rtuqhVXGIruMFWLE0TLxYX2GTzkGwR2/l5xH3URUjIgIFtBnk5novBY8kyJ8HmlqzpyV0nbIeKj0DeJbaqGdvJX+S1yooK+vACxNaokxDTVNTuZcrYKlpWQlAp8gIPsRXRszcs2AoQ2+QDhK2irgdbGGcDWz6NBD8Hnw81sE0gg6POscacBFgCASXz14qdhIGheaTW7EBfAVunpbUlA9tCeQ+EwFoyx544dH4AZHekU7N9AGsd24FFtOs9+gPnILtxd1CRUpXpIrZcXJHScKZ4NbZqrIAtz02j80mKK3YSWHDKQWxR4Tkj20p8GodtXsvN6Nk2/SBNXIwm1iNxWBkXYgtCGEcpLbAlbMU42lIh28I6SZdRcrGniK2Dkl5MCWLLcei9WmDh/B6Ibd8Q0tLlnp7zRrYF6dbBqQK2jp4XnBKdI1XCVkAqJXhOr5Mg8Dy7gFSaZkUDW0BmPJ6Il8WkFGMFA1uRi7lo7YgAy3s8SNiCOK2nep1e0lfHlo84aRWwFRwWNoEHgI7tkFGkzlZ6iuU9BlAaUAmcjvVsW6yKxyOcMrAd6OtzMDUwUMC2B7nBnmK2HYL6fWjPC05hIzVZWH4D1SKCXpUGhtPJlFFMyWYpD3PMxULfludcrDkD+8APVt/2bgRgi6/Pb2ALg4guPm30bXUZQAgESMfWWQqdhNI6E7ZbK2KLMWVgixbolNG3dfJcf8+YBIyL1MFJp0AZ7+lVaXBiZNtyoXv7NT+MSzK38sBgK28AtoKLxgjiLZWxdZB1YIsSF9gOYbEtOFWPV1o7trarx6wNW/GDii0Bz/HrhhYOxnCwQK5TFX9RJD2MiAs0H6hvAldTfQ4U9fXBQqHwhIvB9pmjEeftwYK6ZP2xHofUbmzxdeiUs4Cey+76oSH8sXQUVrDlndc7ApHCws0zHh9mlRrQ3WDbD7J8dba1rpxg9G0LrzrZ0w3xZPCBwTbAiesXPkR4aF5wVpKCniDJ4o6AiPfUM2/iMlZfR0f9saHzGK3X6ymal8wJyu40cfRUw5nzGFNnGk7txjrVA53Cwn2snu7GhVoKHg15WRG5SJchES/rCTobAsdHN035uMKyXpb1wszbC3hoECnBaWGwokGQnEKe+AOCbZLzUAF/WQJrEz9BSh4K8ynaw8RJL07JS11+7YWO115//TWTVP7V1HDxVH3H687ycv0ZiSD9TNH0uXN22yNgEfzXnC11NDRdfq2+QunYsWPWF5rqL56pP4Rx6lD9mRl8pIhA3Of1n7P1uBRzry8RIPyOEvD7iOn4UdKvWzqHEsrDzhCUu0ZnYMjWjFlSxkhyPdgmk6lg20tu5WBbW9tB60ttNE1ZX2n3+D776Md+zSyPfuELn7e+8slPfbbphSf+k1meONTRsdv6Sn1TU8OTXzK/9EdNHR0NFqUv7W5oathtUfpPDR0dTZYX/ujJhqameqvSMx2vHarwACg1uHLqiT9an1OWj30JOFUVqc9XRupjn/osSVibqK2bpj3WVzykz1vRjiRomYO4FiWqms9B2ui1QpZKhPy0ozCcnJTXjm2K91D0XYvZN7KN++ajn/1CWT7/hWr5zKPfvlgPGtJRmnb3TDXVY5QO7T52+fVnXn7NWau+aapndxPGVEP9xYsvbIhTL7t1yhqpL9hHaobwYmJOtUfmfJ6qN/1rajisUJ7IWqntJrqdbXZ7mMR6+rYkJQrrGbO1DBKaxwsFH/XoV74F5Ju6fEv/qpBvfeuzn2061GdZpKNyqZGBofOv7T7W0DNUXvHjTF/fmcr1PIZO7T5Tf2pgqOLjAz2WUdOeF47XvzZkGlftGaheQGSoqUl3qmwJ/Dqgf76vtLmh157Rneqzripi2Tp0qgc4Ba4vK5ZE6SuahSuj9DUch5H6pqOASFFvWFbzthk+FwNHJwnOPEjL86zb1ou4XWNGYNrX2LdlCU5ADp0bI9XhozPpdWCrDzdL5hspdyNwAgLn+RSE9tvfLcl3vmuW7/w1wPabn9wN2v7MRfTdrh44IlB/Ct7sd1QaOvRCB0QbeY9qCi4dcry+Hl7yO93t6hvq2Y1z6gycW1APLtJ6hpycGtCdGnJy6rzuFIzU17/9HUNgbL7z3e+U5LvfNSIFB87YGdSNs3iMlWB55RC4QJbKN8PgvbHERjUrkDmYkYjQmqiVfUFehPfp7CUBpzmIlD+9znFbVlH1+ujgSymLugYpfSjCCxLxv4Bgf+vHSHkbNMa3PvkMHOqaLS/QUXEXH67SMdDwBFxd6aqxlkhxERLzoh/w1mrHl16D1M5D0SvMLc6bBHziKiDyzScaALUD84sVy5iUZB4eJrufgYNrs+VPLxomC6bml0H+HGp4AhxLPddKPizPVyxYMnVmaAA4BakFO6KbWazYTcOpU098pipSb1dF6lEPHKIqT4dRLXMU8poGyNAXExe48tMO+VxhKgGqlsia501Ng4PHt6Zx27RMhAQ+IiMLmuTgBAuaXMv0nNJdMjgql1PTsTlFkcF+KnJ2LpHQ1rmfeU4SReKzMNn++Pvf/va3v2uLLexCfLIeDmbOz15bXrwKm73iOKDmL5oIWbx8EWK5WKm0PFXAdqjn8uJlQNhlgFyV0jWgdOqJBrjizfK1ixenIJaVSovzQ31DfTq25+dnpxYXZ2E1+yoteJgAp8BhMjs/Nbs8f/XyYpXnizAnF7BdLK7nU6V0rQ/kdR3bb1fCWhGpR4/CwalVRY7JpcpBZhDUaV6U4GLiIpfSsrFoUkulNVWRlZ/H5YyiaBvBbU6fVilQa7vdIBNhQQBOKRqigE6c07FdT7aF2Gop2ksEZUrOqgkm5qFJeb3YgsNH0LPtt3/8zc985pNfedsJ26Hz8xebrl1tmrJp1+WLfQYhQ5CQpoam8zawFbEFRF6ebbi8fK3hajVrENuBIrannmx4occOyHnQhzCwHZqf2n1x8eIpW6eK2PbNzu4+vjjf0bBsh23xWJqCB+Q8RBfhlIHt22//2BlbXhDVFEX4UrbPPMyAnhnAVhAiKSVEEFSCCWezChP3kRSrKNoGiT6tch3Y8ilFf3rIBts87CX4yeQ6seW0GJlJkVEyQMUSQf/RyfagcvfY/vjH3/28c7YdGpqfP94BC947YzvbMbR8teNadWIzYzv/+pnF803zOGw7li93oLAdKGTbqfqO2fNvOmALrshmrzU0zF5taMJhe3Xq+CwO229+/TtvY7AVlOmI6g/ZQmjCNkMsaEwwQFGhbDDUHiDITO69xzYX88xoysZjG8nLBM3G0l42RMVIiZK98jr3zYLt97/wrR//GJNtl2dfaJhdxmELa9SDU/IigpDX4bzZ+amO2WMX7SyZsX2r4czrp+Zx2B46PvQTLLaHGi6e6XDG9jI4mzRcnsdm268++tXv47BVlDQtagom2/q9ISEToBaIODntXaBDqvYAZNswHcrk7kG2zWdlcIjGyUQMYDtNZcjUBmD79le/+mMMtn1/v3y5ocm2b2vG9loTYHZ2HkmIju0i6Gzoheqds239sWPHMNl28eKhy4dOvbXojO3soVPHm3pw2ban47XL8+hjycD2+9/8/Fe+g8NWVYIRTcVkWzXLM+R0IKiQcXDyTPhZ7UHAVmHuSSeBz4sRJU1KvtRGYvutz38fhy24JOs4AzDCZduXzy9ffR2cax2wnVqe72g6Po/Ltqc65q8CuHHYLh6vx2F77eXLDQ1TmGy7vHxtquMaDtuvfPX7+E6Cmg4kwQV9zhFbOZBVg5MMmyUTBra5BwTbvHIvsm2a7u7ujlOpWDcAt1vxscpdY/v2Zz77hS98HddJOP7y/Oyhi/PO2C5ebHrt0CnnbAsu2s88MbWMxba+o+OYnaUytkOLUx3Lsw2n5jHYdsw2HL/88jKyw62fAoqjYo7YoocKzdhmUWuMmjsJkzTtizKsQsWpmE+epDKq+mBk23uBrbaaisczWkLJylk5A9cPU9eNrSgWsNVHzHHZ9ipIRdeuobPtGYjt8uLVKdtTrRXbWf3C3Rnb2ctTU7PLztj+/fy1xcVrcNlfJ2znQbdkdv7a/H3DVk3isOVAJ2FhQdbklJJQEqsJJRNXcg9IJ+Fe9G1BT39VH8jW7vLYNGGLHIy0YGusJY7BFj36acZ2cd6REANbeHdg0Rnb89CQcRPBCdtluKD5ok03+R5hmyvcQnDCNq0vRQT/5TRFX+JIec87CdwdDYPtmsZt58p3yTiYwjfkZFLG9q8xjVHAFjK7OI/LtqjGt2bbZTfYoiyZOwlILQu2SKWNx1YQnBYhN2MLL302bvTg7rBNyp6wXkQe5H7V9nbDXWKby91LbP/u9//Vv/n9t9eJ7dB9xnagr4btBmOr5VU1977D9u3/6c++//3/+O9q2DpjWz64/+Y/3h22uQcN2/IN6fcRtn8DiX373/xdDVsnbE0H991he6/k7rBFV7p5ULH9338ffv93f1PD1glb08Fdw/ZByrZ/tmnT39WwRWFbOrj/lV427G9q2L5/+rbSpz/84U/HnbGFZZF/5Q/SGGz1is6/g8FWV2Jw2Iqf/vCmT0xisX3JsOSALdzcR6latv2gjSRkPvq56blvvIjDVpXphz+HxdZFtjUpobEFTkkJ4nNYbB/+8u9gsVWz33h43X3bXA3b+4qt63Fb4qMuOgk6a5FN9w1bq1NIbNlPKB9NusD2E+seSUjEatg+UNgWb1t949NusVU3LbjoJHzZRSfhV3DYQqd+c9OHcdh+zqN++Rv4TsIm73rHbfNBLlfD9kHE1n225e5ztpVx2Opl8x/GZlvF/2F5vbcb6EQt295rbB8yxBnbgtLyom3ftufB6dtmaBy2B2HH9uFJPLabYhXYYiOlYysocrei1LC9t9g+VBSnZ8lKSovmkYTfWcNIQoEQVCfhN91ju+w8kvCwD4PtJzxw4dPPYTsJH/5GRScBH6lCtpVCqHlODzi2d94P2PIQW9AK//Wf/3n4N+xbo4AtbKvf+od/KHC7rnFbNLZrHbddnh8oY1t6MBw5bjvUd83NuO3U4uys87iti0hBbEUxG4rlcJ2EyAOJbfLBx1YrYvsbo3/4e//0X0Bj/B2qToKObe8PdGz/fnmZqpBl44FzK7aVSot22FZZssO2SsmErV7XwF7LDtsqJTO2p6b0eZJ2Tg0Y2DpGSsfWAyuIptk72AGwSOqXK9uquQ2agKHACv96tn3ood/7h7+CjfG2Q7b9Lz/4Cx3b/2GzWsfFgWpsq1cFKWJ75jJ6wQ87bKtXBRmywbbaKRtsEU7p2C5fRPlVwtYpUj8uZ1tXtxseSGxT9wrbSCKV3hiB64sVsP3/1P8OT31/9v0q+c7XYYmgZx566A//20MGtt/7H9csMjs7ew3WSTKwnbqGlAHQ+DohAwNX7TWApalieY++nqtIS5fPGHUS4BFQ9KEgZadgKZnzRs0RB6f6itj2DV27inDq6lSpk4CJlNG3ZeOZjB7hTOFnUTJpGVYC8raxoB1j966wbBqWGqPWtOSIgW0kanbXYjIt3BW2fETgNkjgck7FbPv//gB8/w9fr6rG9vVvFrD9Iezm/RNQ+tr3KgvJ9ZwBzWpgO3SmBy0DRWwddACQRrYd6kGbOgMXDNGxhRXyevpsVPqgU4VsO3DGWvbOvL7Imb4CtgPI7fUVnPoMPlIGthyLrCgXiQiFbCuy3D0UcV3ZVnR0SljzQzlz5rUbeEwxafflxQvZ9i9+8D8XG+NbdqJjC8TItl87b1s2voDtkL6KAmopjwK2Q45LMEBsBxwr3sM+goGtaZWQqnVEYCFzvSqNY7X+oQK2IL/3oTY2NFTAFhepwgCYKBbXFKheg0QsYMsL91IkvZjSGhiTdWwFZAl+Xi90vk5sSwXQN2jvRMkLsP2t3n/+5//2W6Ax/jf7tihckhU7CYha9AYhTnLeqEpTSVpVCXqYbQewq4Lsrh/CGCo6Vb0QjlX0Ujm4uvg6tthIPerBRbyA7b2lFgKyNmxTsocVqhZMqajIv05sCX6DsRUEwjQaiUoh3/zk7vK47ddQKyg0PHkKvwJNx+4OF9g+2YClyLgkw2MLnMJgC3ouwCnsBt980kWkvvXJozwOKHCGaw+Jwj3GVhTJwJorLjpjC1ffodJrxzbhCbrGVrT8QErQ8+jXi63xH1Ap5KufqX+zr0gtKtmeeeZlbM4639PwWkMPFtuOjvozOEtDx1+oP47l9swzHa9VdEnslip5vaEHi21HBzZSf/2tr3yGCGKBYj3dflFw1z7rx5b1RE09V0zHNpVMyn4/j8m2UoTk1oGtzBBMMORWgqFgOBR21mGI0Oc/85WvfOWP//3/+u//+I+/ai9fefSrb73w+qnvfe9rX/va97536s0333wLfJ069VZZ3nzreEPHxRc6wBvw7beMn5Xy1vFDTZcbDr1p/mSlANsdL0x1NBx/y1lerz/15gvHTr2lbw1h6k3oVH3Hm6ecRHeq6dDxN439sjoMjJ8y9hQ49QU3kQp5Aph2mfTSUYIOGk0E/q9FQq6bf5KkKqB1GFPSFwaZKThVBsi6aWCTIhO4A8A8/lDAFnALFxJxJ+0egjja1nYQLXBJEm/4K5/5tY997GOf/NSnPvXoJz9mK7/22a+eOvRHX3riiSeffPKJJ74E5Ind9fX1u5/4kv6HIX/U8P+3d/4+jiJZHN//47KNJ9pkgpFmw7sN7l+4eIPerANLa510SGiZ7JB8wSBHJFzgkKQlROCghEogVIFFYLSWE0+CtCXU/HAB8lWB7cY/isJ7PbPbPXxbmva4Xz8erz4ul2nqvf98/Nf+8fvW8229f/vDLx9/+eEt58d7o3fvfv7473+8fdep929/+vjxJ3qkDlEjGtTP70Se6qBY1Jdx/fXv9YmyH/z8sclUp/72z8juSjnL+o+yPTfu2UCOJUka39/1H1FJGvU1v9PaNfAjf94ttE7ixfjU9zkt93dKiJMQ2h1+7DlYHuf2Bts4WWqqqnxQVJEU+qXqkSu2VNXvqN5895fvLf3Nmzf14x56860uf9vL8kWLZkS3v7/lROVIlxWF5p+vZnSoZAkudalt3TGi1EjSkCYp7LFgXBuDpzUCjgxZVbppUUNsyUJeYII6D85cySY+WyTokgMdJlDL4QpCaN8/SGbdpMLpEvUCHBdaY2SO2EU75hWcyTl9ilmNTNmArneMoW6G4YglDsgRW+ytHCA+mDiopo/H1UN6rqNo6F4/BN3pi5lAVdboJxv2kDtAsA4bONAFmhKONeYcHAeDJxamNjIkAF0oOm3mHAJdPna1iQ3Zrg9yPqqHkDxIY3El+zRdl81OZtJCMrsGmkYH7TE8wRZjyUEeRIFQSxeyTqV1X53FshbHMFgEwYL9TcXQR7brQciebKm2qb8fn1ow5/aorrWLgkWj2tkiqL8H+/9fatH8s+iK/eBCfJbMU4fdYrF88id2dTiTowK/bsmi6ojii46xnR6xZY8cD3rqHaC/5HeNTZNT5NDBGWt19/PFUijE/qI5/dFmDVUXQnsEqNenDk9riY4YDers/I4BIegjOFZMxHDhiZ4ecidqHTD33Bbs8q6p4cvrtiAjpOkaktfft+RSOZ5TyzuDHiFsOpKQLkXQ9y157Ls+SLaN9cHrdrulj4uifZTUps5H9DUBf2172W7JF9S2TsBn1SOrZy/f0+TAzSHR/ERuczpm3mzELtMn9RPFIYMt1WliXzllHCn1VBES8RjlIWvhegfpVIHr884bAjg5X1DKJ8YB24BdTHYf+d7R8UaJDd8oZL0b7nX/GPB1lDxvLp9gm0b1rTSkJEmSVySrqoJzMzIh7K+HNbafqqzaptsizzPuTRLY8Si2EvJ8UJZFnpIqP3guyqZCXtk6EKHY+qMpe02UHHHuUKufLqvnuBGI+SAsvue5Ga48aw7CtPUph/IdxdZhxWqzqoZlV2RJejXxITU3GbaI2pWPNN8UKl6GqhqVEUMlKtOMzQadletqHu7pP5AOfYpTUmSs2B25flvV8uRWmhpbr8M9o1ytsY25tUrJ2vE8445i66z5nhIWpnQFW7cqlopsZhGrQxpeb1NRVEdsN3iWp9qmsoB1HO5LbP0DtpRP2yTE3NhReYJt6/d2oMHW/aOxLb8UtuCRVJGWFCFYW8VmKiuoKDnYjukI+cRZ7Wwjj2eLRR9syUwnRaBEHfEVuMHW9dyMRJqsR8R83G7jh+2zYuskpIrL/theZJ+LrbOL1WVuWnMpBMA1r9ZELVvYZipeSSbRlihB83ledWO7q37TNEz0UDWLS+L22M7934ntM6v8vO4JqrF12cJsV1gq2PmmKW+mNolUjOZrPra5Y+W6Eq3MaB241vLqPfoLdivYHltdCYk5WqeWnWYusNMAE/90pEp8mG29LJuCAs3CEfItpF2H8Qq2iOwIb8tFC9uyLoLfD1tW4LQvtnC31AlJQij7I4diSwTYVmZoP2iRFqmhBBQkwLaqAuBCiu1kTriIzH3/K8M23eV6oJHFzFIDNclDO1GNiPBn240WTe0AQGBrmqVmQmyNeaLL4ezBMMLRXAE6SpTTfQZl9IRtpGQFWa+kQH5YTHtj620r7jrxaZGQVDxsyzNsyzLPy4s3nSvYJg22pTdjTR9DbaWk6PoxWth+Kn0wxZptxupKJSYUYVuYxkxP9c1sxYeCYov+DNhWXxDbhWzJ64UZGMtJtlHHgYr4a1ufpBoEa9tYg7kGsknSjS3OdV93zAmSzZkcyPnDg75Iudi6+SctZ3WcNaxGuP9sS4MCMMvz/Mr7883YEuomW1sXr9wzbFtdIGEVTrLdBq60UCXIvAoIKZ5m2x02psTSAqyG0/yhC1ufLRKw8mCrS31trPiTWb1I0KjzVfWa1caWToi2YflmoGNlU1UTNAm7sK1MPcSGngEwdekqjYNtvbb12Wy7MlRfQ4r58EAH1TJ1FMkJF1us4jJzUi3R8E3YLkfqhErPLj7GtbdcEDO/Wtb8CVu4IaamaZPJvU3K/tgSwwDar5HqM2yJENtUs8hSTSN1pZNubOlnj51DPx2Yur4x7ZzL7VeILVbwLlKhqSw+EwAABaJJREFUGaqxrTv/lcLJuiId2CL5t0w3SwB0L9OSDmx9im1O0y0lWjgzZ9PVhFgPpmZK/Nm2sKaOYWZqQLGd3oAtWTpsh8UjITxs3f1se/VjfgvbIo7jJFvS9XdxA7aZRd/sc3vpkmgpxpagqMo8kvlpQJabbmznu2BVkQiiJARbbm+IrxDbxCu3BK6XmY1LZJq48uMubIvHX/MiCMtPaxRtr24ta2GLySLd+IWXpJaJU69ahYkFYc5b2z5WBNBJhUCEsmxR9F7bkic6zq9ytbDdOtr86hK4he26bK6yVpfXUzqw7ZHwE2yF5i1se33g+fqwTfrsOm1je3a1q3u27fPpszXb9jC/NttuxfsyKbZkpWxKEbZ9r9v+EdhWA7avClvSC9uq2uyufqIesH2J2PawfyXYVlc7sw/YDtj+ybGtBmwHbAdsB2wHbAdsB2wHbAdsB2wHbPm30gzYviBsuTdnDNgO2A7YDtgO2A7YDtgO2A7YDtgO2A7YDtgO2A7YDtgO2H5ZbL0B2wFbQe+G/wtbpxBzuKtsyuCdwQpT9NjXFR2xtctKfIce2W8492G4271+bCHbudvDfBe6vk+xpa/pp70qJX/DeWtTTo/NnNg5YJvtiu4hLXc1hxfY7grexr86lnrnbsx9pbU25fBmq7LaxdC/2AJZV6VxkmM1lpwnsnEO2C6yDru9wn15D98HOMuFwsDdY4tI/oqVwQO2MNwSYRoz1trJHFNsnURcLydxXLepk+AGPXKeBcfyHpGgHA/bncjq6Zxh6yQ8e5Kx+vwNtp9y7nkiWGNLI0AZx2abr3nYutBDe3GbMniM2gZbUFfd75THZs96564LnaNzrnw6NzdVaVzwXF0k/pSiydhj69VpEWQRQn+PLaC/Ihoi6pxha3us8JovTHrd8KPBFnhIFLkDLrEFkBc4YuYMW9d1QV2l/2rAzKjG1qWGvG4g4MqGc4atz+0JcdHbgq5tWV0VvlnLuplta6eCHix7e4at0PMLl3eYbeszbWWAk8YDtp44Nc0IKYdq+P2S3uwl6xM4NWr1bmhqgD0d92r98aYPChPkR9xg2xFEHaYAW0Eh9LvZDVXT69n2Bvsa269Ae2x79ktg2N6QROW2Jg4Ntn2dP/UlC6Q+sTBsRaqxFYZ5im18E7a+eyu2fuNd+OZZTw/sSsJXge2947ewFGTGZxUXew8S6z3S03dtZd/1x9b3J8YB26Xk/h5sr5yeft8HW/lstpVA78ZArmfea67X8zxdaMwk+4YmPNZIgb7/+qkF8kTvv373oHoHmrUhd+zby0VJ145NaIRTuedqd3bvnCNP9g7YbmTgu65gkpNUUzwTaprm8XqSHHuGmfoZttOJ7fRsA+iYkinNYF9zU1rOWMnpnua2bEo6fP0C6nQxmvU312VNmbutIuad1poaSrrT37mky5bTc4wc/TDnURnKXPBrjqZ4kiXyOZNWkiEysqTTauJJvNHHcl+NTezJktLTWgIY66P+zvVooUr0wQf5NUuR9E0C+9tLMtqYktxKeld+JG2V+soHpbd3D1snzjuNW70bYhaU4ES1EIMzow9noqfnx0jIlGRFZ51yErxxnV6CCLNWE0vQTwjjmJp7oLOBQNucel8B2NlA4uULRmzGioK+5quIJb2v9w1NeoZDB/TIOTVfUudx1KtDBnUYYnzS41FgvsbUHvsinzH1FHbH6UVnnXKavmd9W/+m1PQ09O4mgMxxmpz1teaas1BwKmh39eK17+kVx7ifmF18U1/xuEm6OOF0ONkY4X4DlKa4HqQWDSLz2m/Ka3DesE+/kljEFD4i+s06wU9netSzNnN/ZnevSqfJjjt08WNR+8XPFzO+8Qyf3TL5ZoM/O7aDnuk1fQu2L/Ml3BvbCCcDtgO2Lw3bLIoO8y0eNOhl6BvG7aBBL0v/A4Q2RKJ1yEA0AAAAAElFTkSuQmCC"></div><span class="fig">Zongora billentyűzetkiosztás</span>
- <ol><li>hullámminta választók</li>
- <li>effekt választók</li>
- <li>oktáv választók</li>
- <li>zongora klaviatúra</li></ol>
- <div class="table"><table><tr><th>Billentyűkombináció </th><th>Leírás </th></tr>
- <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>
- <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>
- <tr><td><kbd>W</kbd> </td><td>Arpeggio dúr. </td></tr>
- <tr><td><kbd>E</kbd> </td><td>Arpeggio moll. </td></tr>
- <tr><td><kbd>R</kbd> </td><td>Csúsztatás egész hanggal felfelé. </td></tr>
- <tr><td><kbd>T</kbd> </td><td>Csúsztatás fél hanggal felfelé. </td></tr>
- <tr><td><kbd>Y</kbd> </td><td>Csúsztatás fél hanggal lefelé. </td></tr>
- <tr><td><kbd>U</kbd> </td><td>Csúsztatás egész hanggal felfelé. </td></tr>
- <tr><td><kbd>I</kbd> </td><td>Vibrato kicsi. </td></tr>
- <tr><td><kbd>O</kbd> </td><td>Vibrato nagy. </td></tr>
- <tr><td><kbd>P</kbd> </td><td>Tremolo kicsi. </td></tr>
- <tr><td><kbd>[</kbd> </td><td>Tremolo nagy. </td></tr>
- <tr><td><kbd>]</kbd> </td><td>Csatorna elnémítása "effekt". </td></tr>
- <tr><td><kbd>Z</kbd> </td><td>Egy oktávval méllyebbre lép. </td></tr>
- <tr><td><kbd>.</kbd> </td><td>Egy oktávval magasabbra lép. </td></tr>
- <tr><td><kbd>X</kbd> </td><td>C hang az aktuális oktávon. </td></tr>
- <tr><td><kbd>D</kbd> </td><td>C# hang az aktuális oktávon. </td></tr>
- <tr><td><kbd>C</kbd> </td><td>D hang az aktuális oktávon. </td></tr>
- <tr><td><kbd>F</kbd> </td><td>D# hang az aktuális oktávon. </td></tr>
- <tr><td><kbd>V</kbd> </td><td>E hang az aktuális oktávon. </td></tr>
- <tr><td><kbd>B</kbd> </td><td>F hang az aktuális oktávon. </td></tr>
- <tr><td><kbd>H</kbd> </td><td>F# hang az aktuális oktávon. </td></tr>
- <tr><td><kbd>N</kbd> </td><td>G hang az aktuális oktávon. </td></tr>
- <tr><td><kbd>J</kbd> </td><td>G# hang az aktuális oktávon. </td></tr>
- <tr><td><kbd>M</kbd> </td><td>A hang az aktuális oktávon. </td></tr>
- <tr><td><kbd>K</kbd> </td><td>A# hang az aktuális oktávon. </td></tr>
- <tr><td><kbd>,</kbd> </td><td>H (B) hang az aktuális oktávon. </td></tr></table></div>
- <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,
- 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
- 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>
- <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ő
- el gyorsgombokkal. Ugyanígy effektekből is nagyságrendekkel több van, mint ahánynak gyorsgombja van.</p>
- <h2 id="general_midi">General MIDI<a href="#general_midi"></a></h2>
- <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
- 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
- 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>
- <div class="warn"><p><span>FIGYELEM</span></p><p> Nem minden MIDI fájlt lehet tökéletesen beimportálni.</p></div>
- <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
- a nevezéktant használja - csak épp tök mást értenek alatta.</p>
- <ul><li>MIDI dal: egy <i>.mid</i> fájl (az SMF2 formátum nem támogatott).</li>
- <li>MIDI sáv: egy sor a klasszikus kottán.</li>
- <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
- a fájlokat mentik, egyébként pontosan és egy-az-egyben ugyanaz, mint a sáv. 16 ilyened lehet.</li>
- <li>MIDI hangszer: egy kód (amit a General MIDI Patch szabványosított), ez írja le, hogy melyik hangszert használja egy adott
- 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>
- <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>
- <li>MIDI konkurrens hangok: azon hangok száma, amik egyszerre szólhatnak egy adott pillanatban. Mivel 16 csatorna és 128 hangjegy
- van a MIDI-ben, így ez 2048.</li>
- <li>MEG-4 sáv: egy dal, ezekből 8 lehet összesen.</li>
- <li>MEG-4 minta: a hulláminta mint PCM adatok sorozata, megfeleltethető a hangszereknek, összesen 31 ilyened lehet.</li>
- <li>MEG-4 csatorna: azon hangok száma, amik egyszerre szólhatnak egy adott pillanatban, ez 4.</li>
- <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>
- <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
- "csatorna" pedig a MEG-4 csatornáit.</p>
- <h3 id="hangszerek">Hangszerek<a href="#hangszerek"></a></h3>
- <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ő
- 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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <p>Általánosítva, a General MIDI hangszerből a <samp>(patch - 1) / 4 + 1</samp>-dik soundfont hullámminta lesz.</p>
- <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.
- 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,
- é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
- fájlod pontosan ezeket a hullám sorszámokat fogja használni.</p>
- <h3 id="kottak">Kották<a href="#kottak"></a></h3>
- <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
- 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
- csatorna mikor melyik hullámot használja. Itt egy konkrét példa (a General MIDI specifikációból):</p>
- <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>
- <p>Balra három sávunk van, Electric Piano 2 (elektromos zongora), Harp (hárfa) és Bassoon (fagott). Az első hangjegy, amit le kell
- 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
- és C a 4. oktávon, és mindkettő 4 negyedes, azaz teljes egész hangok.</p>
- <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.
- 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
- 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
- megszólaltatják a hangot, ez nálunk megfeleltethető a hangerőnek (minnél erősebben csapsz egy zongora billentyűre, annál hangosabb
- 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
- hangerő 75%-a.</p>
- <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
- 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
- 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,
- é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>
- <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
- 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
- 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
- a MIDI Electric Piano 2, de elég közel áll hozzá.</p>
- <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
- 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
- csatornán van egy <samp>C00</samp> "állítsd a hangerőt 0-ra" parancs.</p>
- <h3 id="tempo">Tempó<a href="#tempo"></a></h3>
- <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
- megadhatja a negyedhang hosszát milliomodmásodpercekben, vagy nem. A lényeg, hogy bonyolult, és nem minden kombináció fordítható
- á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
- 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
- kell szólnia, és túlságosan eltérnie sem szabad tőle.</p>
- <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,
- 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>
- 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
- 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
- á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
- kell használni a 125 BPM-hez. Remélem világos.</p>
- <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
- 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,
- 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,
- csakis azt, hogy meddig szóljon (mivel másik időpontban fogja elérni azt a sort, amiben a kikapcsolás van).</p>
- <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
- 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
- megadhatsz egy ún. "loop"-ot, ami azt jelenti, miután minden minta elfogyott, akkor a kijelölt tartományt fogja ismételni a
- 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>
- <div class="page" rel="memoriaatfedok"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Szerkesztők »</li><li> Memóriaátfedők</li></ul><hr></div>
- <h1 id="memoriaatfedok">Memóriaátfedők<a href="#memoriaatfedok"></a></h1>
- <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>
- <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,
- é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
- 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>
- <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ó
- 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ó
- 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>
- <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>
- <h2 id="atfedovalaszto">Átfedőválasztó<a href="#atfedovalaszto"></a></h2>
- <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
- jelzik, hogy az adott átfedő nincs megadva. Összesen 256 átfedő áll rendelkezésedre, 00-tól FF-ig.</p>
- <h2 id="atfedo_tartalma">Átfedő tartalma<a href="#atfedo_tartalma"></a></h2>
- <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>
- <p>A hexdump egy pofonegyszerű formátum, az első oszlop tartalmazza a címet, ami mindig 16-al osztható. Ezt követi az adott
- címen található 16 bájt hexa formában, majd ugyanaz a 16 bájt karakterként. Ennyi.</p>
- <h2 id="atfedo_menu">Átfedő menü<a href="#atfedo_menu"></a></h2>
- <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
- 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
- címre, de ekkor a méret azt jelenti, maximum ennyi bájtot szabad betölteni.</p>
- <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
- 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ő
- 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>
- <div class="page" rel="vizualis_szerkeszto"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Szerkesztők »</li><li> Vizuális Szerkesztő</li></ul><hr></div>
- <h1 id="vizualis_szerkeszto">Vizuális Szerkesztő<a href="#vizualis_szerkeszto"></a></h1>
- <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>
- <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
- 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>
- <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>
- <div class="page" rel="debuggolo"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Szerkesztők »</li><li> Debuggoló</li></ul><hr></div>
- <h1 id="debuggolo">Debuggoló<a href="#debuggolo"></a></h1>
- <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>
- <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
- 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>
- <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
- például a Lua, ezeknél nincs és nem is lehetséges a támogatás.</p></div>
- <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,
- é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>,
- vagy a <kbd>Tab</kbd> billentyűvel) váltogathatsz kód- és adatnézet között.</p>
- <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>
- <h2 id="kodnezet">Kódnézet<a href="#kodnezet"></a></h2>
- <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
- 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
- pozícionálva. A lista tetején mindig az a sor látható, ami jelen pillanatban épp végrehajtódik.</p>
- <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>
- <h2 id="adatnezet">Adatnézet<a href="#adatnezet"></a></h2>
- <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>
- <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ó
- 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>
- <h2 id="regiszterek">Regiszterek<a href="#regiszterek"></a></h2>
- <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
- 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>
- 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>
- <div class="page" rel="c"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Programozás »</li><li> C</li></ul><hr></div>
- <h1 id="c">C<a href="#c"></a></h1>
- <p>Ha ezt a nyelvet választod, akkor kezd a programodat a <samp>#!c</samp> sorral.</p>
- <h2 id="ex_c">Példa program<a href="#ex_c"></a></h2>
- <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>
- <span class="hl_c">/* globális változók */</span>
- <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>;
- <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>;
- <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>;
- <span class="hl_t">str_t</span> <span class="hl_v">sztring</span> <span class="hl_o">=</span> <span class="hl_s">"valami"</span>;
- <span class="hl_t">uint32_t</span> <span class="hl_v">tömb</span>[<span class="hl_n">10</span>];
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* lokális változók */</span>
- <span class="hl_t">int</span> <span class="hl_v">lokálisvagyok</span> <span class="hl_o">=</span> <span class="hl_n">123</span>;
- }
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* MEG-4 stílusú kimenet */</span>
- <span class="hl_f">printf</span>(<span class="hl_s">"a számláló %d, balshift %d\n"</span>, <span class="hl_v">számláló</span>, <span class="hl_f">getkey</span>(<span class="hl_v">KEY_LSHIFT</span>));
- }</code></div>
- <h2 id="leiras">Leírás<a href="#leiras"></a></h2>
- <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
- való. Ha abszolút kezdő vagy, akkor javaslom inkább a <a href="#basic" onclick="c('basic')">BASIC</a> nyelv használatát.</p>
- <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,
- nem tud mindent, amit az ANSI C elvár, azonban ha lecseréled a</p>
- <div class="pre"><pre>
- #!c
- </pre></div>
- <p>sort erre</p>
- <div class="pre"><pre class="lineno">1<br>2<br>3<br></pre><code><span class="hl_p">#include <stdint.h></span>
- <span class="hl_t">typedef</span> <span class="hl_t">char</span><span class="hl_o">*</span> <span class="hl_t">str_t</span>;
- <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>
- <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>
- <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
- <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>
- <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>
- <h2 id="elofordito">Előfordító<a href="#elofordito"></a></h2>
- <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.
- Emiatt az előfordító csak a nagyon egyszerű (nem makró) define-okat, valamint a feltételes kódblokkokat támogatja csak.</p>
- <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>
- <span class="hl_p">#define (defvált) (kifejezés)</span>
- <span class="hl_c">/* kódblokk használata, ha a (defvált) lett definiálva */</span>
- <span class="hl_p">#ifdef (defvált)</span>
- <span class="hl_c">/* kódblokk használata, ha a (defvált) nem lett definiálva */</span>
- <span class="hl_p">#ifndef (defvált)</span>
- <span class="hl_c">/* kódblokk használata, ha a (kifejezés) igaz */</span>
- <span class="hl_p">#if (kifejezés)</span>
- <span class="hl_c">/* egyébként blokk */</span>
- <span class="hl_p">#else</span>
- <span class="hl_c">/* lezárja a feltételesen behúzandó kódblokkot */</span>
- <span class="hl_p">#endif</span></code></div>
- <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
- 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
- kód ugyanazt csinálja:</p>
- <div class="pre"><pre class="lineno">1<br>2<br>3<br></pre><code><span class="hl_p">#define A 0</span>
- <span class="hl_p">#define B 1</span>
- <span class="hl_p">#define C 2</span></code></div>
- <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>
- <p>Továbbá lehetséges direkt értéket is hozzárendelni az egyenlőségjellel, például:</p>
- <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>
- <h2 id="c_lit">Literálok<a href="#c_lit"></a></h2>
- <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
- 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;
- a karaktereket aposztrófok közé, a sztringeket pedig macskakörömbe kell tenni:</p>
- <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>
- <span class="hl_n">3.1415</span>
- <span class="hl_n">.123e-10</span>
- <span class="hl_n">0777</span>
- <span class="hl_n">0b00100110</span>
- <span class="hl_n">0x0048C</span>
- <span class="hl_s">'á'</span>
- <span class="hl_s">"Viszlát és kösz a halakat!\n"</span></code></div>
- <h2 id="c_var">Változók<a href="#c_var"></a></h2>
- <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ó
- 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
- 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
- (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>
- <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>
- (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
- 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>
- 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
- 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,
- 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
- 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>.
- Példák:</p>
- <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>;
- <span class="hl_t">uint8_t</span> <span class="hl_v">b</span> <span class="hl_o">=</span> <span class="hl_n">0xFF</span>;
- <span class="hl_t">short</span> <span class="hl_v">c</span> <span class="hl_o">=</span> <span class="hl_n">0xFFFF</span>;
- <span class="hl_t">str_t</span> <span class="hl_v">d</span> <span class="hl_o">=</span> <span class="hl_s">"Valami"</span>;
- <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>
- <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
- 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>
- <h2 id="c_arr">Tömbök és mutatók<a href="#c_arr"></a></h2>
- <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
- 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ó
- eltérések.</p>
- <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>
- <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>
- <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,
- hogy a deklarációban megadott méreten belüli-e. A MEG-4 C összesen 4 dimenziót támogat.</p>
- <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
- 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
- definiál egy <samp>str_t</samp> típust, de ez igazából pont ugyanaz, mintha <samp>char*</samp>-ot írtunk volna.</p>
- <p>Mivel a mutató mindig egy címet tartalmaz, ezért értékül egy címet kell neki adni (a <samp>&</samp> a változók címét jelenti), és a mutató
- 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
- <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ő
- hivatkozás a második printf-ben ugyanaz:</p>
- <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>;
- <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">&</span><span class="hl_v">változó</span>;
- <span class="hl_f">printf</span>(<span class="hl_s">"mutató értéke (cím): %x\n"</span>, <span class="hl_v">mutató</span>);
- <span class="hl_f">printf</span>(<span class="hl_s">"mutatott érték: %x %x\n"</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>
- <p>A mutatók és a tömbök nem keverhetők, mivel az nem lenne egyértelmű. Például</p>
- <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>
- 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
- 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,
- ezért a mutatók és a tömbök nem vegyíthetők egy deklaráción belül.
- <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>
- <h2 id="c_op">Műveletek<a href="#c_op"></a></h2>
- <p>Precedenciájuk szerint csökkenő sorrendben:</p>
- <p><p><b>Aritmetikai</b>
- <div class="pre"><pre>
- * / %
- + -
- </pre></div>
- 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>
- <p><p><b>Relációs</b>
- <div class="pre"><pre>
- != ==
- <= >= < >
- </pre></div>
- Nem egyenlő, egyenlő, kissebb egyenlő, nagyobb egyenlő, kissebb, nagyobb.</p></p>
- <p><p><b>Logikai</b>
- <div class="pre"><pre>
- !
- &&
- ||
- </pre></div>
- 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
- paramétere nem 0).</p></p>
- <p><p><b>Bitenkénti</b>
- <div class="pre"><pre>
- ~
- &
- |
- << >>
- </pre></div>
- Bitenkénti tagadás, bitenkénti és, bitenkénti vagy, bitenkénti eltolás balra, illetve jobbra. Vegyük észre, hogy ezek ugyanazok
- a műveletek, mint a logikaiak, azonban míg azok az egész értékre vonatkoznak, ezek minden kettes számrendszerbeli helyiértékre
- 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
- 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,
- mintha 2-vel felszoroztuk volna.</p></p>
- <p><p><b>Léptető</b>
- <div class="pre"><pre>
- ++ --
- </pre></div>
- 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ó
- é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>
- értéket adja vissza.</p></p>
- <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>
- <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>
- <p><p><b>Feltételes</b>
- <div class="pre"><pre>
- ?:
- </pre></div>
- 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
- 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
- meg kell egyeznie. Például <samp>a >= 0 ? "pozitív" : "negatív"</samp>.</p></p>
- <p><p><b>Értékadás</b>
- <div class="pre"><pre>
- = *= /= %= += -= ~= &= |= <<= >>=
- </pre></div>
- 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
- 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>
- <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,
- például <samp>a > 0 && (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
- ugyanabban a kifejezésben.</p>
- <p>Van még a címe operátor, a <samp>&</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
- paramétert vár.</p>
- <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,
- 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>
- <h2 id="c_flow">Vezérlésirányítás<a href="#c_flow"></a></h2>
- <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
- 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é
- kell tenni (de lehet egy utasítás is a blokkon belül).</p>
- <p>Mint minden más, a feltételes vezérlésátadások is ilyen blokkokat használnak:</p>
- <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>) {
- <span class="hl_f">printf</span>(<span class="hl_s">"a nem egyenlő b-vel\n"</span>);
- } <span class="hl_k">else</span> {
- <span class="hl_f">printf</span>(<span class="hl_s">"a egyenlő b-vel\n"</span>);
- }</code></div>
- <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>
- <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
- függően lesz kiválasztva, hogy a kifejezés értéke mennyi.</p>
- <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>) {
- <span class="hl_k">case</span> <span class="hl_n">1</span>: <span class="hl_f">printf</span>(<span class="hl_s">"a értéke 1.\n"</span>);
- <span class="hl_k">case</span> <span class="hl_n">2</span>: <span class="hl_f">printf</span>(<span class="hl_s">"a értéke vagy 1 vagy 2.\n"</span>); <span class="hl_k">break</span>;
- <span class="hl_k">case</span> <span class="hl_n">3</span>: <span class="hl_f">printf</span>(<span class="hl_s">"a értéke 3.\n"</span>); <span class="hl_k">break</span>;
- <span class="hl_k">default</span>: <span class="hl_f">printf</span>(<span class="hl_s">"a értéke valami más.\n"</span>); <span class="hl_k">break</span>;
- }</code></div>
- <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>.
- 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
- 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
- a <samp>break</samp> utasítást kell használni, hogy kilépjünk a <samp>switch</samp>-ből.</p>
- <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>
- <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>
- <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>) {
- <span class="hl_o">...</span>
- }</code></div>
- <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
- ismétel, ha az igaz.</p>
- <div class="pre"><pre class="lineno">1<br>2<br>3<br></pre><code><span class="hl_k">do</span> {
- <span class="hl_o">...</span>
- } <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>
- <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
- 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).
- Példa:</p>
- <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"><</span> <span class="hl_n">10</span>; <span class="hl_v">a</span><span class="hl_o">++</span>) {
- <span class="hl_o">...</span>
- }</code></div>
- <p>Ez pontosan ugyanaz, mintha ezt írtuk volna:</p>
- <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>;
- <span class="hl_k">while</span>(<span class="hl_v">a</span> <span class="hl_o"><</span> <span class="hl_n">10</span>) {
- <span class="hl_o">...</span>
- <span class="hl_v">a</span><span class="hl_o">++</span>;
- }</code></div>
- <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,
- 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>
- <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"><</span> <span class="hl_n">100</span>; <span class="hl_v">a</span><span class="hl_o">++</span>) {
- <span class="hl_k">if</span>(<span class="hl_v">a</span> <span class="hl_o"><</span> <span class="hl_n">10</span>) <span class="hl_k">continue</span>;
- <span class="hl_k">if</span>(<span class="hl_v">a</span> <span class="hl_o">></span> <span class="hl_n">50</span>) <span class="hl_k">break</span>;
- <span class="hl_f">printf</span>(<span class="hl_s">"a értéke 10 és 50 között: %d\n"</span>, <span class="hl_v">a</span>);
- }</code></div>
- <h2 id="c_funcs">Függvények<a href="#c_funcs"></a></h2>
- <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>
- <p>A programodat fel kell darabolnod kissebb programokra, amiket aztán többször is lefuttathatsz, ezeket hívjuk függvényeknek. A
- 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,
- 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
- 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.
- 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>
- <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>)
- {
- <span class="hl_k">if</span>(<span class="hl_v">A</span> <span class="hl_o">></span> <span class="hl_n">0</span>) {
- <span class="hl_f">printf</span>(<span class="hl_s">"Nem, még nem\n"</span>);
- <span class="hl_k">return</span>;
- }
- <span class="hl_f">printf</span>(<span class="hl_s">"IGEN! Dolgok, amiker érkezéskor akartál megtenni\n"</span>);
- <span class="hl_k">return</span>;
- }
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* egyszer */</span>
- <span class="hl_f">ott_vagyunk_már</span>(<span class="hl_n">1</span>);
- <span class="hl_c">/* aztán mégegyszer */</span>
- <span class="hl_f">ott_vagyunk_már</span>(<span class="hl_n">0</span>);
- }</code></div>
- <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,
- 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>
- <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
- 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>
- használata (akár van visszatérési érték, akár nincs) kötelező.</p>
- <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>()
- {
- <span class="hl_k">return</span> <span class="hl_s">"egy sztring"</span>;
- }
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_v">a</span> <span class="hl_o">=</span> <span class="hl_f">sztringesfüggvényem</span>();
- }</code></div>
- <h2 id="c_api">Elérhető függvények<a href="#c_api"></a></h2>
- <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
- 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>
- <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,
- 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>
- <div class="page" rel="basic"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Programozás »</li><li> BASIC</li></ul><hr></div>
- <h1 id="basic">BASIC<a href="#basic"></a></h1>
- <p>Ha ezt a nyelvet választod, akkor kezd a programodat a <samp>#!bas</samp> sorral.</p>
- <h2 id="ex_bas">Példa program<a href="#ex_bas"></a></h2>
- <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>
- <span class="hl_c">REM globális változók</span>
- <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>
- <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>
- <span class="hl_k">LET</span> <span class="hl_v">cím%</span> <span class="hl_o">=</span> <span class="hl_n">$0048C</span>
- <span class="hl_k">LET</span> <span class="hl_v">sztring$</span> <span class="hl_o">=</span> <span class="hl_s">"valami"</span>
- <span class="hl_k">DIM</span> <span class="hl_f">tömb</span>(<span class="hl_n">10</span>)
- <span class="hl_c">REM Induláskor lefuttatandó dolgok</span>
- <span class="hl_k">SUB</span> <span class="hl_v">setup</span>
- <span class="hl_c">REM lokális változók</span>
- <span class="hl_k">LET</span> <span class="hl_v">lokálisvagyok</span> <span class="hl_o">=</span> <span class="hl_n">123</span>
- <span class="hl_k">END</span> <span class="hl_k">SUB</span>
- <span class="hl_c">REM Minden képkockánál lefuttatandó dolgok, 60 FPS</span>
- <span class="hl_k">SUB</span> <span class="hl_k">loop</span>
- <span class="hl_c">REM BASIC stílusú print</span>
- <span class="hl_k">PRINT</span> <span class="hl_s">"Épp"</span>; <span class="hl_s">" futok"</span>
- <span class="hl_c">REM MEG-4 stílusú kimenet</span>
- <span class="hl_f">printf</span>(<span class="hl_s">"a számláló %d, balshift %d\n"</span>, <span class="hl_v">számláló%</span>, <span class="hl_f">getkey%</span>(<span class="hl_v">KEY_LSHIFT</span>))
- <span class="hl_k">END</span> <span class="hl_k">SUB</span></code></div>
- <h2 id="dialektus">Dialektus<a href="#dialektus"></a></h2>
- <p>A BASIC egy mozaikszó, Beginners' All-purpose Symbolic Instruction Code, ami annyit tesz, Kezdők Általános célú Szimbólikus
- 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
- <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
- 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
- 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
- sorszámozni (helyette lehet cimkéket használni), illetve a BASIC kulcsszavak kis-nagybetű érzéketlenek, ahogy azt a specifikáció
- 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
- 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>
- <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
- <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>
- <p>Következzen a részletes leírás példákkal és minden eltérés kiemelve.</p>
- <h2 id="bas_lit">Literálok<a href="#bas_lit"></a></h2>
- <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
- 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
- nagyjából az összes többi 80-as évekbeli dialektus is), a sztringeket pedig macskakörömbe kell tenni:</p>
- <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br></pre><code><span class="hl_n">42</span>
- <span class="hl_n">3.1415</span>
- <span class="hl_n">.123e</span><span class="hl_n">-10</span>
- <span class="hl_n">$0048C</span>
- <span class="hl_s">"Viszlát és kösz a halakat!\n"</span></code></div>
- <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.
- Elfogad továbbá C-beli kiemelő kódokat is (például <samp>\"</samp> a macskaköröm, <samp>\t</samp> a tab, <samp>\n</samp> az újsor karakter), és a sztringek
- maximális hossza 255 bájtnyi (a specifikáció 18 bájtot vár el).</p></div>
- <h2 id="bas_var">Változók<a href="#bas_var"></a></h2>
- <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>
- 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
- más lebegőpontos számot tároló változót eredményez.</p>
- <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>
- <span class="hl_k">LET</span> <span class="hl_v">B!</span> <span class="hl_o">=</span> <span class="hl_n">$FF</span>
- <span class="hl_k">LET</span> <span class="hl_v">C#</span> <span class="hl_o">=</span> <span class="hl_n">$FFFF</span>
- <span class="hl_k">LET</span> <span class="hl_v">D$</span> <span class="hl_o">=</span> <span class="hl_s">"sztring"</span>
- <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>
- <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
- 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>
- <p>Amikor értéket adsz egy változónak, a <samp>LET</samp> parancs elhagyható.</p>
- <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
- <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,
- 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>
- <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br></pre><code><span class="hl_k">RESTORE</span>
- <span class="hl_k">READ</span> <span class="hl_v">név$</span>, <span class="hl_v">jövedelem</span>
- <span class="hl_k">DATA</span> <span class="hl_s">"Jóska"</span>, <span class="hl_n">1234</span>
- <span class="hl_k">DATA</span> <span class="hl_s">"Pista"</span>, <span class="hl_n">2345</span></code></div>
- <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,
- 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
- 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>
- <h2 id="bas_arr">Tömbök<a href="#bas_arr"></a></h2>
- <p>Több, azonos típusú elem rendelhető egyetlen változóhoz, ezeket hívjuk tömböknek.</p>
- <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>)
- <span class="hl_k">DIM</span> <span class="hl_f">B</span>(<span class="hl_n">10</span>, <span class="hl_n">10</span>)
- <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>
- <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,
- 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
- 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>
- <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
- nem támogatott, viszont az induló index átállítható minden tömb esetén a <samp>TO</samp> kulcsszóval.</p></div>
- <h2 id="bas_op">Műveletek<a href="#bas_op"></a></h2>
- <p>Precedenciájuk szerint csökkenő sorrendben:</p>
- <p><p><b>Aritmetikai</b>
- <div class="pre"><pre>
- ^
- * / MOD
- + -
- </pre></div>
- 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.
- <samp>10 MOD 3</samp> az 1), összeadás, kivonás.</p></p>
- <p><p><b>Relációs</b>
- <div class="pre"><pre>
- <> =
- <= >= < >
- </pre></div>
- Nem egyenlő, egyenlő, kissebb egyenlő, nagyobb egyenlő, kissebb, nagyobb.</p></p>
- <p><p><b>Logikai</b>
- <div class="pre"><pre>
- NOT
- AND
- OR
- </pre></div>
- 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
- paramétere nem 0).</p></p>
- <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
- paramétert vár.</p>
- <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,
- 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>
- <h2 id="bas_flow">Vezérlésirányítás<a href="#bas_flow"></a></h2>
- <p>Az <samp>END</samp> utasítás leállítja a vezérlést (kilép a programod).</p>
- <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>
- <div class="pre"><pre class="lineno">1<br>2<br>3<br></pre><code><span class="hl_v">ez_egy_cimke</span>:
- <span class="hl_k">GOTO</span> <span class="hl_v">ez_egy_cimke</span></code></div>
- <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
- jelenti, ezért minden parancsot külön sorba kell írni (ahogy azt az ECMA-55 is elvárja).</p></div>
- <p>A feltételes vezérlésátadások szintén cimkéket használnak:</p>
- <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"><></span> <span class="hl_v">b$</span> <span class="hl_k">THEN</span> <span class="hl_v">ez_egy_cimke</span>
- <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>
- <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
- 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
- BASIC-ben.</p>
- <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>
- <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
- 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>
- <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">>=</span> <span class="hl_n">0</span> <span class="hl_k">THEN</span>
- <span class="hl_k">PRINT</span> <span class="hl_s">"var értéke pozitív"</span>
- <span class="hl_k">ELSE</span>
- <span class="hl_k">PRINT</span> <span class="hl_s">"var értéke negatív"</span>
- <span class="hl_k">END</span> <span class="hl_k">IF</span></code></div>
- <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>
- <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"><</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>
- <span class="hl_k">IF</span> <span class="hl_v">b</span> <span class="hl_o">></span> <span class="hl_n">42</span> <span class="hl_k">THEN</span> <span class="hl_k">END</span></code></div>
- <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
- a határ), és így néz ki:</p>
- <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>
- <span class="hl_n">...</span>
- <span class="hl_k">NEXT</span> <span class="hl_v">i</span></code></div>
- <p>Ez a <samp>FOR</samp> .. <samp>NEXT</samp> lényegében pontosan ugyanaz, mint:</p>
- <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>
- <span class="hl_k">LET</span> <span class="hl_v">lim</span> <span class="hl_o">=</span> <span class="hl_n">100</span>
- <span class="hl_k">LET</span> <span class="hl_v">inc</span> <span class="hl_o">=</span> <span class="hl_n">2</span>
- <span class="hl_v">sor1</span>:
- <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">></span> <span class="hl_n">0</span> <span class="hl_k">THEN</span> <span class="hl_v">sor2</span>
- <span class="hl_n">...</span>
- <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>
- <span class="hl_k">GOTO</span> <span class="hl_v">sor1</span>
- <span class="hl_v">sor2</span>:</code></div>
- <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
- 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,
- de azoknak is lebegőpontos számot kell visszaadniuk.</p>
- <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>
- <span class="hl_n">...</span>
- <span class="hl_k">NEXT</span> <span class="hl_v">i</span></code></div>
- <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
- 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>
- <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>
- <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>
- <span class="hl_n">...</span>
- <span class="hl_k">NEXT</span> <span class="hl_v">x</span>
- <span class="hl_k">NEXT</span> <span class="hl_v">y</span></code></div>
- <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>
- <div class="pre"><pre class="lineno">1<br>2<br>3<br>4<br>5<br></pre><code><span class="hl_v">megint</span>:
- <span class="hl_k">IF</span> <span class="hl_v">a</span> <span class="hl_o">></span> <span class="hl_n">0</span> <span class="hl_k">THEN</span>
- <span class="hl_n">...</span>
- <span class="hl_k">GOTO</span> <span class="hl_v">megint</span>
- <span class="hl_k">END</span> <span class="hl_k">IF</span></code></div>
- <p>A hátultesztelős ciklus helyett pedig ezt:</p>
- <div class="pre"><pre class="lineno">1<br>2<br>3<br></pre><code><span class="hl_v">megint</span>:
- <span class="hl_n">...</span>
- <span class="hl_k">IF</span> <span class="hl_v">a</span> <span class="hl_o">></span> <span class="hl_n">0</span> <span class="hl_k">THEN</span> <span class="hl_v">megint</span></code></div>
- <h2 id="bas_funcs">Alrutinok és függvények<a href="#bas_funcs"></a></h2>
- <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>
- <p>A programodat feldarabolhatod kissebb programokra, amiket aztán többször is lefuttathatsz, ezeket hívjuk alrutinoknak. Ezeket
- <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
- 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
- csakis ilyen alrutinneveket lehet paraméterül adni neki.</p>
- <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>
- <span class="hl_k">PRINT</span> <span class="hl_s">"valami, amit többször is szeretnél lefuttatni"</span>
- <span class="hl_k">END</span> <span class="hl_k">SUB</span>
- <span class="hl_c">REM egyszer</span>
- <span class="hl_k">GOSUB</span> <span class="hl_v">alrutinom</span>
- <span class="hl_c">REM aztán mégegyszer</span>
- <span class="hl_k">GOSUB</span> <span class="hl_v">alrutinom</span></code></div>
- <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>)
- parancshoz ér. Az alrutinok elérik a globális változókat és saját paramétereik is lehetnek.</p>
- <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>)
- <span class="hl_k">IF</span> <span class="hl_v">A</span> <span class="hl_o">></span> <span class="hl_n">0</span> <span class="hl_k">THEN</span>
- <span class="hl_k">PRINT</span> <span class="hl_s">"Nem, még nem"</span>
- <span class="hl_k">RETURN</span>
- <span class="hl_k">END</span> <span class="hl_k">IF</span>
- <span class="hl_k">PRINT</span> <span class="hl_s">"IGEN! Dolgok, amiker érkezéskor akartál megtenni"</span>
- <span class="hl_k">END</span> <span class="hl_k">SUB</span>
- <span class="hl_c">REM egyszer</span>
- <span class="hl_k">GOSUB</span> <span class="hl_f">ott_vagyunk_már</span>(<span class="hl_n">1</span>)
- <span class="hl_c">REM aztán mégegyszer</span>
- <span class="hl_k">GOSUB</span> <span class="hl_f">ott_vagyunk_már</span>(<span class="hl_n">0</span>)</code></div>
- <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,
- 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
- a paramétereikkel (a zárójel mindenképp kötelező, akkor is, ha nincs paramétere). Például:</p>
- <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>()
- <span class="hl_k">RETURN</span> <span class="hl_s">"egy sztring"</span>
- <span class="hl_k">END</span> <span class="hl_k">FUNCTION</span>
- <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>
- <h2 id="bas_print">Print utasítás<a href="#bas_print"></a></h2>
- <div class="pre"><pre>
- PRINT kifejezés [;|,] [kifejezés [;|,] [kifejezés [;|,]]] ...
- </pre></div>
- <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.
- 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
- (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>
- <h2 id="bas_input">Input utasítás<a href="#bas_input"></a></h2>
- <div class="pre"><pre>
- INPUT "kérdés" [;|,] változó
- </pre></div>
- <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ó
- <samp>,</samp> vesszővel van elválasztva, akkor a kérdés után egy <samp>?</samp> kérdőjelet is kitesz.</p>
- <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>
- <h2 id="bas_spec">Peek és Poke<a href="#bas_spec"></a></h2>
- <p>Ezekkel a parancsokkal direktben elérhető a MEG-4 memóriája, így az MMIO terület is.</p>
- <b>Beolvasás</b>
- <div class="pre"><pre>
- változó = PEEK(cím)
- </pre></div>
- <p>Beolvassa a megadott címen lévő bájtot, lebegőpontos számmá alakítja, és elhelyezi a megadott változóban.</p>
- <p>Például, hogy lekérdezzük, a billentyűzetsor üres-e:
- <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"><></span> <span class="hl_k">PEEK</span>(<span class="hl_n">$1B</span>) <span class="hl_k">THEN</span></code></div></p>
- <b>Kíírás</b>
- <div class="pre"><pre>
- POKE cím, kifejezés
- </pre></div>
- <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>
- <p>Például, hogy átállítsuk a palettát az 1-es színkód esetén:
- <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>
- <span class="hl_k">POKE</span> <span class="hl_n">$84</span>, <span class="hl_n">10</span>
- <span class="hl_c">REM zöld összetevő</span>
- <span class="hl_k">POKE</span> <span class="hl_n">$85</span>, <span class="hl_n">10</span>
- <span class="hl_c">REM kék összetevő</span>
- <span class="hl_k">POKE</span> <span class="hl_n">$86</span>, <span class="hl_n">10</span>
- <span class="hl_c">REM alfa (átlátszóság)</span>
- <span class="hl_k">POKE</span> <span class="hl_n">$87</span>, <span class="hl_n">255</span></code></div></p>
- <h2 id="bas_api">Elérhető függvények<a href="#bas_api"></a></h2>
- <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>
- <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>
- <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
- 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
- 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>
- <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),
- 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
- egészszám típus utótagot kap például, mivel fokokat ad vissza egészszámban.</p>
- <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
- 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>
- <div class="page" rel="assembly"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Programozás »</li><li> Assembly</li></ul><hr></div>
- <h1 id="assembly">Assembly<a href="#assembly"></a></h1>
- <p>Ha ezt a nyelvet választod, akkor kezd a programodat az <samp>#!asm</samp> sorral.</p>
- <h2 id="ex_asm">Példa program<a href="#ex_asm"></a></h2>
- <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>
- <span class="hl_t">.data</span>
- <span class="hl_c">/* globális változók */</span>
- <span class="hl_v">számláló</span>: <span class="hl_t">di</span> <span class="hl_n">123</span>
- <span class="hl_v">szám</span>: <span class="hl_t">df</span> <span class="hl_n">3.1415</span>
- <span class="hl_v">cím</span>: <span class="hl_t">di</span> <span class="hl_n">0x0048C</span>
- <span class="hl_v">sztring</span>: <span class="hl_t">db</span> <span class="hl_s">"valami"</span>
- <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>
- <span class="hl_v">fmt</span>: <span class="hl_t">db</span> <span class="hl_s">"a számláló %d, balshift %d\n"</span>
- <span class="hl_t">.code</span>
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- <span class="hl_v">setup</span>:
- <span class="hl_c">/* lokális változó (igazából nem, csak helyet foglalunk a veremben) */</span>
- <span class="hl_k">sp</span> <span class="hl_n">-4</span>
- <span class="hl_k">ret</span>
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_v">loop</span>:
- <span class="hl_c">/* MEG-4 stílusú kimenet */</span>
- <span class="hl_k">pshci</span> <span class="hl_v">KEY_LSHIFT</span>
- <span class="hl_k">scall</span> <span class="hl_v">getkey</span>
- <span class="hl_k">sp</span> <span class="hl_n">4</span>
- <span class="hl_k">pushi</span>
- <span class="hl_k">ci</span> <span class="hl_v">számláló</span>
- <span class="hl_k">ldi</span>
- <span class="hl_k">pushi</span>
- <span class="hl_k">pshci</span> <span class="hl_v">fmt</span>
- <span class="hl_k">scall</span> <span class="hl_v">printf</span>
- <span class="hl_k">sp</span> <span class="hl_n">12</span>
- <span class="hl_k">ret</span></code></div>
- <h2 id="asm_desc">Leírás<a href="#asm_desc"></a></h2>
- <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,
- 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
- á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
- opcionális paraméterrel.</p>
- <p>Játszhatsz és kísérletezhetsz ezzel, ha bátornak érzed magad.</p>
- <h2 id="asm_lit">Literálok<a href="#asm_lit"></a></h2>
- <p>Pontosan ugyanazok, mint a <a href="#c_lit" onclick="c('c_lit')">MEG-4 C literáljai</a>.</p>
- <h2 id="asm_var">Változók<a href="#asm_var"></a></h2>
- <p>Assemblyben nincs olyan, hogy változó. Helyette a <samp>.data</samp> kulcsszó indítja az adat szekciót, amibe csak adatokat pakolsz a
- <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
- 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,
- 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>
- (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
- 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
- értéket.</p>
- <h2 id="asm_flow">Vezérlésirányítás<a href="#asm_flow"></a></h2>
- <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
- 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>
- (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,
- esetválasztás) utasításokat használhatod.</p>
- <h2 id="asm_func">Függvények<a href="#asm_func"></a></h2>
- <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
- 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.
- 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
- 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
- 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,
- amit beállíthatsz direktben a <samp>ci</samp> (constant integer, egészszám konstans) és <samp>cf</samp> (constant float, lebegőpontos konstans)
- 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
- 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>
- <h2 id="asm_api">Elérhető függvények<a href="#asm_api"></a></h2>
- <p>Minden MEG-4 API függvény a rendelkezésedre áll; pontosan azokkal a nevekkel, ahogy ebben a leírásban szerepelnek.</p>
- <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
- 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>
- <h2 id="mnemonikok">Mnemonikok<a href="#mnemonikok"></a></h2>
- <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>
- <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
- 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
- és előjel nélküli is), valamint 32 bites lebegőpontos számokkal.</p>
- <p>A memóriamodellje sík, ami azt jelenti, hogy minden adat elérhető egy egyszerű offszettel. Nincs lapozás se virtuális
- 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
- szegmensre hivatkozás automatikus).</p>
- <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
- 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
- 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
- tekintetben inkább Harvard architektúrájú, viszont minden másban inkább Neumann architektúrájú.</p>
- <p>A CPU a következő regiszterekkel rendelkezik:</p>
- <ul><li>AC: akkumulátor regiszter, egészszám értékkel</li>
- <li>AF: akkumulátor regiszter, lebegőpontos értékkel</li>
- <li>FLG: a processzor jelzőbitjei (setup lefutott, B/K-ra illetve időzítőre várakozik, futtatás megszakítva)</li>
- <li>TMR: az időzítő regiszter aktuális értéke</li>
- <li>DP: adatmutató (data pointer), a felhasznált globális változó memória tetejére mutat</li>
- <li>BP: bázismutató (base pointer), ez jelzi, hol van a függvényveremkeret teteje</li>
- <li>SP: veremmutató (stack pointer), ez mutatja a verem alját</li>
- <li>CP: hívásveremmutató (callstack pointer), a hívásverem tetejére mutat</li>
- <li>PC: programszámláló (program counter), ez az éppen aktuálisan végrehajtott utasításra mutat</li></ul>
- <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),
- <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
- 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>
- <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
- bájtokra. A kódszegmensre a következő mnemonikokkal lehet utasításokat elhelyezni:</p>
- <div class="table"><table><tr><th>Mnemonik </th><th>Paraméter </th><th>Leírás </th></tr>
- <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>
- <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>
- <tr><td><samp>scall</samp> </td><td>MEG-4 API funckció </td><td>Rendszerhívás (system call) </td></tr>
- <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>
- <tr><td><samp>jmp</samp> </td><td>cím/kódcimke </td><td>Ugrás a megadott címre </td></tr>
- <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>
- <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>
- <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>
- <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>
- <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>
- <tr><td><samp>ci</samp> </td><td>szám/adat cimke </td><td>Egészszámot helyez az akkumulátorba </td></tr>
- <tr><td><samp>cf</samp> </td><td>szám </td><td>Lebegőpontos számot helyez az akkumulátorba </td></tr>
- <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>
- <tr><td><samp>lea</samp> </td><td>szám </td><td>A DP + szám címet tölti az akkumulátorba </td></tr>
- <tr><td><samp>adr</samp> </td><td>szám </td><td>A BP + szám címet tölti az akkumulátorba </td></tr>
- <tr><td><samp>sp</samp> </td><td>szám </td><td>Hozzáadja a számot az SP regiszterhez </td></tr>
- <tr><td><samp>pshci</samp> </td><td>szám/adat cimke </td><td>Egészszám konstanst tol az adatverembe </td></tr>
- <tr><td><samp>pshcf</samp> </td><td>szám </td><td>Lebegőpontos konstanst tol az adatverembe </td></tr>
- <tr><td><samp>pushi</samp> </td><td></td><td>Az egészszám akkumulátor értékét az adatverembe tolja </td></tr>
- <tr><td><samp>pushf</samp> </td><td></td><td>Az lebegőpontos akkumulátor értékét az adatverembe tolja </td></tr>
- <tr><td><samp>popi</samp> </td><td></td><td>Kiveszi az adatverem legfelső elemét az egészszám akkumulátorba </td></tr>
- <tr><td><samp>popf</samp> </td><td></td><td>Kiveszi az adatverem legfelső elemét a lebegőpontos akkumulátorba </td></tr>
- <tr><td><samp>cnvi</samp> </td><td></td><td>Az adatverem legfelső elemét egészszámmá konvertálja </td></tr>
- <tr><td><samp>cnvf</samp> </td><td></td><td>Az adatverem legfelső elemét lebegőpontos számmá konvertálja </td></tr>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <tr><td><samp>not</samp> </td><td></td><td>Logikai NEM művelet végzése az akkumulátoron </td></tr>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <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>
- <tr><td><samp>muli</samp> </td><td></td><td>Kivesz a veremből és megszorozza az akkumulátorral, egészszámként </td></tr>
- <tr><td><samp>divi</samp> </td><td></td><td>Kivesz a veremből és elosztja az akkumulátorral, egészszámként </td></tr>
- <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>
- <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>
- <tr><td><samp>addf</samp> </td><td></td><td>Kivesz a veremből és hozzáadja az akkumulátort, lebegőpontosként </td></tr>
- <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>
- <tr><td><samp>mulf</samp> </td><td></td><td>Kivesz a veremből és megszorozza az akkumulátorral, lebegőpontosként </td></tr>
- <tr><td><samp>divf</samp> </td><td></td><td>Kivesz a veremből és elosztja az akkumulátorral, lebegőpontosként </td></tr>
- <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>
- <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>
- <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,
- é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,
- 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
- paramétertől (második cimkétől) kezdve az akkumulátoradik cimkét veszi, és oda ugrik.</p>
- <p>Szóval dióhéjban</p>
- <div class="pre"><pre>
- sw (érték), (cimke ahová egyébként ugrik),
- (cimke ahová ugrik ha az akkumulátor egyenlő értékkel),
- (cimke ahová ugrik ha az akkumulátor egyenlő érték + 1-el),
- (cimke ahová ugrik ha az akkumulátor egyenlő érték + 2-vel),
- (cimke ahová ugrik ha az akkumulátor egyenlő érték + 3-al),
- ...
- (cimke ahová ugrik ha az akkumulátor egyenlő érték + N-el)
- </pre></div>
- <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>
- <div class="page" rel="lua"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Programozás »</li><li> Lua</li></ul><hr></div>
- <h1 id="lua">Lua<a href="#lua"></a></h1>
- <p>Ha ezt a nyelvet választod, akkor kezd a programodat a <samp>#!lua</samp> sorral.</p>
- <h2 id="ex_lua">Példa program<a href="#ex_lua"></a></h2>
- <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>
- <span class="hl_c">-- globális változók</span>
- <span class="hl_v">szamlalo</span> <span class="hl_o">=</span> <span class="hl_n">123</span>
- <span class="hl_v">szam</span> <span class="hl_o">=</span> <span class="hl_n">3.1415</span>
- <span class="hl_v">cim</span> <span class="hl_o">=</span> <span class="hl_n">0x0048C</span>
- <span class="hl_v">sztring</span> <span class="hl_o">=</span> <span class="hl_s">"valami"</span>
- <span class="hl_v">tomb</span> <span class="hl_o">=</span> {}
- <span class="hl_c">-- Induláskor lefuttatandó dolgok</span>
- <span class="hl_k">function</span> <span class="hl_f">setup</span>()
- <span class="hl_c">-- lokális változók</span>
- <span class="hl_v">lokalisvagyok</span> <span class="hl_o">=</span> <span class="hl_n">234</span>
- <span class="hl_k">end</span>
- <span class="hl_c">-- Minden képkockánál lefuttatandó dolgok, 60 FPS</span>
- <span class="hl_k">function</span> <span class="hl_f">loop</span>()
- <span class="hl_c">-- Lua stílusú print</span>
- <span class="hl_f">print</span>(<span class="hl_s">"Épp"</span>, <span class="hl_s">"futok"</span>)
- <span class="hl_c">-- MEG-4 stílusú kimenet</span>
- <span class="hl_f">printf</span>(<span class="hl_s">"a számláló %d, balshift %d\n"</span>, <span class="hl_v">szamlalo</span>, <span class="hl_f">getkey</span>(<span class="hl_v">KEY_LSHIFT</span>))
- <span class="hl_k">end</span></code></div>
- <h2 id="tovabbi_informaciok">További információk<a href="#tovabbi_informaciok"></a></h2>
- <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)
- 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
- iszonyat lassú, de működik, használható.</p>
- <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
- 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
- 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
- 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>
- <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
- hivatalos <a href="https://www.lua.org/pil" target="new">Programming in Lua</a> útmutató (angolul).</p>
- <h2 id="api_elteresek">API Eltérések<a href="#api_elteresek"></a></h2>
- <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>
- <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
- 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>
- <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ő
- 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>
- <li><a href="#remap" onclick="c('remap')">remap</a> csak Lua táblát fogad el (amiben 256 integer számnak kell lennie).</li>
- <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>
- <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>
- <div class="page" rel="memoriaterkep"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> API Referencia »</li><li> Memóriatérkép</li></ul><hr></div>
- <h1 id="memoriaterkep">Memóriatérkép<a href="#memoriaterkep"></a></h1>
- <h2 id="altalanos">Általános<a href="#altalanos"></a></h2>
- <p>Minden érték kicsi elöl (little endian), azaz a kissebb helyiértékű bájt van az alacsonyabb címen.</p>
- <div class="table"><table><tr><th>Cím </th><th>Méret </th><th>Leírás </th></tr>
- <tr><td>00000 </td><td class="right">1 </td><td>MEG-4 förmver verzió major (fő verzió) </td></tr>
- <tr><td>00001 </td><td class="right">1 </td><td>MEG-4 förmver verzió minor (alverzió) </td></tr>
- <tr><td>00002 </td><td class="right">1 </td><td>MEG-4 förmver verzió bugfix (hibajavító verzió) </td></tr>
- <tr><td>00003 </td><td class="right">1 </td><td>performancia számláló, eltöltetlen idő 1/1000 másodpercekben </td></tr>
- <tr><td>00004 </td><td class="right">4 </td><td>tikkszámláló, bekapcsolás óta eltelt idő 1/1000 másodpercekben </td></tr>
- <tr><td>00008 </td><td class="right">8 </td><td>UTC unix időbélyeg </td></tr>
- <tr><td>00010 </td><td class="right">2 </td><td>kiválaszott lokál, nyelvkód </td></tr></table></div>
- <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
- negatív, akkor az azt jelzi, mennyivel lépte túl a loop() függvényed a rendelkezésre álló időkeretet.</p>
- <h2 id="mutato">Mutató<a href="#mutato"></a></h2>
- <div class="table"><table><tr><th>Cím </th><th>Méret </th><th>Leírás </th></tr>
- <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>
- <tr><td>00014 </td><td class="right">2 </td><td>mutató szprájt index </td></tr>
- <tr><td>00016 </td><td class="right">2 </td><td>mutató X koordináta </td></tr>
- <tr><td>00018 </td><td class="right">2 </td><td>mutató Y koordináta </td></tr></table></div>
- <p>A mutató egérgombjai a következők:</p>
- <div class="table"><table><tr><th>Define </th><th>Bitmaszk </th><th>Leírás </th></tr>
- <tr><td><samp>BTN_L</samp> </td><td class="right">1 </td><td>Bal egérgomb (left) </td></tr>
- <tr><td><samp>BTN_M</samp> </td><td class="right">2 </td><td>Középső egérgomb (middle) </td></tr>
- <tr><td><samp>BTN_R</samp> </td><td class="right">4 </td><td>Jobb egérgomb (right) </td></tr>
- <tr><td><samp>SCR_U</samp> </td><td class="right">8 </td><td>Szkrollozás fel (up) </td></tr>
- <tr><td><samp>SCR_D</samp> </td><td class="right">16 </td><td>Szkrollozás le (down) </td></tr>
- <tr><td><samp>SCR_L</samp> </td><td class="right">32 </td><td>Szkrollozás balra (left) </td></tr>
- <tr><td><samp>SCR_R</samp> </td><td class="right">64 </td><td>Szkrollozás jobbra (right) </td></tr></table></div>
- <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.
- Van néhány beépített, előre definiált kurzor:</p>
- <div class="table"><table><tr><th>Define </th><th>Érték </th><th>Leírás </th></tr>
- <tr><td><samp>PTR_NORM</samp> </td><td class="right">03fb </td><td>Normál (nyíl) mutató </td></tr>
- <tr><td><samp>PTR_TEXT</samp> </td><td class="right">03fc </td><td>Szöveg mutató </td></tr>
- <tr><td><samp>PTR_HAND</samp> </td><td class="right">0bfd </td><td>Hivatkozás mutató </td></tr>
- <tr><td><samp>PTR_ERR</samp> </td><td class="right">93fe </td><td>Hiba történt mutató </td></tr>
- <tr><td><samp>PTR_NONE</samp> </td><td class="right">ffff </td><td>Elrejti a mutatót </td></tr></table></div>
- <h2 id="billentyuzet">Billentyűzet<a href="#billentyuzet"></a></h2>
- <div class="table"><table><tr><th>Cím </th><th>Méret </th><th>Leírás </th></tr>
- <tr><td>0001A </td><td class="right">1 </td><td>billentyűsor farok </td></tr>
- <tr><td>0001B </td><td class="right">1 </td><td>billentyűsor fej </td></tr>
- <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>
- <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>
- <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ő)
- gombnak felel meg, például:</p>
- <div class="table"><table><tr><th>Gombkód </th><th>Leírás </th></tr>
- <tr><td><samp>\x8</samp> </td><td>A 8-as karakter, <kbd>←Backspace</kbd> gomb </td></tr>
- <tr><td><samp>\x9</samp> </td><td>A 9-es karakter, <kbd>Tab</kbd> gomb </td></tr>
- <tr><td><samp>\n</samp> </td><td>A 10-es karakter, <kbd>⏎Enter</kbd> gomb </td></tr>
- <tr><td><samp>\x1b</samp> </td><td>A 27-es karakter, <kbd>Esc</kbd> gomb </td></tr>
- <tr><td><samp>Del</samp> </td><td>A <kbd>Del</kbd> (törlés előre) gomb </td></tr>
- <tr><td><samp>Up</samp> </td><td>A kurzornyíl <kbd>▴</kbd> gomb </td></tr>
- <tr><td><samp>Down</samp> </td><td>A kurzornyíl <kbd>▾</kbd> gomb </td></tr>
- <tr><td><samp>Left</samp> </td><td>A kurzornyíl <kbd>◂</kbd> gomb </td></tr>
- <tr><td><samp>Rght</samp> </td><td>A kurzornyíl <kbd>▸</kbd> gomb </td></tr>
- <tr><td><samp>Cut</samp> </td><td>Kivág gomb (vagy <kbd>Ctrl</kbd>+<kbd>X</kbd>) </td></tr>
- <tr><td><samp>Cpy</samp> </td><td>Másol gomb (vagy <kbd>Ctrl</kbd>+<kbd>C</kbd>) </td></tr>
- <tr><td><samp>Pst</samp> </td><td>Beilleszt gomb (vagy <kbd>Ctrl</kbd>+<kbd>V</kbd>) </td></tr></table></div>
- <p>A szkenkódok a következők:</p>
- <div class="table"><table><tr><th>Szkenkód </th><th>Cím </th><th>Bitmaszk</th><th>Define </th></tr>
- <tr><td class="right">0 </td><td>0005C </td><td class="right">1 </td><td><samp>KEY_CHEAT</samp> </td></tr>
- <tr><td class="right">1 </td><td>0005C </td><td class="right">2 </td><td><samp>KEY_F1</samp> </td></tr>
- <tr><td class="right">2 </td><td>0005C </td><td class="right">4 </td><td><samp>KEY_F2</samp> </td></tr>
- <tr><td class="right">3 </td><td>0005C </td><td class="right">8 </td><td><samp>KEY_F3</samp> </td></tr>
- <tr><td class="right">4 </td><td>0005C </td><td class="right">16 </td><td><samp>KEY_F4</samp> </td></tr>
- <tr><td class="right">5 </td><td>0005C </td><td class="right">32 </td><td><samp>KEY_F5</samp> </td></tr>
- <tr><td class="right">6 </td><td>0005C </td><td class="right">64 </td><td><samp>KEY_F6</samp> </td></tr>
- <tr><td class="right">7 </td><td>0005C </td><td class="right">128 </td><td><samp>KEY_F7</samp> </td></tr>
- <tr><td class="right">8 </td><td>0005D </td><td class="right">1 </td><td><samp>KEY_F8</samp> </td></tr>
- <tr><td class="right">9 </td><td>0005D </td><td class="right">2 </td><td><samp>KEY_F9</samp> </td></tr>
- <tr><td class="right">10 </td><td>0005D </td><td class="right">4 </td><td><samp>KEY_F10</samp> </td></tr>
- <tr><td class="right">11 </td><td>0005D </td><td class="right">8 </td><td><samp>KEY_F11</samp> </td></tr>
- <tr><td class="right">12 </td><td>0005D </td><td class="right">16 </td><td><samp>KEY_F12</samp> </td></tr>
- <tr><td class="right">13 </td><td>0005D </td><td class="right">32 </td><td><samp>KEY_PRSCR</samp> </td></tr>
- <tr><td class="right">14 </td><td>0005D </td><td class="right">64 </td><td><samp>KEY_SCRLOCK</samp> </td></tr>
- <tr><td class="right">15 </td><td>0005D </td><td class="right">128 </td><td><samp>KEY_PAUSE</samp> </td></tr>
- <tr><td class="right">16 </td><td>0005E </td><td class="right">1 </td><td><samp>KEY_BACKQUOTE</samp> </td></tr>
- <tr><td class="right">17 </td><td>0005E </td><td class="right">2 </td><td><samp>KEY_1</samp> </td></tr>
- <tr><td class="right">18 </td><td>0005E </td><td class="right">4 </td><td><samp>KEY_2</samp> </td></tr>
- <tr><td class="right">19 </td><td>0005E </td><td class="right">8 </td><td><samp>KEY_3</samp> </td></tr>
- <tr><td class="right">20 </td><td>0005E </td><td class="right">16 </td><td><samp>KEY_4</samp> </td></tr>
- <tr><td class="right">21 </td><td>0005E </td><td class="right">32 </td><td><samp>KEY_5</samp> </td></tr>
- <tr><td class="right">22 </td><td>0005E </td><td class="right">64 </td><td><samp>KEY_6</samp> </td></tr>
- <tr><td class="right">23 </td><td>0005E </td><td class="right">128 </td><td><samp>KEY_7</samp> </td></tr>
- <tr><td class="right">24 </td><td>0005F </td><td class="right">1 </td><td><samp>KEY_8</samp> </td></tr>
- <tr><td class="right">25 </td><td>0005F </td><td class="right">2 </td><td><samp>KEY_9</samp> </td></tr>
- <tr><td class="right">26 </td><td>0005F </td><td class="right">4 </td><td><samp>KEY_0</samp> </td></tr>
- <tr><td class="right">27 </td><td>0005F </td><td class="right">8 </td><td><samp>KEY_MINUS</samp> </td></tr>
- <tr><td class="right">28 </td><td>0005F </td><td class="right">16 </td><td><samp>KEY_EQUAL</samp> </td></tr>
- <tr><td class="right">29 </td><td>0005F </td><td class="right">32 </td><td><samp>KEY_BACKSPACE</samp> </td></tr>
- <tr><td class="right">30 </td><td>0005F </td><td class="right">64 </td><td><samp>KEY_TAB</samp> </td></tr>
- <tr><td class="right">31 </td><td>0005F </td><td class="right">128 </td><td><samp>KEY_Q</samp> </td></tr>
- <tr><td class="right">32 </td><td>00060 </td><td class="right">1 </td><td><samp>KEY_W</samp> </td></tr>
- <tr><td class="right">33 </td><td>00060 </td><td class="right">2 </td><td><samp>KEY_E</samp> </td></tr>
- <tr><td class="right">34 </td><td>00060 </td><td class="right">4 </td><td><samp>KEY_R</samp> </td></tr>
- <tr><td class="right">35 </td><td>00060 </td><td class="right">8 </td><td><samp>KEY_T</samp> </td></tr>
- <tr><td class="right">36 </td><td>00060 </td><td class="right">16 </td><td><samp>KEY_Y</samp> </td></tr>
- <tr><td class="right">37 </td><td>00060 </td><td class="right">32 </td><td><samp>KEY_U</samp> </td></tr>
- <tr><td class="right">38 </td><td>00060 </td><td class="right">64 </td><td><samp>KEY_I</samp> </td></tr>
- <tr><td class="right">39 </td><td>00060 </td><td class="right">128 </td><td><samp>KEY_O</samp> </td></tr>
- <tr><td class="right">40 </td><td>00061 </td><td class="right">1 </td><td><samp>KEY_P</samp> </td></tr>
- <tr><td class="right">41 </td><td>00061 </td><td class="right">2 </td><td><samp>KEY_LBRACKET</samp> </td></tr>
- <tr><td class="right">42 </td><td>00061 </td><td class="right">4 </td><td><samp>KEY_RBRACKET</samp> </td></tr>
- <tr><td class="right">43 </td><td>00061 </td><td class="right">8 </td><td><samp>KEY_ENTER</samp> </td></tr>
- <tr><td class="right">44 </td><td>00061 </td><td class="right">16 </td><td><samp>KEY_CAPSLOCK</samp> </td></tr>
- <tr><td class="right">45 </td><td>00061 </td><td class="right">32 </td><td><samp>KEY_A</samp> </td></tr>
- <tr><td class="right">46 </td><td>00061 </td><td class="right">64 </td><td><samp>KEY_S</samp> </td></tr>
- <tr><td class="right">47 </td><td>00061 </td><td class="right">128 </td><td><samp>KEY_D</samp> </td></tr>
- <tr><td class="right">48 </td><td>00062 </td><td class="right">1 </td><td><samp>KEY_F</samp> </td></tr>
- <tr><td class="right">49 </td><td>00062 </td><td class="right">2 </td><td><samp>KEY_G</samp> </td></tr>
- <tr><td class="right">50 </td><td>00062 </td><td class="right">4 </td><td><samp>KEY_H</samp> </td></tr>
- <tr><td class="right">51 </td><td>00062 </td><td class="right">8 </td><td><samp>KEY_J</samp> </td></tr>
- <tr><td class="right">52 </td><td>00062 </td><td class="right">16 </td><td><samp>KEY_K</samp> </td></tr>
- <tr><td class="right">53 </td><td>00062 </td><td class="right">32 </td><td><samp>KEY_L</samp> </td></tr>
- <tr><td class="right">54 </td><td>00062 </td><td class="right">64 </td><td><samp>KEY_SEMICOLON</samp> </td></tr>
- <tr><td class="right">55 </td><td>00062 </td><td class="right">128 </td><td><samp>KEY_APOSTROPHE</samp> </td></tr>
- <tr><td class="right">56 </td><td>00063 </td><td class="right">1 </td><td><samp>KEY_BACKSLASH</samp> </td></tr>
- <tr><td class="right">57 </td><td>00063 </td><td class="right">2 </td><td><samp>KEY_LSHIFT</samp> </td></tr>
- <tr><td class="right">58 </td><td>00063 </td><td class="right">4 </td><td><samp>KEY_LESS</samp> </td></tr>
- <tr><td class="right">59 </td><td>00063 </td><td class="right">8 </td><td><samp>KEY_Z</samp> </td></tr>
- <tr><td class="right">60 </td><td>00063 </td><td class="right">16 </td><td><samp>KEY_X</samp> </td></tr>
- <tr><td class="right">61 </td><td>00063 </td><td class="right">32 </td><td><samp>KEY_C</samp> </td></tr>
- <tr><td class="right">62 </td><td>00063 </td><td class="right">64 </td><td><samp>KEY_V</samp> </td></tr>
- <tr><td class="right">63 </td><td>00063 </td><td class="right">128 </td><td><samp>KEY_B</samp> </td></tr>
- <tr><td class="right">64 </td><td>00064 </td><td class="right">1 </td><td><samp>KEY_N</samp> </td></tr>
- <tr><td class="right">65 </td><td>00064 </td><td class="right">2 </td><td><samp>KEY_M</samp> </td></tr>
- <tr><td class="right">66 </td><td>00064 </td><td class="right">4 </td><td><samp>KEY_COMMA</samp> </td></tr>
- <tr><td class="right">67 </td><td>00064 </td><td class="right">8 </td><td><samp>KEY_PERIOD</samp> </td></tr>
- <tr><td class="right">68 </td><td>00064 </td><td class="right">16 </td><td><samp>KEY_SLASH</samp> </td></tr>
- <tr><td class="right">69 </td><td>00064 </td><td class="right">32 </td><td><samp>KEY_RSHIFT</samp> </td></tr>
- <tr><td class="right">70 </td><td>00064 </td><td class="right">64 </td><td><samp>KEY_LCTRL</samp> </td></tr>
- <tr><td class="right">71 </td><td>00064 </td><td class="right">128 </td><td><samp>KEY_LSUPER</samp> </td></tr>
- <tr><td class="right">72 </td><td>00065 </td><td class="right">1 </td><td><samp>KEY_LALT</samp> </td></tr>
- <tr><td class="right">73 </td><td>00065 </td><td class="right">2 </td><td><samp>KEY_SPACE</samp> </td></tr>
- <tr><td class="right">74 </td><td>00065 </td><td class="right">4 </td><td><samp>KEY_RALT</samp> </td></tr>
- <tr><td class="right">75 </td><td>00065 </td><td class="right">8 </td><td><samp>KEY_RSUPER</samp> </td></tr>
- <tr><td class="right">76 </td><td>00065 </td><td class="right">16 </td><td><samp>KEY_MENU</samp> </td></tr>
- <tr><td class="right">77 </td><td>00065 </td><td class="right">32 </td><td><samp>KEY_RCTRL</samp> </td></tr>
- <tr><td class="right">78 </td><td>00065 </td><td class="right">64 </td><td><samp>KEY_INS</samp> </td></tr>
- <tr><td class="right">79 </td><td>00065 </td><td class="right">128 </td><td><samp>KEY_HOME</samp> </td></tr>
- <tr><td class="right">80 </td><td>00066 </td><td class="right">1 </td><td><samp>KEY_PGUP</samp> </td></tr>
- <tr><td class="right">81 </td><td>00066 </td><td class="right">2 </td><td><samp>KEY_DEL</samp> </td></tr>
- <tr><td class="right">82 </td><td>00066 </td><td class="right">4 </td><td><samp>KEY_END</samp> </td></tr>
- <tr><td class="right">83 </td><td>00066 </td><td class="right">8 </td><td><samp>KEY_PGDN</samp> </td></tr>
- <tr><td class="right">84 </td><td>00066 </td><td class="right">16 </td><td><samp>KEY_UP</samp> </td></tr>
- <tr><td class="right">85 </td><td>00066 </td><td class="right">32 </td><td><samp>KEY_LEFT</samp> </td></tr>
- <tr><td class="right">86 </td><td>00066 </td><td class="right">64 </td><td><samp>KEY_DOWN</samp> </td></tr>
- <tr><td class="right">87 </td><td>00066 </td><td class="right">128 </td><td><samp>KEY_RIGHT</samp> </td></tr>
- <tr><td class="right">88 </td><td>00067 </td><td class="right">1 </td><td><samp>KEY_NUMLOCK</samp> </td></tr>
- <tr><td class="right">89 </td><td>00067 </td><td class="right">2 </td><td><samp>KEY_KP_DIV</samp> </td></tr>
- <tr><td class="right">90 </td><td>00067 </td><td class="right">4 </td><td><samp>KEY_KP_MUL</samp> </td></tr>
- <tr><td class="right">91 </td><td>00067 </td><td class="right">8 </td><td><samp>KEY_KP_SUB</samp> </td></tr>
- <tr><td class="right">92 </td><td>00067 </td><td class="right">16 </td><td><samp>KEY_KP_7</samp> </td></tr>
- <tr><td class="right">93 </td><td>00067 </td><td class="right">32 </td><td><samp>KEY_KP_8</samp> </td></tr>
- <tr><td class="right">94 </td><td>00067 </td><td class="right">64 </td><td><samp>KEY_KP_9</samp> </td></tr>
- <tr><td class="right">95 </td><td>00067 </td><td class="right">128 </td><td><samp>KEY_KP_ADD</samp> </td></tr>
- <tr><td class="right">96 </td><td>00068 </td><td class="right">1 </td><td><samp>KEY_KP_4</samp> </td></tr>
- <tr><td class="right">97 </td><td>00068 </td><td class="right">2 </td><td><samp>KEY_KP_5</samp> </td></tr>
- <tr><td class="right">98 </td><td>00068 </td><td class="right">4 </td><td><samp>KEY_KP_6</samp> </td></tr>
- <tr><td class="right">99 </td><td>00068 </td><td class="right">8 </td><td><samp>KEY_KP_1</samp> </td></tr>
- <tr><td class="right">100 </td><td>00068 </td><td class="right">16 </td><td><samp>KEY_KP_2</samp> </td></tr>
- <tr><td class="right">101 </td><td>00068 </td><td class="right">32 </td><td><samp>KEY_KP_3</samp> </td></tr>
- <tr><td class="right">102 </td><td>00068 </td><td class="right">64 </td><td><samp>KEY_KP_ENTER</samp> </td></tr>
- <tr><td class="right">103 </td><td>00068 </td><td class="right">128 </td><td><samp>KEY_KP_0</samp> </td></tr>
- <tr><td class="right">104 </td><td>00069 </td><td class="right">1 </td><td><samp>KEY_KP_DEC</samp> </td></tr>
- <tr><td class="right">105 </td><td>00069 </td><td class="right">2 </td><td><samp>KEY_INT1</samp> </td></tr>
- <tr><td class="right">106 </td><td>00069 </td><td class="right">4 </td><td><samp>KEY_INT2</samp> </td></tr>
- <tr><td class="right">107 </td><td>00069 </td><td class="right">8 </td><td><samp>KEY_INT3</samp> </td></tr>
- <tr><td class="right">108 </td><td>00069 </td><td class="right">16 </td><td><samp>KEY_INT4</samp> </td></tr>
- <tr><td class="right">109 </td><td>00069 </td><td class="right">32 </td><td><samp>KEY_INT5</samp> </td></tr>
- <tr><td class="right">110 </td><td>00069 </td><td class="right">64 </td><td><samp>KEY_INT6</samp> </td></tr>
- <tr><td class="right">111 </td><td>00069 </td><td class="right">128 </td><td><samp>KEY_INT7</samp> </td></tr>
- <tr><td class="right">112 </td><td>0006A </td><td class="right">1 </td><td><samp>KEY_INT8</samp> </td></tr>
- <tr><td class="right">113 </td><td>0006A </td><td class="right">2 </td><td><samp>KEY_LNG1</samp> </td></tr>
- <tr><td class="right">114 </td><td>0006A </td><td class="right">4 </td><td><samp>KEY_LNG2</samp> </td></tr>
- <tr><td class="right">115 </td><td>0006A </td><td class="right">8 </td><td><samp>KEY_LNG3</samp> </td></tr>
- <tr><td class="right">116 </td><td>0006A </td><td class="right">16 </td><td><samp>KEY_LNG4</samp> </td></tr>
- <tr><td class="right">117 </td><td>0006A </td><td class="right">32 </td><td><samp>KEY_LNG5</samp> </td></tr>
- <tr><td class="right">118 </td><td>0006A </td><td class="right">64 </td><td><samp>KEY_LNG6</samp> </td></tr>
- <tr><td class="right">119 </td><td>0006A </td><td class="right">128 </td><td><samp>KEY_LNG7</samp> </td></tr>
- <tr><td class="right">120 </td><td>0006B </td><td class="right">1 </td><td><samp>KEY_LNG8</samp> </td></tr>
- <tr><td class="right">121 </td><td>0006B </td><td class="right">2 </td><td><samp>KEY_APP</samp> </td></tr>
- <tr><td class="right">122 </td><td>0006B </td><td class="right">4 </td><td><samp>KEY_POWER</samp> </td></tr>
- <tr><td class="right">123 </td><td>0006B </td><td class="right">8 </td><td><samp>KEY_KP_EQUAL</samp> </td></tr>
- <tr><td class="right">124 </td><td>0006B </td><td class="right">16 </td><td><samp>KEY_EXEC</samp> </td></tr>
- <tr><td class="right">125 </td><td>0006B </td><td class="right">32 </td><td><samp>KEY_HELP</samp> </td></tr>
- <tr><td class="right">126 </td><td>0006B </td><td class="right">64 </td><td><samp>KEY_SELECT</samp> </td></tr>
- <tr><td class="right">127 </td><td>0006B </td><td class="right">128 </td><td><samp>KEY_STOP</samp> </td></tr>
- <tr><td class="right">128 </td><td>0006C </td><td class="right">1 </td><td><samp>KEY_AGAIN</samp> </td></tr>
- <tr><td class="right">129 </td><td>0006C </td><td class="right">2 </td><td><samp>KEY_UNDO</samp> </td></tr>
- <tr><td class="right">130 </td><td>0006C </td><td class="right">4 </td><td><samp>KEY_CUT</samp> </td></tr>
- <tr><td class="right">131 </td><td>0006C </td><td class="right">8 </td><td><samp>KEY_COPY</samp> </td></tr>
- <tr><td class="right">132 </td><td>0006C </td><td class="right">16 </td><td><samp>KEY_PASTE</samp> </td></tr>
- <tr><td class="right">133 </td><td>0006C </td><td class="right">32 </td><td><samp>KEY_FIND</samp> </td></tr>
- <tr><td class="right">134 </td><td>0006C </td><td class="right">64 </td><td><samp>KEY_MUTE</samp> </td></tr>
- <tr><td class="right">135 </td><td>0006C </td><td class="right">128 </td><td><samp>KEY_VOLUP</samp> </td></tr>
- <tr><td class="right">136 </td><td>0006D </td><td class="right">1 </td><td><samp>KEY_VOLDN</samp> </td></tr></table></div>
- <h2 id="jatekpad">Játékpad<a href="#jatekpad"></a></h2>
- <div class="table"><table><tr><th>Cím </th><th>Méret </th><th>Leírás </th></tr>
- <tr><td>0006E </td><td class="right">2 </td><td>játékpad joystick határérték (alapból 8000) </td></tr>
- <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>
- <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>
- <p>A játékpad gombok a következők:</p>
- <div class="table"><table><tr><th>Define </th><th>Bitmaszk </th><th>Leírás </th></tr>
- <tr><td><samp>BTN_L</samp> </td><td class="right">1 </td><td>A <samp>◁</samp> gomb vagy joystick balra </td></tr>
- <tr><td><samp>BTN_U</samp> </td><td class="right">2 </td><td>A <samp>△</samp> gomb vagy joystick felfele </td></tr>
- <tr><td><samp>BTN_R</samp> </td><td class="right">4 </td><td>A <samp>▷</samp> gomb vagy joystick jobbra </td></tr>
- <tr><td><samp>BTN_D</samp> </td><td class="right">8 </td><td>A <samp>▽</samp> gomb vagy joystick lefele </td></tr>
- <tr><td><samp>BTN_A</samp> </td><td class="right">16 </td><td>Az <samp>Ⓐ</samp> gomb </td></tr>
- <tr><td><samp>BTN_B</samp> </td><td class="right">32 </td><td>A <samp>Ⓑ</samp> gomb </td></tr>
- <tr><td><samp>BTN_X</samp> </td><td class="right">64 </td><td>A <samp>Ⓧ</samp> gomb </td></tr>
- <tr><td><samp>BTN_Y</samp> </td><td class="right">128 </td><td>A <samp>Ⓨ</samp> gomb </td></tr></table></div>
- <p>A <samp>△△▽▽◁▷◁▷ⒷⒶ</samp> sorozat a <samp>KEY_CHEAT</samp> "gombot" jelzi lenyomottnak.</p>
- <h2 id="grafikus_feldolgozo_egyseg">Grafikus Feldolgozó Egység<a href="#grafikus_feldolgozo_egyseg"></a></h2>
- <div class="table"><table><tr><th>Cím </th><th>Méret </th><th>Leírás </th></tr>
- <tr><td>0007E </td><td class="right">1 </td><td>UNICODE kódpont felső bájtja a glifablakhoz </td></tr>
- <tr><td>0007F </td><td class="right">1 </td><td>szprájtbank választó a térképhez </td></tr>
- <tr><td>00080 </td><td class="right">1024 </td><td>paletta, 256 szín, egyenként 4 bájt, RGBA </td></tr>
- <tr><td>00480 </td><td class="right">2 </td><td>x0, vágás X kezdete pixelben (minden rajzoló funkció esetén) </td></tr>
- <tr><td>00482 </td><td class="right">2 </td><td>x1, vágás X vége pixelben </td></tr>
- <tr><td>00484 </td><td class="right">2 </td><td>y0, vágás Y kezdete pixelben </td></tr>
- <tr><td>00486 </td><td class="right">2 </td><td>y1, vágás Y vége pixelben </td></tr>
- <tr><td>00488 </td><td class="right">2 </td><td>megjelenített vram X offszetje pixelben vagy 0xffff </td></tr>
- <tr><td>0048A </td><td class="right">2 </td><td>megjelenített vram Y offszetje pixelben vagy 0xffff </td></tr>
- <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>
- <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>
- <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>
- <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>
- <tr><td>00492 </td><td class="right">2 </td><td>teknős Y koordináta pixelben </td></tr>
- <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>
- <tr><td>00496 </td><td class="right">2 </td><td>útvesztő forgási sebesség fokokban (1-től 90-ig) </td></tr>
- <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>
- <tr><td>00499 </td><td class="right">1 </td><td>konzol háttérszíne, paletta index 0-tól 255-ig </td></tr>
- <tr><td>0049A </td><td class="right">2 </td><td>konzol X koordináta pixelben </td></tr>
- <tr><td>0049C </td><td class="right">2 </td><td>konzol Y koordináta pixelben </td></tr>
- <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>
- <tr><td>004A0 </td><td class="right">2 </td><td>kamera Y koordináta </td></tr>
- <tr><td>004A2 </td><td class="right">2 </td><td>kamera Z koordináta </td></tr>
- <tr><td>004A4 </td><td class="right">2 </td><td>kamera iránya, dőlésszög (0 fel, 90 előre) </td></tr>
- <tr><td>004A6 </td><td class="right">2 </td><td>kamera iránya, forgásszög (0 balra, 90 előre) </td></tr>
- <tr><td>004A8 </td><td class="right">1 </td><td>kamera látószög (45 alapból, negatív ortografikus projekció) </td></tr>
- <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>
- <tr><td>004AC </td><td class="right">2 </td><td>fényforrás pozíció Y koordináta </td></tr>
- <tr><td>004AE </td><td class="right">2 </td><td>fényforrás pozíció Z koordináta </td></tr>
- <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>
- <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>
- <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>
- <h2 id="digitalis_szignalfeldolgozo_processzor">Digitális Szignálfeldolgozó Processzor<a href="#digitalis_szignalfeldolgozo_processzor"></a></h2>
- <div class="table"><table><tr><th>Cím </th><th>Méret </th><th>Leírás </th></tr>
- <tr><td>0007C </td><td class="right">1 </td><td>hullámminta bank választó (1-től 31-ig) </td></tr>
- <tr><td>0007D </td><td class="right">1 </td><td>zenesáv bank választó (0-tól 7-ig) </td></tr>
- <tr><td>004BA </td><td class="right">1 </td><td>aktuális tempó (soronkénti tikkszám, csak olvasható) </td></tr>
- <tr><td>004BB </td><td class="right">1 </td><td>aktuális sáv, amit épp játszik (csak olvasható) </td></tr>
- <tr><td>004BC </td><td class="right">2 </td><td>aktuális sor, amit épp játszik (csak olvasható) </td></tr>
- <tr><td>004BE </td><td class="right">2 </td><td>aktuális sáv sorainak száma (csak olvasható) </td></tr>
- <tr><td>004C0 </td><td class="right">64 </td><td>16 csatorna státusz regisztere, egyenként 4 bájt (csak olvasható) </td></tr>
- <tr><td>00500 </td><td class="right">256 </td><td>64 hangeffekt, egyenként 4 bájt </td></tr>
- <tr><td>20000 </td><td class="right">16384 </td><td>ablak a hullámmintára (lásd 0007C) </td></tr>
- <tr><td>24000 </td><td class="right">16384 </td><td>ablak a zenesáv mintákra (lásd 0007D) </td></tr></table></div>
- <p>Az összes DSP státusz regiszter csak olvasható, és a csatornák regiszterei a következők:</p>
- <div class="table"><table><tr><th>Cím </th><th>Méret </th><th>Leírás </th></tr>
- <tr><td>0 </td><td class="right">2 </td><td>aktuális pozíció az épp lejátszott hullámmintában </td></tr>
- <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>
- <tr><td>3 </td><td class="right">1 </td><td>aktuális hangerő (0 ha a csatorna ki van kapcsolva) </td></tr></table></div>
- <p>Az első 4 csatorna a zenéé, a többi a hangeffekteké.</p>
- <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ó
- a választóban. Az összes többi hullámminta formátuma:</p>
- <div class="table"><table><tr><th>Cím </th><th>Méret </th><th>Leírás </th></tr>
- <tr><td>0 </td><td class="right">2 </td><td>minták száma </td></tr>
- <tr><td>2 </td><td class="right">2 </td><td>ismétlés kezdete </td></tr>
- <tr><td>4 </td><td class="right">2 </td><td>ismétlés hossza </td></tr>
- <tr><td>6 </td><td class="right">1 </td><td>finomhangolás, -8-tól 7-ig </td></tr>
- <tr><td>7 </td><td class="right">1 </td><td>hangerő, 0-tól 64-ig </td></tr>
- <tr><td>8 </td><td class="right">16376 </td><td>előjeles 8-bites mono minták </td></tr></table></div>
- <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
- csatornához egy-egy és 1024 sor van összesen; míg a hangeffekteknél csak egy hangjegy van és 64 sor.</p>
- <div class="table"><table><tr><th>Cím </th><th>Méret </th><th>Leírás </th></tr>
- <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>
- <tr><td>1 </td><td class="right">1 </td><td>hullámminta index, 0-tól 31-ig </td></tr>
- <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>
- <tr><td>3 </td><td class="right">1 </td><td>effekt paraméter </td></tr></table></div>
- <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,
- 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).
- 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
- 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
- programodban.</p>
- <h2 id="hangjegyeffektek">Hangjegyeffektek<a href="#hangjegyeffektek"></a></h2>
- <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
- 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
- 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
- tárolva, annak ellenére, hogy úgy látszik, egy tetrádja a paraméterbe lóg, pedig nem is.</p>
- <div class="table"><table><tr><th>Effekt </th><th>Kód </th><th>Leírás </th></tr>
- <tr><td>... </td><td>000 </td><td>Nincs effekt </td></tr>
- <tr><td>Arp </td><td>0xy </td><td>Arpeggio, játszd le a hangot, hang+x, hang+y félhangot is </td></tr>
- <tr><td>Po/ </td><td>1xx </td><td>Portamento fel, periódus csúsztatása x-el felfelé </td></tr>
- <tr><td>Po\ </td><td>2xx </td><td>Portamento le, periódus csúsztatása x-el lefelé </td></tr>
- <tr><td>Ptn </td><td>3xx </td><td>Tone portamento, periódus csúsztatása x-re </td></tr>
- <tr><td>Vib </td><td>4xy </td><td>Vibrato, y félhanggal oszcillálja a magasságot x freken </td></tr>
- <tr><td>Ctv </td><td>5xy </td><td>Tone portamento folyt. + hangerőcsúsztatás x fel vagy y le </td></tr>
- <tr><td>Cvv </td><td>6xy </td><td>Vibrato folyt. + hangerőcsúsztatás x fel vagy y le </td></tr>
- <tr><td>Trm </td><td>7xy </td><td>Tremolo, y amplitudóval oszcillálja a hangerőt x freken </td></tr>
- <tr><td>Ofs </td><td>9xx </td><td>Hanghullám minta kezdjen x * 256 pozíción </td></tr>
- <tr><td>Vls </td><td>Axy </td><td>Hangerőcsúsztatás x fel vagy y le </td></tr>
- <tr><td>Jmp </td><td>Bxx </td><td>Pozícióugrás, a x * 64 -dik sorra </td></tr>
- <tr><td>Vol </td><td>Cxx </td><td>Hangerő beállítása x-re (0 és 64 közötti) </td></tr>
- <tr><td>Fp/ </td><td>E1x </td><td>Finom portamento fel, periódus növelése x-el </td></tr>
- <tr><td>Fp\ </td><td>E2x </td><td>Finom portamento le, periódus csökkentése x-el </td></tr>
- <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>
- <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>
- <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>
- <tr><td>Rtg </td><td>E9x </td><td>Hang újrázás, a hullám újrakezdése x tikkenként </td></tr>
- <tr><td>Fv/ </td><td>EAx </td><td>Finom hangerő csúsztatás felfelé, x-el </td></tr>
- <tr><td>Fv\ </td><td>EBx </td><td>Finom hangerő csúsztatás lefelé, x-el </td></tr>
- <tr><td>Cut </td><td>ECx </td><td>Hang elvágása x tikknél </td></tr>
- <tr><td>Dly </td><td>EDx </td><td>Hang késleltetése x tikkel </td></tr>
- <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>
- <h2 id="felhasznaloi_memoria">Felhasználói memória<a href="#felhasznaloi_memoria"></a></h2>
- <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
- hasznosítható felhasználói memória.</p>
- <div class="table"><table><tr><th>Cím </th><th>Méret </th><th>Leírás </th></tr>
- <tr><td>30000 </td><td class="right">4 </td><td>(csak BASIC) a DATA címe </td></tr>
- <tr><td>30004 </td><td class="right">4 </td><td>(csak BASIC) aktulális READ számláló </td></tr>
- <tr><td>30008 </td><td class="right">4 </td><td>(csak BASIC) maximum READ számláló, DATA elemszáma </td></tr></table></div>
- <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
- literálok. A BASIC nyelv esetén ezután jönnek a tényleges DATA rekordok.</p>
- <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>
- <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
- 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,
- hogy épp melyik függvény hív melyik másik függvényt a programodban.</p>
- <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
- dob.</p>
- <h2 id="formazo_sztring">Formázó sztring<a href="#formazo_sztring"></a></h2>
- <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
- hivatkoznak és előírják, hogyan kell azokat megjeleníteni. Ezek a következők:</p>
- <div class="table"><table><tr><th>Kód </th><th>Leírás </th></tr>
- <tr><td><samp>%%</samp> </td><td>A <samp>%</samp> karakter maga </td></tr>
- <tr><td><samp>%d</samp> </td><td>A soronkövetkező paramétert decimális számként írja ki </td></tr>
- <tr><td><samp>%u</samp> </td><td>A soronkövetkező paramétert pozitív számként írja ki </td></tr>
- <tr><td><samp>%x</samp> </td><td>A soronkövetkező paramétert hexadecimális számként írja ki </td></tr>
- <tr><td><samp>%o</samp> </td><td>A soronkövetkező paramétert oktális számként írja ki </td></tr>
- <tr><td><samp>%b</samp> </td><td>A soronkövetkező paramétert bináris számként írja ki </td></tr>
- <tr><td><samp>%f</samp> </td><td>A soronkövetkező paramétert lebegőpontos számként írja ki </td></tr>
- <tr><td><samp>%s</samp> </td><td>A soronkövetkező paramétert sztringként kell kiírni </td></tr>
- <tr><td><samp>%c</samp> </td><td>A soronkövetkező paramétert UTF-8 karakterként kell kiírni </td></tr>
- <tr><td><samp>%p</samp> </td><td>A soronkövetkező paramétert címként írja ki (pointer) </td></tr>
- <tr><td><samp>\t</samp> </td><td>Tab, igazítsd vízszintesen a pozíciót kiírás előtt </td></tr>
- <tr><td><samp>\n</samp> </td><td>Kezd új sorban a kiírást </td></tr></table></div>
- <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.
- 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
- utána, ami a tizedesjegyek számát adja meg (egészen 8-ig), például <samp>%.6f</samp>.</p>
- <h2 id="3d_s_ter">3D-s Tér<a href="#3d_s_ter"></a></h2>
- <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>
- <div class="pre"><pre>
- +Y
- |
- |__ +X
- /
- +Z
- </pre></div>
- <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
- 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
- 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.
- 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
- 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
- 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
- (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
- általában a stratégiai játékok részesítik előnyben.</p>
- <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
- 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
- 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
- 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>
- <h2 id="kod_szerkeszto_gyorsbillentyuk">Kód Szerkesztő gyorsbillentyűk<a href="#kod_szerkeszto_gyorsbillentyuk"></a></h2>
- <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>
- <div class="table"><table><tr><th>Billentyű </th><th>Leírás </th></tr>
- <tr><td><kbd>Ctrl</kbd>+<kbd>F</kbd> </td><td>Sztring keresése </td></tr>
- <tr><td><kbd>Ctrl</kbd>+<kbd>G</kbd> </td><td>Következő keresése </td></tr>
- <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>
- <tr><td><kbd>Ctrl</kbd>+<kbd>J</kbd> </td><td>Megadott sorra ugrás </td></tr>
- <tr><td><kbd>Ctrl</kbd>+<kbd>D</kbd> </td><td>Funkció definíciójához ugrás </td></tr>
- <tr><td><kbd>Ctrl</kbd>+<kbd>N</kbd> </td><td>Könyvjelzők listája </td></tr>
- <tr><td><kbd>Ctrl</kbd>+<kbd>B</kbd> </td><td>Könyvjelző ki/bekapcsolása az aktuális soron </td></tr>
- <tr><td><kbd>Ctrl</kbd>+<kbd>▴</kbd> </td><td>Előző könyvjelzőhöz ugrás </td></tr>
- <tr><td><kbd>Ctrl</kbd>+<kbd>▾</kbd> </td><td>Következő könyvjelzőhöz ugrás </td></tr>
- <tr><td><kbd>Ctrl</kbd>+<kbd>◂</kbd> </td><td>Ugrás az előző szó elejére </td></tr>
- <tr><td><kbd>Ctrl</kbd>+<kbd>▸</kbd> </td><td>Ugrás a következő szó végére </td></tr>
- <tr><td><kbd>Ctrl</kbd>+<kbd>,</kbd> </td><td>Behúzás csökkentése a kijelölt területen </td></tr>
- <tr><td><kbd>Ctrl</kbd>+<kbd>.</kbd> </td><td>Behúzás növelése a kijelölt területen </td></tr>
- <tr><td><kbd>Home</kbd> </td><td>Kurzor mozgatása a sor elejére </td></tr>
- <tr><td><kbd>End</kbd> </td><td>Kurzor mozgatása a sor végége </td></tr>
- <tr><td><kbd>PgUp</kbd> </td><td>Kurzor mozgatása 42 sorral (egy oldallal) feljebb </td></tr>
- <tr><td><kbd>PgDown</kbd> </td><td>Kurzor mozgatása 42 sorral (egy oldallal) lejjebb </td></tr>
- <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>
- <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>
- <div class="table"><table><tr><th>Bal <kbd>Alt</kbd> + </th></tr>
- <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>
- <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> <kbd>]</kbd> </td></tr>
- <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> <kbd>\</kbd> </td></tr>
- <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>
- <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>
- <div class="page" rel="konzol"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> API Referencia »</li><li> Konzol</li></ul><hr></div>
- <h1 id="konzol">Konzol<a href="#konzol"></a></h1>
- <h2 id="putc">putc<a href="#putc"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kiír egy karaktert a képernyőre.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>chr </td><td>UTF-8 karakter </td></tr></table></div></dd></dl>
- <hr>
- <h2 id="printf">printf<a href="#printf"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kiír egy szöveget a képernyőre.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>fmt </td><td>megjelenítendő <a href="#formazo_sztring" onclick="c('formazo_sztring')">formázó sztring</a> </td></tr>
- <tr><td>... </td><td>opcionális paraméterek </td></tr></table></div></dd></dl>
- <hr>
- <h2 id="getc">getc<a href="#getc"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Beolvas egy karaktert a konzolról, blokkolódik, ha nincs mit.</dd>
- <dt>Visszatérési érték</dt><dd>
- Egy UTF-8 karakter, amit a felhasználó leütött.</dd>
- <dt>Lásd még</dt><dd>
- <a href="#popkey" onclick="c('popkey')">popkey</a></dd></dl>
- <hr>
- <h2 id="gets">gets<a href="#gets"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Bekér egy újsor karakterrel lezárt szöveget a felhasználótól (az újsor karaktert nem adja vissza).</dd>
- <dt>Visszatérési érték</dt><dd>
- A beolvasott bájtok egy sztringben.</dd></dl>
- <hr>
- <h2 id="trace">trace<a href="#trace"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- 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>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>fmt </td><td><a href="#formazo_sztring" onclick="c('formazo_sztring')">formázó sztring</a> </td></tr>
- <tr><td>... </td><td>opcionális paraméterek </td></tr></table></div></dd></dl>
- <hr>
- <h2 id="delay">delay<a href="#delay"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Késlelteti a programod végrehajtását.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>msec </td><td>késleltetés ezredmásodpercekben </td></tr></table></div></dd></dl>
- <hr>
- <h2 id="exit">exit<a href="#exit"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- 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>
- <div class="page" rel="audio"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> API Referencia »</li><li> Audió</li></ul><hr></div>
- <h1 id="audio">Audió<a href="#audio"></a></h1>
- <h2 id="sfx">sfx<a href="#sfx"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Lejátszik egy hangeffektet.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>sfx </td><td>a hangeffekt indexe, 0-tól 63-ig </td></tr>
- <tr><td>channel </td><td>használni kívánt csatorna, 0-tól 11-ig </td></tr>
- <tr><td>volume </td><td>hangerő, 0-tól 255-ig, 0 kikapcsolja a csatornát </td></tr></table></div></dd></dl>
- <hr>
- <h2 id="music">music<a href="#music"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Lejátszik egy zenesávot.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>track </td><td>a zenesáv indexe, 0-tól 7-ig </td></tr>
- <tr><td>row </td><td>amelyik sortól kezdve kell lejátszani, 0-tól 1023-ig (max sávhossz) </td></tr>
- <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>
- <div class="page" rel="gpio"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> API Referencia »</li><li> GPIO</li></ul><hr></div>
- <h1 id="gpio">GPIO<a href="#gpio"></a></h1>
- <h2 id="gpio_rev">gpio_rev<a href="#gpio_rev"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Lekérdezi a GPIO board revíziós számát. 0-át ad vissza, ha a platformon nincs GPIO.</dd>
- <dt>Visszatérési érték</dt><dd>
- Board revíziós szám, vagy 0 ha nem támogatott.</dd></dl>
- <hr>
- <h2 id="gpio_get">gpio_get<a href="#gpio_get"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kiolvassa egy GPIO tüske értékét.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>pin </td><td>fizikai tüske száma, 1-től 40-ig </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- 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>
- <dt>Lásd még</dt><dd>
- <a href="#gpio_set" onclick="c('gpio_set')">gpio_set</a></dd></dl>
- <hr>
- <h2 id="gpio_set">gpio_set<a href="#gpio_set"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Beállítja egy GPIO tüske értékét.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>pin </td><td>fizikai tüske száma, 1-től 40-ig </td></tr>
- <tr><td>value </td><td>1 magasra kapcsolja a tüskét, 0 alacsonyra. </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- 0-val tér vissza, ha sikeres volt, -1-el hiba esetén (a GPIO tüske nem támogatott).</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <div class="page" rel="grafika"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> API Referencia »</li><li> Grafika</li></ul><hr></div>
- <h1 id="grafika">Grafika<a href="#grafika"></a></h1>
- <h2 id="cls">cls<a href="#cls"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Törli a képernyőt és alaphelyzetbe állítja a megjelenítő ablakát.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <a href="#pget" onclick="c('pget')">pget</a>, <a href="#pset" onclick="c('pset')">pset</a></dd></dl>
- <hr>
- <h2 id="cget">cget<a href="#cget"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kiolvassa a megadott koordinátán lévő pixelt, és RGBA színt ad vissza.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>x </td><td>X koordináta pixelben </td></tr>
- <tr><td>y </td><td>Y koordináta pixelben </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- Egy csomagolt színkód, RGBA csatornákkal (piros a legalacsonyabb bájtban).</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="pget">pget<a href="#pget"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kiolvassa a megadott koordinátán lévő pixelt, és paletta indexet ad vissza.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>x </td><td>X koordináta pixelben </td></tr>
- <tr><td>y </td><td>Y koordináta pixelben </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- Szín paletta indexe, 0-tól 255-ig.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="pset">pset<a href="#pset"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kirak egy pixelt a megadott koordinátára.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
- <tr><td>x </td><td>X koordináta pixelben </td></tr>
- <tr><td>y </td><td>Y koordináta pixelben </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <a href="#cls" onclick="c('cls')">cls</a>, <a href="#pget" onclick="c('pget')">pget</a></dd></dl>
- <hr>
- <h2 id="width">width<a href="#width"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja a megjelenítendő szöveg szélességét pixelekben.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>type </td><td>betűtípus, -4-től 4-ig </td></tr>
- <tr><td>str </td><td>megmérendő sztring </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A szöveg megjelenítéshez szükséges pixelek száma.</dd>
- <dt>Lásd még</dt><dd>
- <a href="#text" onclick="c('text')">text</a></dd></dl>
- <hr>
- <h2 id="text">text<a href="#text"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Szöveget ír ki a képernyőre.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
- <tr><td>x </td><td>X koordináta pixelben </td></tr>
- <tr><td>y </td><td>Y koordináta pixelben </td></tr>
- <tr><td>type </td><td>betűtípus, -4-től -1-ig monospace, 1-től 4-ig proporcionális </td></tr>
- <tr><td>shidx </td><td>árnyék színe, paletta index 0-tól 255-ig </td></tr>
- <tr><td>sha </td><td>árnyék átlátszósága, 0-tól (teljesen átlátszó) 255-ig (semennyire) </td></tr>
- <tr><td>str </td><td>megjelenítendő sztring </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <a href="#width" onclick="c('width')">width</a></dd></dl>
- <hr>
- <h2 id="line">line<a href="#line"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Húz egy anti-aliasolt vonalat.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
- <tr><td>x0 </td><td>induló X koordináta pixelekben </td></tr>
- <tr><td>y0 </td><td>induló Y koordináta pixelekben </td></tr>
- <tr><td>x1 </td><td>vége X koordináta pixelekben </td></tr>
- <tr><td>y1 </td><td>vége Y koordináta pixelekben </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <a href="#qbez" onclick="c('qbez')">qbez</a>, <a href="#cbez" onclick="c('cbez')">cbez</a></dd></dl>
- <hr>
- <h2 id="qbez">qbez<a href="#qbez"></a></h2>
- <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>,
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Négyzetes (quadratic) Bezier ív húzása.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
- <tr><td>x0 </td><td>induló X koordináta pixelekben </td></tr>
- <tr><td>y0 </td><td>induló Y koordináta pixelekben </td></tr>
- <tr><td>x1 </td><td>vége X koordináta pixelekben </td></tr>
- <tr><td>y1 </td><td>vége Y koordináta pixelekben </td></tr>
- <tr><td>cx </td><td>kontrollpont X koordináta pixelekben </td></tr>
- <tr><td>cy </td><td>kontrollpont Y koordináta pixelekben </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <a href="#line" onclick="c('line')">line</a>, <a href="#cbez" onclick="c('cbez')">cbez</a></dd></dl>
- <hr>
- <h2 id="cbez">cbez<a href="#cbez"></a></h2>
- <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>,
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Köbös (cubic) Bezier ív húzása.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
- <tr><td>x0 </td><td>induló X koordináta pixelekben </td></tr>
- <tr><td>y0 </td><td>induló Y koordináta pixelekben </td></tr>
- <tr><td>x1 </td><td>vége X koordináta pixelekben </td></tr>
- <tr><td>y1 </td><td>vége Y koordináta pixelekben </td></tr>
- <tr><td>cx0 </td><td>első kontrollpont X koordinátája pixelekben </td></tr>
- <tr><td>cy0 </td><td>első kontrollpont Y koordinátája pixelekben </td></tr>
- <tr><td>cx1 </td><td>második kontrollpont X koordinátája pixelekben </td></tr>
- <tr><td>cy1 </td><td>második kontrollpont Y koordinátája pixelekben </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <a href="#line" onclick="c('line')">line</a>, <a href="#qbez" onclick="c('qbez')">qbez</a></dd></dl>
- <hr>
- <h2 id="tri">tri<a href="#tri"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kirajzol egy háromszöget.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
- <tr><td>x0 </td><td>első csúcs X koordináta pixelekben </td></tr>
- <tr><td>y0 </td><td>első csúcs Y koordináta pixelekben </td></tr>
- <tr><td>x1 </td><td>második csúcs X koordináta pixelekben </td></tr>
- <tr><td>y1 </td><td>második csúcs Y koordináta pixelekben </td></tr>
- <tr><td>x2 </td><td>harmadik csúcs X koordináta pixelekben </td></tr>
- <tr><td>y2 </td><td>harmadik csúcs Y koordináta pixelekben </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="ftri">ftri<a href="#ftri"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kirajzol egy kitöltött háromszöget.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
- <tr><td>x0 </td><td>első csúcs X koordináta pixelekben </td></tr>
- <tr><td>y0 </td><td>első csúcs Y koordináta pixelekben </td></tr>
- <tr><td>x1 </td><td>második csúcs X koordináta pixelekben </td></tr>
- <tr><td>y1 </td><td>második csúcs Y koordináta pixelekben </td></tr>
- <tr><td>x2 </td><td>harmadik csúcs X koordináta pixelekben </td></tr>
- <tr><td>y2 </td><td>harmadik csúcs Y koordináta pixelekben </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="tri2d">tri2d<a href="#tri2d"></a></h2>
- <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>,
- <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">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>
- <dl>
- <dt>Leírás</dt><dd>
- Kirajzol egy kitöltött háromszöget színátmenetekkel.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>pi0 </td><td>első csúcs színe, paletta index 0-tól 255-ig </td></tr>
- <tr><td>x0 </td><td>első csúcs X koordináta pixelekben </td></tr>
- <tr><td>y0 </td><td>első csúcs Y koordináta pixelekben </td></tr>
- <tr><td>pi1 </td><td>második csúcs színe, paletta index 0-tól 255-ig </td></tr>
- <tr><td>x1 </td><td>második csúcs X koordináta pixelekben </td></tr>
- <tr><td>y1 </td><td>második csúcs Y koordináta pixelekben </td></tr>
- <tr><td>pi2 </td><td>harmadik csúcs színe, paletta index 0-tól 255-ig </td></tr>
- <tr><td>x2 </td><td>harmadik csúcs X koordináta pixelekben </td></tr>
- <tr><td>y2 </td><td>harmadik csúcs Y koordináta pixelekben </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="tri3d">tri3d<a href="#tri3d"></a></h2>
- <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>,
- <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>,
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- 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>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>pi0 </td><td>első csúcs színe, paletta index 0-tól 255-ig </td></tr>
- <tr><td>x0 </td><td>első csúcs X koordináta a térben </td></tr>
- <tr><td>y0 </td><td>első csúcs Y koordináta a térben </td></tr>
- <tr><td>z0 </td><td>első csúcs Z koordináta a térben </td></tr>
- <tr><td>pi1 </td><td>második csúcs színe, paletta index 0-tól 255-ig </td></tr>
- <tr><td>x1 </td><td>második csúcs X koordináta a térben </td></tr>
- <tr><td>y1 </td><td>második csúcs Y koordináta a térben </td></tr>
- <tr><td>z1 </td><td>második csúcs Z koordináta a térben </td></tr>
- <tr><td>pi2 </td><td>harmadik csúcs színe, paletta index 0-tól 255-ig </td></tr>
- <tr><td>x2 </td><td>harmadik csúcs X koordináta a térben </td></tr>
- <tr><td>y2 </td><td>harmadik csúcs Y koordináta a térben </td></tr>
- <tr><td>z2 </td><td>harmadik csúcs Z koordináta a térben </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="tritx">tritx<a href="#tritx"></a></h2>
- <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>,
- <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>,
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- 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>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>u0 </td><td>első csúcs textúra X koordináta, 0-tól 255-ig </td></tr>
- <tr><td>v0 </td><td>első csúcs textúra Y koordináta, 0-tól 255-ig </td></tr>
- <tr><td>x0 </td><td>első csúcs X koordináta a térben </td></tr>
- <tr><td>y0 </td><td>első csúcs Y koordináta a térben </td></tr>
- <tr><td>z0 </td><td>első csúcs Z koordináta a térben </td></tr>
- <tr><td>u0 </td><td>második csúcs textúra X koordináta, 0-tól 255-ig </td></tr>
- <tr><td>v0 </td><td>második csúcs textúra Y koordináta, 0-tól 255-ig </td></tr>
- <tr><td>x1 </td><td>második csúcs X koordináta a térben </td></tr>
- <tr><td>y1 </td><td>második csúcs Y koordináta a térben </td></tr>
- <tr><td>z1 </td><td>második csúcs Z koordináta a térben </td></tr>
- <tr><td>u0 </td><td>harmadik csúcs textúra X koordináta, 0-tól 255-ig </td></tr>
- <tr><td>v0 </td><td>harmadik csúcs textúra Y koordináta, 0-tól 255-ig </td></tr>
- <tr><td>x2 </td><td>harmadik csúcs X koordináta a térben </td></tr>
- <tr><td>y2 </td><td>harmadik csúcs Y koordináta a térben </td></tr>
- <tr><td>z2 </td><td>harmadik csúcs Z koordináta a térben </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="mesh">mesh<a href="#mesh"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- 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>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>verts </td><td>vertex pontok tömbjének címe, egyenként 3 x 2 bájt, X, Y, Z </td></tr>
- <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>
- <tr><td>numtri </td><td>háromszögek száma </td></tr>
- <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>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="rect">rect<a href="#rect"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kirajzol egy téglalapot.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
- <tr><td>x0 </td><td>bal felső sarok X koordináta pixelekben </td></tr>
- <tr><td>y0 </td><td>bal felső sarok Y koordináta pixelekben </td></tr>
- <tr><td>x1 </td><td>jobb alsó sarok X koordináta pixelekben </td></tr>
- <tr><td>y1 </td><td>jobb alsó sarok Y koordináta pixelekben </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <a href="#frect" onclick="c('frect')">frect</a></dd></dl>
- <hr>
- <h2 id="frect">frect<a href="#frect"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kirajzol egy kitöltött téglalapot.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
- <tr><td>x0 </td><td>bal felső sarok X koordináta pixelekben </td></tr>
- <tr><td>y0 </td><td>bal felső sarok Y koordináta pixelekben </td></tr>
- <tr><td>x1 </td><td>jobb alsó sarok X koordináta pixelekben </td></tr>
- <tr><td>y1 </td><td>jobb alsó sarok Y koordináta pixelekben </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <a href="#rect" onclick="c('rect')">rect</a></dd></dl>
- <hr>
- <h2 id="circ">circ<a href="#circ"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kirajzol egy kört.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
- <tr><td>x </td><td>középpont X koordináta pixelekben </td></tr>
- <tr><td>y </td><td>középpont Y koordináta pixelekben </td></tr>
- <tr><td>r </td><td>sugár pixelekben </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="fcirc">fcirc<a href="#fcirc"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kirajzol egy kitöltött kört.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
- <tr><td>x </td><td>középpont X koordináta pixelekben </td></tr>
- <tr><td>y </td><td>középpont Y koordináta pixelekben </td></tr>
- <tr><td>r </td><td>sugár pixelekben </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="ellip">ellip<a href="#ellip"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kirajzol egy ellipszist.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
- <tr><td>x0 </td><td>bal felső sarok X koordináta pixelekben </td></tr>
- <tr><td>y0 </td><td>bal felső sarok Y koordináta pixelekben </td></tr>
- <tr><td>x1 </td><td>jobb alsó sarok X koordináta pixelekben </td></tr>
- <tr><td>y1 </td><td>jobb alsó sarok Y koordináta pixelekben </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="fellip">fellip<a href="#fellip"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kirajzol egy kitöltött ellipszist.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr>
- <tr><td>x0 </td><td>bal felső sarok X koordináta pixelekben </td></tr>
- <tr><td>y0 </td><td>bal felső sarok Y koordináta pixelekben </td></tr>
- <tr><td>x1 </td><td>jobb alsó sarok X koordináta pixelekben </td></tr>
- <tr><td>y1 </td><td>jobb alsó sarok Y koordináta pixelekben </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="move">move<a href="#move"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Elhelyezi a teknőst a képernyőn vagy az útvesztőben.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <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>
- <tr><td>y </td><td>Y koordináta pixelben </td></tr>
- <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>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="left">left<a href="#left"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Balra forgatja a teknőst.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>deg </td><td>változás fokokban, 0-tól 359-ig </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="right">right<a href="#right"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Jobbra forgatja a teknőst.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>deg </td><td>változás fokokban, 0-tól 359-ig </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="up">up<a href="#up"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Felemeli a teknős farkát. Ezután a teknős úgy mozog, hogy nem húz vonalat.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="down">down<a href="#down"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- 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>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="color">color<a href="#color"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- 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>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>palidx </td><td>szín, paletta index 0-tól 255-ig </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="forw">forw<a href="#forw"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Előre mozgatja a teknőst.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <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>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="back">back<a href="#back"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Hátra mozgatja a teknőst.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <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>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="spr">spr<a href="#spr"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Megjelenít egy, vagy akár több, egymásmelletti szprájtot.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>x </td><td>X koordináta pixelben </td></tr>
- <tr><td>y </td><td>Y koordináta pixelben </td></tr>
- <tr><td>sprite </td><td>szprájt index, 0-tól 1023-ig </td></tr>
- <tr><td>sw </td><td>vízszintes szprájtok száma </td></tr>
- <tr><td>sh </td><td>függőleges szprájtok száma </td></tr>
- <tr><td>scale </td><td>nagyítás, -3-tól 4-ig </td></tr>
- <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>
- <dt>Lásd még</dt><dd>
- <a href="#dlg" onclick="c('dlg')">dlg</a>, <a href="#stext" onclick="c('stext')">stext</a></dd></dl>
- <hr>
- <h2 id="dlg">dlg<a href="#dlg"></a></h2>
- <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>,
- <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>,
- <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>,
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Megjelenít egy dialógusablakot szprájtok használatával.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>x </td><td>X koordináta pixelben </td></tr>
- <tr><td>y </td><td>Y koordináta pixelben </td></tr>
- <tr><td>w </td><td>dialógusablak szélessége pixelekben </td></tr>
- <tr><td>h </td><td>dialógusablak magassága pixelekben </td></tr>
- <tr><td>scale </td><td>nagyítás, -3-tól 4-ig </td></tr>
- <tr><td>tl </td><td>bal felső sarok szprájt id </td></tr>
- <tr><td>tm </td><td>középső felső szprájt id </td></tr>
- <tr><td>tr </td><td>jobb felső sarok szprájt id </td></tr>
- <tr><td>ml </td><td>középső bal oldal szprájt id </td></tr>
- <tr><td>bg </td><td>háttér szprájt id </td></tr>
- <tr><td>mr </td><td>középső jobb oldal szprájt id </td></tr>
- <tr><td>bl </td><td>bal alsó sarok szprájt id </td></tr>
- <tr><td>bm </td><td>középső alsó szprájt id </td></tr>
- <tr><td>br </td><td>jobb alsó sarok szprájt id </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <a href="#spr" onclick="c('spr')">spr</a>, <a href="#stext" onclick="c('stext')">stext</a></dd></dl>
- <hr>
- <h2 id="stext">stext<a href="#stext"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Szöveg megjelenítése a képernyőn szprájtok használatával.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>x </td><td>X koordináta pixelben </td></tr>
- <tr><td>y </td><td>Y koordináta pixelben </td></tr>
- <tr><td>fs </td><td>az első megjelenítendő szprájt indexe </td></tr>
- <tr><td>fu </td><td>az első UNICODE (legkissebb lehetséges karakter) a sztringben </td></tr>
- <tr><td>sw </td><td>vízszintes szprájtok száma </td></tr>
- <tr><td>sh </td><td>függőleges szprájtok száma </td></tr>
- <tr><td>scale </td><td>nagyítás, -3-tól 4-ig </td></tr>
- <tr><td>str </td><td>nullával lezárt UTF-8 sztring </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <a href="#spr" onclick="c('spr')">spr</a>, <a href="#dlg" onclick="c('dlg')">dlg</a></dd></dl>
- <hr>
- <h2 id="remap">remap<a href="#remap"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Lecseréli a csempéket a térképen. Használható arra, hogy meganimáljuk a térképet.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>replace </td><td>egy 256 elemű, szprájt idkat tartalmazó tömb </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="mget">mget<a href="#mget"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja a térkép egy csempéjét.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>mx </td><td>X térképkoordináta csempékben </td></tr>
- <tr><td>my </td><td>Y térképkoordináta csempékben </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A megadott koordinátán lévő szprájt indexe.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="mset">mset<a href="#mset"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Beállítja a térkép egy csempéjét.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>mx </td><td>X térképkoordináta csempékben </td></tr>
- <tr><td>my </td><td>Y térképkoordináta csempékben </td></tr>
- <tr><td>sprite </td><td>szprájt index, 0-tól 1023-ig </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="map">map<a href="#map"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kirajzolja a térképet (vagy egy részét).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>x </td><td>X koordináta pixelben </td></tr>
- <tr><td>y </td><td>Y koordináta pixelben </td></tr>
- <tr><td>mx </td><td>X térképkoordináta csempékben </td></tr>
- <tr><td>my </td><td>Y térképkoordináta csempékben </td></tr>
- <tr><td>mw </td><td>vízszintes csempék száma </td></tr>
- <tr><td>mh </td><td>függőleges csempék száma </td></tr>
- <tr><td>scale </td><td>nagyítás, -3-tól 4-ig </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="maze">maze<a href="#maze"></a></h2>
- <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>,
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- A teknőc pozícióját használva 3D-s útvesztőként jeleníti meg a térképet.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>mx </td><td>X térképkoordináta csempékben </td></tr>
- <tr><td>my </td><td>Y térképkoordináta csempékben </td></tr>
- <tr><td>mw </td><td>vízszintes csempék száma </td></tr>
- <tr><td>mh </td><td>függőleges csempék száma </td></tr>
- <tr><td>scale </td><td>csempénkénti szprájtszám kettő hatványban, 0-tól 3-ig </td></tr>
- <tr><td>sky </td><td>ég csempe index </td></tr>
- <tr><td>grd </td><td>föld csempe index </td></tr>
- <tr><td>door </td><td>első ajtó csempe indexe </td></tr>
- <tr><td>wall </td><td>első fal csempe indexe </td></tr>
- <tr><td>obj </td><td>első tárgy csempe indexe </td></tr>
- <tr><td>numnpc </td><td>NJK rekordok száma </td></tr>
- <tr><td>npc </td><td>uint32_t tömb, numnpc darab x,y,csempe index hármas </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <div class="page" rel="bemenet"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> API Referencia »</li><li> Bemenet</li></ul><hr></div>
- <h1 id="bemenet">Bemenet<a href="#bemenet"></a></h1>
- <h2 id="getpad">getpad<a href="#getpad"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja az egyik játékpad egy gombjának állapotát.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>pad </td><td>játékpad index, 0-tól 3-ig </td></tr>
- <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>
- <dt>Visszatérési érték</dt><dd>
- Nulla ha nincs lenyomva, nem nulla ha le van nyomva.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="prspad">prspad<a href="#prspad"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Igaz értékkel tér vissza, ha a legutóbbi hívás óta le lett nyomva a játékpad gombja (press).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>pad </td><td>játékpad index, 0-tól 3-ig </td></tr>
- <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>
- <dt>Visszatérési érték</dt><dd>
- Nulla ha nem lett lenyomva, nem nulla ha le lett nyomva.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="relpad">relpad<a href="#relpad"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Igaz értékkel tér vissza, ha a legutóbbi hívás óta fel lett engedve a játékpad gombja (release).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>pad </td><td>játékpad index, 0-tól 3-ig </td></tr>
- <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>
- <dt>Visszatérési érték</dt><dd>
- Nulla ha nem lett felengedve, nem nulla ha fel lett engedve.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="getbtn">getbtn<a href="#getbtn"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja az egyik egérgomb állapotát.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <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>
- <dt>Visszatérési érték</dt><dd>
- Nulla ha nincs lenyomva, nem nulla ha le van nyomva.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="getclk">getclk<a href="#getclk"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja az egérgomb kattintást (click).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>btn </td><td>az egyik <a href="#mutato" onclick="c('mutato')">mutató</a> gomb, <samp>BTN_</samp> </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- Nulla ha nem kattintottak vele, nem nulla ha volt kattinttás.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="getkey">getkey<a href="#getkey"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja az egyik billentyű állapotát.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <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>
- <dt>Visszatérési érték</dt><dd>
- Nulla ha nincs lenyomva, nem nulla ha le van nyomva.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="popkey">popkey<a href="#popkey"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja a következő UTF-8 gombot a billentyűsorból. Lásd <a href="#billentyuzet" onclick="c('billentyuzet')">billentyűzet</a>.</dd>
- <dt>Visszatérési érték</dt><dd>
- A gomb UTF-8 reprezentációja, vagy 0 ha a sor üres volt.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="pendkey">pendkey<a href="#pendkey"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Igaz értékkel tér vissza, ha legalább egy billentyű várakozik a sorban (de benthagyja a sorban, nem veszi ki).</dd>
- <dt>Visszatérési érték</dt><dd>
- 1 ha van kiolvasatlan billentyű a sorban, egyébként 0 ha a sor üres.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="lenkey">lenkey<a href="#lenkey"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja egy UTF-8 gomb hosszát bájtokban.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>key </td><td>a gomb, ahogy a billentyűsorból kijött </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- UTF-8 reprezentáció hossza bájtokban.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="speckey">speckey<a href="#speckey"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Igaz értékkel tér vissza, ha a gomb speciális.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>key </td><td>a gomb, ahogy a billentyűsorból kijött </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- 1 ha a gomb speciális, és 0 ha megjeleníthető.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <div class="page" rel="matematika"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> API Referencia »</li><li> Matematika</li></ul><hr></div>
- <h1 id="matematika">Matematika<a href="#matematika"></a></h1>
- <h2 id="rand">rand<a href="#rand"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- 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>
- <dt>Visszatérési érték</dt><dd>
- Egy véletlen szám 0 és 2<sup>32</sup>-1 (4294967295) között.</dd>
- <dt>Lásd még</dt><dd>
- <a href="#rnd" onclick="c('rnd')">rnd</a></dd></dl>
- <hr>
- <h2 id="rnd">rnd<a href="#rnd"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Véletlenszám. Ugyanaz, mint a <a href="#rand" onclick="c('rand')">rand</a>, csak lebegőpontos számot ad vissza.</dd>
- <dt>Visszatérési érték</dt><dd>
- Egy véletlen szám 0.0 és 1.0 között.</dd>
- <dt>Lásd még</dt><dd>
- <a href="#rand" onclick="c('rand')">rand</a></dd></dl>
- <hr>
- <h2 id="float">float<a href="#float"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Egy egészszám lebegőpontos alakját adja vissza.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>val </td><td>érték </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- Lebegőpontos szám.</dd>
- <dt>Lásd még</dt><dd>
- <a href="#int" onclick="c('int')">int</a></dd></dl>
- <hr>
- <h2 id="int">int<a href="#int"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Egy lebegőpontos szám egészszám alakos változatát adja vissza.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>val </td><td>érték </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- Egészszám.</dd>
- <dt>Lásd még</dt><dd>
- <a href="#float" onclick="c('float')">float</a></dd></dl>
- <hr>
- <h2 id="floor">floor<a href="#floor"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja a legnagyobb olyan egész lebegőpontos számot, ami még kissebb a megadottnál.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>val </td><td>érték </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A szám lefele kerekítve.</dd>
- <dt>Lásd még</dt><dd>
- <a href="#ceil" onclick="c('ceil')">ceil</a></dd></dl>
- <hr>
- <h2 id="ceil">ceil<a href="#ceil"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja a legkissebb olyan egész lebegőpontos számot, ami már nagyobb a megadottnál.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>val </td><td>érték </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A szám felfele kerekítve.</dd>
- <dt>Lásd még</dt><dd>
- <a href="#floor" onclick="c('floor')">floor</a></dd></dl>
- <hr>
- <h2 id="sgn">sgn<a href="#sgn"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja a szám előjelét.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>val </td><td>érték </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- Vagy 1.0 vagy -1.0.</dd>
- <dt>Lásd még</dt><dd>
- <a href="#abs" onclick="c('abs')">abs</a></dd></dl>
- <hr>
- <h2 id="abs">abs<a href="#abs"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja a lebegőpontos szám abszolút értékét.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>val </td><td>érték </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- Vagy az érték, vagy -érték, mindig pozitív.</dd>
- <dt>Lásd még</dt><dd>
- <a href="#sgn" onclick="c('sgn')">sgn</a></dd></dl>
- <hr>
- <h2 id="exp">exp<a href="#exp"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja az érték exponenciálisát, azaz a természetes alapú logaritmus értékedik hatványát.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>val </td><td>érték </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- Az e<sup>val</sup> értéke.</dd>
- <dt>Lásd még</dt><dd>
- <a href="#log" onclick="c('log')">log</a>, <a href="#pow" onclick="c('pow')">pow</a></dd></dl>
- <hr>
- <h2 id="log">log<a href="#log"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja az érték természetes alapú logaritmusát.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>val </td><td>érték </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A val természetes alapú logaritmusa.</dd>
- <dt>Lásd még</dt><dd>
- <a href="#exp" onclick="c('exp')">exp</a></dd></dl>
- <hr>
- <h2 id="pow">pow<a href="#pow"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja egy szám hatványát. Ez nagyon lassú, próbáld elkerülni a használatát.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>val </td><td>érték </td></tr>
- <tr><td>exp </td><td>kitevő </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A val<sup>exp</sup> értéke.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="sqrt">sqrt<a href="#sqrt"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja egy szám négyzetgyökét. Ez nagyon lassú, próbáld elkerülni a használatát.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>val </td><td>érték </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- Az érték négyzetgyöke.</dd>
- <dt>Lásd még</dt><dd>
- <a href="#pow" onclick="c('pow')">pow</a>, <a href="#rsqrt" onclick="c('rsqrt')">rsqrt</a></dd></dl>
- <hr>
- <h2 id="rsqrt">rsqrt<a href="#rsqrt"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja egy szám négyzetgyökének reciprokát (1/sqrt(val)). John Carmack féle gyors metódust használ.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>val </td><td>érték </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- Az érték négyzetgyökének reciproka.</dd>
- <dt>Lásd még</dt><dd>
- <a href="#pow" onclick="c('pow')">pow</a>, <a href="#sqrt" onclick="c('sqrt')">sqrt</a></dd></dl>
- <hr>
- <h2 id="clamp">clamp<a href="#clamp"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Lecsípi (klimpeli) a megadott értéket két határérték közé.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>val </td><td>érték </td></tr>
- <tr><td>minv </td><td>minimum érték </td></tr>
- <tr><td>maxv </td><td>maximum érték </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- Klimpelt érték.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="lerp">lerp<a href="#lerp"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Lineárisan interpolál két érték között.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>első lebegőpontos érték </td></tr>
- <tr><td>b </td><td>második lebegőpontos érték </td></tr>
- <tr><td>t </td><td>interpoláció értéke 0.0 és 1.0 között </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="pi">pi<a href="#pi"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja a π értékét lebegőpontos számként.</dd>
- <dt>Visszatérési érték</dt><dd>
- A 3.14159265358979323846 érték.</dd></dl>
- <hr>
- <h2 id="cos">cos<a href="#cos"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja a koszinuszt.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>deg </td><td>fok, 0-tól 359-ig, 0 felfele, 90 jobbra </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A fok koszinusza, -1.0 és 1.0 közötti érték.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="sin">sin<a href="#sin"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja a szinuszt.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>deg </td><td>fok, 0-tól 359-ig, 0 felfele, 90 jobbra </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A fok szinusza, -1.0 és 1.0 közötti érték.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="tan">tan<a href="#tan"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja a tangenst.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>deg </td><td>fok, 0-tól 359-ig, 0 felfele, 90 jobbra </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A fok tangense, -1.0 és 1.0 közötti érték.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="acos">acos<a href="#acos"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja az arkuszkoszinuszt.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>val </td><td>érték, -1.0 és 1.0 között </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- Arkuszkoszinusz fokokban, 0-tól 359-ig, 0 felfele, 90 jobbra.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="asin">asin<a href="#asin"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja az arkuszszinuszt.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>val </td><td>érték, -1.0 és 1.0 között </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- Arkuszszinusz fokokban, 0-tól 359-ig, 0 felfele, 90 jobbra.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="atan">atan<a href="#atan"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja az arkusztangenst.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>val </td><td>érték, -1.0 és 1.0 között </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- Arkusztangens fokokban, 0-tól 359-ig, 0 felfele, 90 jobbra.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="atan2">atan2<a href="#atan2"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja y/x arkusztangensét, figyelembe véve az y és x előjelét a kvadráns meghatározásánál.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>y </td><td>Y koordináta </td></tr>
- <tr><td>x </td><td>X koordináta </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- Arkusztangens fokokban, 0-tól 359-ig, 0 felfele, 90 jobbra.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="dotv2">dotv2<a href="#dotv2"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kiszámolja a kételemű vektorok skaláris szorzatát (dot product).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>két float címe </td></tr>
- <tr><td>b </td><td>két float címe </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A vektorok skaláris szorzata.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="lenv2">lenv2<a href="#lenv2"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- 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>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>két float címe </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A vektor hossza.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="scalev2">scalev2<a href="#scalev2"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Atméretezi a kételemű vektort (skálázás, skalárral szorzás).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>két float címe </td></tr>
- <tr><td>s </td><td>skálázó érték </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="negv2">negv2<a href="#negv2"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Negálja a kételemű vektort.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>két float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="addv2">addv2<a href="#addv2"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Összead két kételemű vektort.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>két float címe (kimenet) </td></tr>
- <tr><td>a </td><td>két float címe </td></tr>
- <tr><td>b </td><td>két float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="subv2">subv2<a href="#subv2"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kivon két kételemű vektort.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>két float címe (kimenet) </td></tr>
- <tr><td>a </td><td>két float címe </td></tr>
- <tr><td>b </td><td>két float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="mulv2">mulv2<a href="#mulv2"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Összeszoroz két kételemű vektort (lineáris kombináció).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>két float címe (kimenet) </td></tr>
- <tr><td>a </td><td>két float címe </td></tr>
- <tr><td>b </td><td>két float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="divv2">divv2<a href="#divv2"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Eloszt két kételemű vektort (lineáris kombináció).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>két float címe (kimenet) </td></tr>
- <tr><td>a </td><td>két float címe </td></tr>
- <tr><td>b </td><td>két float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="clampv2">clampv2<a href="#clampv2"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Lecsípi (klimpeli) a megadott kételemű vektort két határérték közé.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>két float címe (kimenet) </td></tr>
- <tr><td>v </td><td>két float címe, bemeneti érték </td></tr>
- <tr><td>minv </td><td>két float címe, minimum </td></tr>
- <tr><td>maxv </td><td>két float címe, maximum </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="lerpv2">lerpv2<a href="#lerpv2"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Lineárisan interpolál két kételemű vektor között.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>két float címe (kimenet) </td></tr>
- <tr><td>a </td><td>két float címe </td></tr>
- <tr><td>b </td><td>két float címe </td></tr>
- <tr><td>t </td><td>interpoláció értéke 0.0 és 1.0 között </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="normv2">normv2<a href="#normv2"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Normalizálja a kételemű vektort.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>két float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="dotv3">dotv3<a href="#dotv3"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kiszámolja a háromelemű vektorok skaláris szorzatát (dot product).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>három float címe </td></tr>
- <tr><td>b </td><td>három float címe </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A vektorok skaláris szorzata.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="lenv3">lenv3<a href="#lenv3"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- 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>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>három float címe </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A vektor hossza.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="scalev3">scalev3<a href="#scalev3"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Atméretezi a háromelemű vektort (skálázás, skalárral szorzás).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>három float címe </td></tr>
- <tr><td>s </td><td>skálázó érték </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="negv3">negv3<a href="#negv3"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Negálja a háromelemű vektort.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>három float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="addv3">addv3<a href="#addv3"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Összead két háromelemű vektort.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>három float címe (kimenet) </td></tr>
- <tr><td>a </td><td>három float címe </td></tr>
- <tr><td>b </td><td>három float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="subv3">subv3<a href="#subv3"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kivon két háromelemű vektort.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>három float címe (kimenet) </td></tr>
- <tr><td>a </td><td>három float címe </td></tr>
- <tr><td>b </td><td>három float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="mulv3">mulv3<a href="#mulv3"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Összeszoroz két háromelemű vektort (lineáris kombináció).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>három float címe (kimenet) </td></tr>
- <tr><td>a </td><td>három float címe </td></tr>
- <tr><td>b </td><td>három float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="divv3">divv3<a href="#divv3"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Eloszt két háromelemű vektort (lineáris kombináció).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>három float címe (kimenet) </td></tr>
- <tr><td>a </td><td>három float címe </td></tr>
- <tr><td>b </td><td>három float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="crossv3">crossv3<a href="#crossv3"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Összeszoroz két háromelemű vektort (cross product, keresztszorzat, vektoriális szorzat).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>három float címe (kimenet) </td></tr>
- <tr><td>a </td><td>három float címe </td></tr>
- <tr><td>b </td><td>három float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="clampv3">clampv3<a href="#clampv3"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Lecsípi (klimpeli) a megadott háromelemű vektort két határérték közé.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>három float címe (kimenet) </td></tr>
- <tr><td>v </td><td>három float címe, bemeneti érték </td></tr>
- <tr><td>minv </td><td>három float címe, minimum </td></tr>
- <tr><td>maxv </td><td>három float címe, maximum </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="lerpv3">lerpv3<a href="#lerpv3"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Lineárisan interpolál két háromelemű vektor között.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>három float címe (kimenet) </td></tr>
- <tr><td>a </td><td>három float címe </td></tr>
- <tr><td>b </td><td>három float címe </td></tr>
- <tr><td>t </td><td>interpoláció értéke 0.0 és 1.0 között </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="normv3">normv3<a href="#normv3"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Normalizálja a háromelemű vektort.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>három float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="dotv4">dotv4<a href="#dotv4"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kiszámolja a négyelemű vektorok skaláris szorzatát (dot product).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>négy float címe </td></tr>
- <tr><td>b </td><td>négy float címe </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A vektorok skaláris szorzata.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="lenv4">lenv4<a href="#lenv4"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- 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>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>négy float címe </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A vektor hossza.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="scalev4">scalev4<a href="#scalev4"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Atméretezi a négyelemű vektort (skálázás, skalárral szorzás).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>négy float címe </td></tr>
- <tr><td>s </td><td>skálázó érték </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="negv4">negv4<a href="#negv4"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Negálja a négyelemű vektort.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>négy float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="addv4">addv4<a href="#addv4"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Összead két négyelemű vektort.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
- <tr><td>a </td><td>négy float címe </td></tr>
- <tr><td>b </td><td>négy float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="subv4">subv4<a href="#subv4"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kivon két négyelemű vektort.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
- <tr><td>a </td><td>négy float címe </td></tr>
- <tr><td>b </td><td>négy float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="mulv4">mulv4<a href="#mulv4"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Összeszoroz két négyelemű vektort (lineáris kombináció).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
- <tr><td>a </td><td>négy float címe </td></tr>
- <tr><td>b </td><td>négy float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="divv4">divv4<a href="#divv4"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Eloszt két négyelemű vektort (lineáris kombináció).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
- <tr><td>a </td><td>négy float címe </td></tr>
- <tr><td>b </td><td>négy float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="clampv4">clampv4<a href="#clampv4"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Lecsípi (klimpeli) a megadott négyelemű vektort két határérték közé.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
- <tr><td>v </td><td>négy float címe, bemeneti érték </td></tr>
- <tr><td>minv </td><td>négy float címe, minimum </td></tr>
- <tr><td>maxv </td><td>négy float címe, maximum </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="lerpv4">lerpv4<a href="#lerpv4"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Lineárisan interpolál két négyelemű vektor között.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
- <tr><td>a </td><td>négy float címe </td></tr>
- <tr><td>b </td><td>négy float címe </td></tr>
- <tr><td>t </td><td>interpoláció értéke 0.0 és 1.0 között </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="normv4">normv4<a href="#normv4"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Normalizálja a négyelemű vektort.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>négy float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="idq">idq<a href="#idq"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Betölti az identitás kvaterniót.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>négy float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="eulerq">eulerq<a href="#eulerq"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Betölt egy Euler-szögekkel megadott kvaterniót.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
- <tr><td>pitch </td><td>dőlésszög, X tengely körüli forgatás fokokban, 0-tól 359-ig </td></tr>
- <tr><td>yaw </td><td>forgásszög, Y tengely körüli forgatás fokokban, 0-tól 359-ig </td></tr>
- <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>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="dotq">dotq<a href="#dotq"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kiszámolja a kvaternió skaláris szorzatát (dot product).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>négy float címe </td></tr>
- <tr><td>b </td><td>négy float címe </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A kvaternió skaláris szorzata.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="lenq">lenq<a href="#lenq"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- 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>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>négy float címe </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A kvaternió hossza.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="scaleq">scaleq<a href="#scaleq"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Atméretezi a kvaterniót (skálázás, skalárral szorzás).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>négy float címe </td></tr>
- <tr><td>s </td><td>skálázó érték </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="negq">negq<a href="#negq"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Negálja a kvaterniót.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>négy float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="addq">addq<a href="#addq"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Összead két kvaterniót.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
- <tr><td>a </td><td>négy float címe </td></tr>
- <tr><td>b </td><td>négy float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="subq">subq<a href="#subq"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kivon két kvaterniót.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
- <tr><td>a </td><td>négy float címe </td></tr>
- <tr><td>b </td><td>négy float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="mulq">mulq<a href="#mulq"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Összeszoroz két kvaterniót (vektoriális szorzat).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
- <tr><td>a </td><td>négy float címe </td></tr>
- <tr><td>b </td><td>négy float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="rotq">rotq<a href="#rotq"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Összeszoroz egy kvaterniót egy háromelemű forgatási vektorral.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
- <tr><td>q </td><td>négy float címe </td></tr>
- <tr><td>v </td><td>három float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="lerpq">lerpq<a href="#lerpq"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Lineárisan interpolál két kvaternió között.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
- <tr><td>a </td><td>négy float címe </td></tr>
- <tr><td>b </td><td>négy float címe </td></tr>
- <tr><td>t </td><td>interpoláció értéke 0.0 és 1.0 között </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="slerpq">slerpq<a href="#slerpq"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Gömbfelületen interpolál két kvaternió között (spherical).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
- <tr><td>a </td><td>négy float címe </td></tr>
- <tr><td>b </td><td>négy float címe </td></tr>
- <tr><td>t </td><td>interpoláció értéke 0.0 és 1.0 között </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="normq">normq<a href="#normq"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Normalizálja a kvaterniót.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>négy float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="idm4">idm4<a href="#idm4"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Betölti a 4 x 4-es identitás mátrixot.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>16 float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="trsm4">trsm4<a href="#trsm4"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Létrehoz egy 4 x 4-es transzformációs mátrixot eltolás, forgatás és nagyítás adatokból.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>16 float címe, a kimeneti mátrix </td></tr>
- <tr><td>t </td><td>három float címe, az eltolás vektor (translation) </td></tr>
- <tr><td>r </td><td>négy float címe, a forgatási kvaternió (rotation) </td></tr>
- <tr><td>s </td><td>három float címe, a nagyítási vektor (scaling) </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="detm4">detm4<a href="#detm4"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja a mátrix determinánsát.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>a </td><td>16 float címe </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A mátrix determinánsa.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="addm4">addm4<a href="#addm4"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Összead két mátrixot.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>16 float címe (kimenet) </td></tr>
- <tr><td>a </td><td>16 float címe </td></tr>
- <tr><td>b </td><td>16 float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="subm4">subm4<a href="#subm4"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kivon két mátrixot.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>16 float címe (kimenet) </td></tr>
- <tr><td>a </td><td>16 float címe </td></tr>
- <tr><td>b </td><td>16 float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="mulm4">mulm4<a href="#mulm4"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Összeszoroz két mátrixot.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>16 float címe (kimenet) </td></tr>
- <tr><td>a </td><td>16 float címe </td></tr>
- <tr><td>b </td><td>16 float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="mulm4v3">mulm4v3<a href="#mulm4v3"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Összeszoroz egy háromelemű vektort egy mátrixszal.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>három float címe (kimenet) </td></tr>
- <tr><td>m </td><td>16 float címe </td></tr>
- <tr><td>v </td><td>három float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="mulm4v4">mulm4v4<a href="#mulm4v4"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Összeszoroz egy négyelemű vektort egy mátrixszal.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>négy float címe (kimenet) </td></tr>
- <tr><td>m </td><td>16 float címe </td></tr>
- <tr><td>v </td><td>négy float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="invm4">invm4<a href="#invm4"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kiszámítja a mátrix inverzét.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>16 float címe (kimenet) </td></tr>
- <tr><td>a </td><td>16 float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="trpm4">trpm4<a href="#trpm4"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Transzponálja a mátrixot.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>16 float címe (kimenet) </td></tr>
- <tr><td>a </td><td>16 float címe </td></tr></table></div></dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="trns">trns<a href="#trns"></a></h2>
- <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>,
- <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>,
- <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>,
- <span class="hl_t">float</span> <span class="hl_v">scale</span>)</code></div>
- <dl>
- <dt>Leírás</dt><dd>
- 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>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <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>
- <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>
- <tr><td>num </td><td>vertex koordinátahármasok száma a tömbben </td></tr>
- <tr><td>x </td><td>világ X koordináta, -32767-tól 32767-ig </td></tr>
- <tr><td>y </td><td>világ Y koordináta, -32767-tól 32767-ig </td></tr>
- <tr><td>z </td><td>világ Z koordináta, -32767-tól 32767-ig </td></tr>
- <tr><td>pitch </td><td>dőlésszög, X tengely körüli forgatás fokokban, 0-tól 359-ig </td></tr>
- <tr><td>yaw </td><td>forgásszög, Y tengely körüli forgatás fokokban, 0-tól 359-ig </td></tr>
- <tr><td>roll </td><td>pörgésszög, Z tengely körüli forgatás fokokban, 0-tól 359-ig </td></tr>
- <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>
- <dt>Lásd még</dt><dd>
- <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>
- <div class="page" rel="memoria"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> API Referencia »</li><li> Memória</li></ul><hr></div>
- <h1 id="memoria">Memória<a href="#memoria"></a></h1>
- <h2 id="inb">inb<a href="#inb"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Beolvas egy bájtot a memóriából.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>src </td><td>cím, 0x00000-tól 0xBFFFF-ig </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- Visszaadja az értéket az adott címről.</dd></dl>
- <hr>
- <h2 id="inw">inw<a href="#inw"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Beolvas egy szót (word, 2 bájt) a memóriából.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>src </td><td>cím, 0x00000-tól 0xBFFFE-ig </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- Visszaadja az értéket az adott címről.</dd></dl>
- <hr>
- <h2 id="ini">ini<a href="#ini"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Beolvas egy egészszámot (integer, 4 bájt) a memóriából.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>src </td><td>cím, 0x00000-tól 0xBFFFC-ig </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- Visszaadja az értéket az adott címről.</dd></dl>
- <hr>
- <h2 id="outb">outb<a href="#outb"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kiír egy bájtot a memóriába.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>cím, 0x00000-tól 0xBFFFF-ig </td></tr>
- <tr><td>value </td><td>beállítandó érték, 0-tól 255-ig </td></tr></table></div></dd></dl>
- <hr>
- <h2 id="outw">outw<a href="#outw"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kiír egy szót (word, 2 bájt) a memóriába.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>cím, 0x00000-tól 0xBFFFE-ig </td></tr>
- <tr><td>value </td><td>beállítandó érték, 0-tól 65536-ig </td></tr></table></div></dd></dl>
- <hr>
- <h2 id="outi">outi<a href="#outi"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kiír egy egészszámot (integer, 4 bájt) a memóriába.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>cím, 0x00000-tól 0xBFFFC-ig </td></tr>
- <tr><td>value </td><td>beállítandó érték, 0-tól 4294967295-ig </td></tr></table></div></dd></dl>
- <hr>
- <h2 id="memsave">memsave<a href="#memsave"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Elmenti a megadott memória tartalmát egy átfedőbe.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>overlay </td><td>cél átfedő indexe, 0-tól 255-ig </td></tr>
- <tr><td>src </td><td>elmentendő memória címe, 0x00000-tól 0xBFFFF-ig </td></tr>
- <tr><td>size </td><td>elmentendő bájtok száma </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- 1-et ad vissza ha sikerült, 0-át hiba esetén.</dd>
- <dt>Lásd még</dt><dd>
- <a href="#memload" onclick="c('memload')">memload</a></dd></dl>
- <hr>
- <h2 id="memload">memload<a href="#memload"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Betölti egy átfedő tartalmát a memória megadott címére.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>cél memória terület címe, 0x00000-tól 0xBFFFF-ig </td></tr>
- <tr><td>overlay </td><td>betöltendő átfedő indexe, 0-tól 255-ig </td></tr>
- <tr><td>maxsize </td><td>betöltendő bájtok maximális száma </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- Visszaadja, hogy hány bájtot töltött végül be (ami lehet kevesebb, mint a maxsize).</dd>
- <dt>Lásd még</dt><dd>
- <a href="#memsave" onclick="c('memsave')">memsave</a></dd></dl>
- <hr>
- <h2 id="memcpy">memcpy<a href="#memcpy"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Memóriaterületek másolása.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>cél címe, 0x00000-tól 0xBFFFF-ig </td></tr>
- <tr><td>src </td><td>forrás címe, 0x00000-tól 0xBFFFF-ig </td></tr>
- <tr><td>len </td><td>átmásolandó bájtok száma </td></tr></table></div></dd></dl>
- <hr>
- <h2 id="memset">memset<a href="#memset"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Memóriaterület feltöltése adott bájttal.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>cél címe, 0x00000-tól 0xBFFFF-ig </td></tr>
- <tr><td>value </td><td>beállítandó érték, 0-tól 255-ig </td></tr>
- <tr><td>len </td><td>beállítandó bájtok száma </td></tr></table></div></dd></dl>
- <hr>
- <h2 id="memcmp">memcmp<a href="#memcmp"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Két memóriaterület összehasonlítása.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>addr0 </td><td>első cím, 0x00000-tól 0xBFFFF-ig </td></tr>
- <tr><td>addr1 </td><td>második cím, 0x00000-tól 0xBFFFF-ig </td></tr>
- <tr><td>len </td><td>összehasonlítandó bájtok száma </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- Visszaadja a különbséget, azaz 0-át, ha a két terület tartalma megegyezik.</dd></dl>
- <hr>
- <h2 id="deflate">deflate<a href="#deflate"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Betömörít (összezsugorít) egy adatbuffert RFC1950 deflate (zlib) használatával.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>cél címe, 0x30000-tól 0xBFFFF-ig </td></tr>
- <tr><td>src </td><td>forrás címe, 0x30000-tól 0xBFFFF-ig </td></tr>
- <tr><td>len </td><td>tömörítendő bájtok száma </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- 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>
- <dt>Lásd még</dt><dd>
- <a href="#inflate" onclick="c('inflate')">inflate</a></dd></dl>
- <hr>
- <h2 id="inflate">inflate<a href="#inflate"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kitömörít (felfúj) egy RFC1950 deflate (zlib) tömörített buffert.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>dst </td><td>cél címe, 0x30000-tól 0xBFFFF-ig </td></tr>
- <tr><td>src </td><td>forrás címe, 0x30000-tól 0xBFFFF-ig </td></tr>
- <tr><td>len </td><td>betömörített bájtok száma </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- 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>
- <dt>Lásd még</dt><dd>
- <a href="#deflate" onclick="c('deflate')">deflate</a></dd></dl>
- <hr>
- <h2 id="time">time<a href="#time"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja a bekapcsolás óta eltelt tikkek számát.</dd>
- <dt>Visszatérési érték</dt><dd>
- A bekapcsolás óta eltelt idő ezredmásodpercekben.</dd>
- <dt>Lásd még</dt><dd>
- <a href="#now" onclick="c('now')">now</a></dd></dl>
- <hr>
- <h2 id="now">now<a href="#now"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja a UNIX időbélyeget. A 0000C címen lévő bájttal ellenőrizheted, hogy túlcsordult-e.</dd>
- <dt>Visszatérési érték</dt><dd>
- A greenwichi középidő szerinti 1970. január 1.-e éjfél óta eltelt másodpercek száma.</dd>
- <dt>Lásd még</dt><dd>
- <a href="#time" onclick="c('time')">time</a></dd></dl>
- <hr>
- <h2 id="atoi">atoi<a href="#atoi"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Egy ASCII decimális számot alakít át egészszámmá.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>src </td><td>sztring címe, 0x00000-tól 0xBFFFF-ig </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A sztringbeli szám egészszám megfelelője.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="itoa">itoa<a href="#itoa"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Egy egésszámot alakít ASCII decimális karaktersorozattá, sztringé.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>value </td><td>az érték, -2147483648-tól 2147483647-ig </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A szám sztringbe kiírt változata.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="val">val<a href="#val"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Egy ASCII decimális számot alakít át lebegőpontos számmá.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>src </td><td>sztring címe, 0x00000-tól 0xBFFFF-ig </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A sztringbeli szám lebegőpontos szám megfelelője.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="str">str<a href="#str"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Egy lebegőpontos számot alakít ASCII decimális karaktersorozattá, sztringé.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>value </td><td>a szám </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A szám sztringbe kiírt változata.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <hr>
- <h2 id="sprintf">sprintf<a href="#sprintf"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Kigenerál egy nullával lezárt, UTF-8 sztringet a megadott formázás és paraméterek alapján.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>fmt </td><td><a href="#formazo_sztring" onclick="c('formazo_sztring')">formázó sztring</a> </td></tr>
- <tr><td>... </td><td>opcionális paraméterek </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A megformázott sztring.</dd></dl>
- <hr>
- <h2 id="strlen">strlen<a href="#strlen"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja, mennyi bájtból áll a sztring (a lezáró nulla nélkül).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>src </td><td>sztring címe, 0x00000-tól 0xBFFFF-ig </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A sztringben lévő bájtok száma.</dd>
- <dt>Lásd még</dt><dd>
- <a href="#mblen" onclick="c('mblen')">mblen</a></dd></dl>
- <hr>
- <h2 id="mblen">mblen<a href="#mblen"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Visszaadja, mennyi UTF-8 multibájt karakterből áll a sztring (a lezáró nulla nélkül).</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>src </td><td>sztring címe, 0x00000-tól 0xBFFFF-ig </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- A sztringben lévő karakterek száma.</dd>
- <dt>Lásd még</dt><dd>
- <a href="#strlen" onclick="c('strlen')">strlen</a></dd></dl>
- <hr>
- <h2 id="malloc">malloc<a href="#malloc"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Dinamikusan lefoglalja a memória egy részét.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>size </td><td>lefoglalandó bájtok száma </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- Az újonnan allokált buffer címe, vagy NULL hiba esetén.</dd>
- <dt>Lásd még</dt><dd>
- <a href="#realloc" onclick="c('realloc')">realloc</a>, <a href="#free" onclick="c('free')">free</a></dd></dl>
- <hr>
- <h2 id="realloc">realloc<a href="#realloc"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Átméretez egy korábban lefoglalt buffert.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>addr </td><td>az allokált buffer címe </td></tr>
- <tr><td>size </td><td>bájtok száma, amire átméretez </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- Az újonnan allokált buffer címe, vagy NULL hiba esetén.</dd>
- <dt>Lásd még</dt><dd>
- <a href="#malloc" onclick="c('malloc')">malloc</a>, <a href="#free" onclick="c('free')">free</a></dd></dl>
- <hr>
- <h2 id="free">free<a href="#free"></a></h2>
- <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>
- <dl>
- <dt>Leírás</dt><dd>
- Felszabadítja a dinamikusan lefoglalt memóriát.</dd>
- <dt>Paraméterek</dt><dd>
- <div class="table"><table><tr><th>Paraméter </th><th>Leírás </th></tr>
- <tr><td>addr </td><td>az allokált buffer címe </td></tr></table></div></dd>
- <dt>Visszatérési érték</dt><dd>
- 1 siker esetén, 0 ha hiba történt.</dd>
- <dt>Lásd még</dt><dd>
- <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>
- <div class="page" rel="pattogo_labda"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Példák »</li><li> Pattogó labda</li></ul><hr></div>
- <h1 id="pattogo_labda">Pattogó labda<a href="#pattogo_labda"></a></h1>
- <p>Ebben a példában egy olyan programot fogunk készíteni, ami egy labdát pattogtat a képernyőn.</p>
- <h2 id="labda_megjelenitese">Labda megjelenítése<a href="#labda_megjelenitese"></a></h2>
- <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
- első szprájtot szerkesztésre jobbra, és rajzoljuk meg a labdát a bal oldali szerkesztőben.</p>
- <div class="imgc"><img class="imgc" width="640" height="400" alt="tut_ball1.png" src="data:image/png;base64,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"></div><span class="fig">A labda megrajzolása</span>
- <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>
- <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>
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- }
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- }</code></div>
- <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,
- kezdjük el beírni, és alul a státuszsorban megjelennek a paraméterei.</p>
- <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>
- <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
- 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
- <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
- 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
- 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
- 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,
- í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.
- Mivel ezt sem szeretnénk, azért adjunk csak meg <samp>0</samp>-át.</p>
- <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>
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- <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>
- }
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- }</code></div>
- <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
- 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>
- <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
- 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
- (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
- visszatérjünk a szerkesztőbe, és javítsuk ki.</p>
- <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>
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- <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>);
- }
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- }</code></div>
- <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
- 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>
- <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>
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- <span class="hl_h"><span class="hl_f">cls</span>(<span class="hl_n">0</span>);</span>
- <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 class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- }</code></div>
- <p>Most már minden rendben, pontosan a képernyő közepén megjelenik a labda.</p>
- <h2 id="labda_mozgatasa">Labda mozgatása<a href="#labda_mozgatasa"></a></h2>
- <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
- 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
- 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>
- <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>
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- }
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_h hl_b"> <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
- <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>
- <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,
- az az, hogy most nemcsak egyszer, hanem újra és újra kirajzolódik.</p>
- <p>Mozgassuk meg a labdát! Most mindig ugyanott jelenik meg, mivel konstans koordinátákat használtunk. Javítsunk ezen úgy, hogy
- 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>
- <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>
- <span class="hl_h"><span class="hl_t">int</span> <span class="hl_v">x</span>, <span class="hl_v">y</span>;</span>
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- }
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
- <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>);
- }</code></div>
- <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>
- <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>
- <span class="hl_t">int</span> <span class="hl_v">x</span>, <span class="hl_v">y</span>;
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- <span class="hl_h hl_b"> <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_n">156</span>;
- <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_n">96</span>;</span>}
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
- <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>);
- }</code></div>
- <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
- most már változókat használunk, futás közben tudjuk változtatni a pozíciót.</p>
- <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>
- <span class="hl_t">int</span> <span class="hl_v">x</span>, <span class="hl_v">y</span>;
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_n">156</span>;
- <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_n">96</span>;
- }
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
- <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>);
- <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>;
- <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>
- <p>Futtasuk le így, és látni fogjuk a labdát mozogni!</p>
- <h2 id="labda_pattogas">Labda pattogás<a href="#labda_pattogas"></a></h2>
- <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,
- és nem fordítjuk meg az irányát, amikor a képernyő szélére ér.</p>
- <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
- most is ugyanaz, lecseréljük a konstansokat két új változóra.</p>
- <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>
- <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>;
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_n">156</span>;
- <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_n">96</span>;
- <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>
- }
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
- <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>);
- <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>;
- <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>;
- }</code></div>
- <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>
- é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
- 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
- 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
- belül maradjon.</p>
- <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>
- <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_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_n">156</span>;
- <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_n">96</span>;
- <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 class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
- <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>);
- <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>;
- <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>;
- <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>;
- <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>
- <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ő
- szélein!</p>
- <h2 id="uto_hozzaadasa">Ütő hozzáadása<a href="#uto_hozzaadasa"></a></h2>
- <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>
- <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.
- Megrajzolhatod egyenként, vagy akár kijelölhetsz több szprájtot is jobbra, és együtt szerkesztheted őket.</p>
- <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>
- <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,
- ami a pozícióját tárolja, így adjuk hozzá egyből ezt is.</p>
- <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>
- <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>;
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_n">156</span>;
- <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_n">96</span>;
- <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 class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
- <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>);
- <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>
- <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>;
- <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>;
- <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>;
- <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>;
- }</code></div>
- <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,
- 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,
- 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>
- <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.
- 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
- 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
- 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
- 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
- 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
- szám következik.</p>
- <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>
- <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>;
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_n">156</span>;
- <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_n">96</span>;
- <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 class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
- <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>);
- <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>);
- <span class="hl_k">if</span>(<span class="hl_v">px</span> <span class="hl_o">></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>);
- <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>;
- <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>;
- <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>;
- <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>;
- }</code></div>
- <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,
- 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
- magassága 8 pixel, ezért ennyivel feljebb kell az ellenőrzést elvégezni.</p>
- <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>
- <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>;
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_n">156</span>;
- <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_n">96</span>;
- <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 class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
- <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>);
- <span class="hl_v">px</span> <span class="hl_o">=</span> <span class="hl_f">inw</span>(<span class="hl_n">0x16</span>);
- <span class="hl_k">if</span>(<span class="hl_v">px</span> <span class="hl_o">></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 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 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>;
- <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>;
- <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>;
- <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">&&</span> <span class="hl_v">x</span> <span class="hl_o">>=</span> <span class="hl_v">px</span> <span class="hl_o">&&</span> <span class="hl_v">x</span> <span class="hl_o"><=</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>;
- }</code></div>
- <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ő
- pozíciója).</p>
- <h2 id="jatek_vege">Játék vége<a href="#jatek_vege"></a></h2>
- <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
- a játék végét fogja jelenteni.</p>
- <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>
- változókat nullára állítjuk. Másodszor, meg akarunk jeleníteni egy vége a játéknak üzenetet.</p>
- <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>
- <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>;
- <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">"VÉGE A JÁTÉKNAK!"</span>;</span>
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_n">156</span>;
- <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_n">96</span>;
- <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 class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
- <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>);
- <span class="hl_v">px</span> <span class="hl_o">=</span> <span class="hl_f">inw</span>(<span class="hl_n">0x16</span>);
- <span class="hl_k">if</span>(<span class="hl_v">px</span> <span class="hl_o">></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 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 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>;
- <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>;
- <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>;
- <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">&&</span> <span class="hl_v">x</span> <span class="hl_o">>=</span> <span class="hl_v">px</span> <span class="hl_o">&&</span> <span class="hl_v">x</span> <span class="hl_o"><=</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>;
- <span class="hl_h hl_b"> <span class="hl_k">if</span>(<span class="hl_v">y</span> <span class="hl_o">></span> <span class="hl_n">199</span>) {
- <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>;
- <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>);
- }</span>}</code></div>
- <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>,
- 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
- jelenni a sorszáma tizenhatos számrendszerben, illetve zárójelben tízesben.</p>
- <div class="imgc"><img class="imgc" width="640" height="72" alt="tut_ball4.png" src="data:image/png;base64,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"></div>
- <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
- <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
- 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
- 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
- í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
- 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
- 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>,
- 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
- 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
- (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
- kell megadni, hogy melyik szöveget szeretnénk kiíratni, ezt ugye az <samp>msg</samp> változóban tároljuk.</p>
- <h2 id="ujrakezdes">Újrakezdés<a href="#ujrakezdes"></a></h2>
- <p>Végezetül pedig, ha a játékos kattint egyet, akkor újra akarjuk indítani a játékot.</p>
- <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>
- <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>;
- <span class="hl_t">str_t</span> <span class="hl_v">msg</span> <span class="hl_o">=</span> <span class="hl_s">"VÉGE A JÁTÉKNAK!"</span>;
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- <span class="hl_v">x</span> <span class="hl_o">=</span> <span class="hl_n">156</span>;
- <span class="hl_v">y</span> <span class="hl_o">=</span> <span class="hl_n">96</span>;
- <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 class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
- <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>);
- <span class="hl_v">px</span> <span class="hl_o">=</span> <span class="hl_f">inw</span>(<span class="hl_n">0x16</span>);
- <span class="hl_k">if</span>(<span class="hl_v">px</span> <span class="hl_o">></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 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 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>;
- <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>;
- <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>;
- <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">&&</span> <span class="hl_v">x</span> <span class="hl_o">>=</span> <span class="hl_v">px</span> <span class="hl_o">&&</span> <span class="hl_v">x</span> <span class="hl_o"><=</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>;
- <span class="hl_k">if</span>(<span class="hl_v">y</span> <span class="hl_o">></span> <span class="hl_n">199</span>) {
- <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>;
- <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>);
- <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>
- }
- }</code></div>
- <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,
- 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
- 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>
- <div class="page" rel="setalo"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Példák »</li><li> Sétáló</li></ul><hr></div>
- <h1 id="setalo">Sétáló<a href="#setalo"></a></h1>
- <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>
- <h2 id="szprajtlap_beszerzese">Szprájtlap beszerzése<a href="#szprajtlap_beszerzese"></a></h2>
- <p>Meg is rajzolhattuk volna magunk, de az egyszerűség kedvéért letöltöttem egy szabadon felhasználható lapot az internetről.
- 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
- a neten, mivel ez a népszerű RPG Maker szprájtlap elrendezése.</p>
- <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
- biztos a felhasználás feltételeiben.</p></div>
- <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>
- <div class="imgc"><img class="imgc" width="640" height="182" alt="tut_walk1.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAC2CAMAAAB+r8yIAAAC/VBMVEUAARMBBAAAATQAAWQzAQAQEw82AGUPFyEWGBUfIR8iITIhIyAiJCIlJyQBMzQfLjcDM2UrLSo0MgBEKD4RMpgwMi8vM2YzNjY3MZg4OTc4OjhnMgBkMzI2QEljNGc9P3NlOTBDRUKaMgBHSUaXMzNqRR1MTktNT0wGZWYAZZt0Q4lSVFJNV19ZVVQzXoEdY5guYIgqYo9gWE0wZWQAfwAyZZl0Wz8uZsyOVTgubqNeZGxiZGE9bZVkZmNGbJZvZGVOc0BnZJdnaWZNdFtXb4dPcZBWdVKWZTJicluKaEAxiBQ5ebGLakmZZGdqcnk/hiuAb2BCfKqJblNxc3GaZZY5jhYrhcSAc249jydUhkPMZDRgfp1ChrrMY2NJhbtzfYZ8fHQ9icIzlG+ad1BJkkFqhl9VjVxNkziXelGNfG1Yh7GEfYh+gH1VkVIwmJd+goR0h3WZfmJwhpydgEenfj2EhYI7l8k+ldhtkXRqkYVolWSHiYaJi4hvmFx8j6BYl8ljmJdQmdOLjYqAj6dPqDaIj5Nrlbp2k6yNj4xFryNmmMlyoEhrmbigjnijj3SdkIKqkV9op1KOlpiJl6GWmWWJm4K0k12WmJVsqWidn0OBopJ7oMd7qGqZm5iVmc23mG61mHa9nDBYrO/Cl2SVoKeRoa1xqNKboKKFpMSmnpWKpLvBmm2xoGOeoZ7MmGeun46Up5C1n33KmJi2pHOYsFiNsX+kp6OxpoGjqKqrpqXimI6aq7efqrG+oqGAsODXoGM1yspwtfGPr9ipq6iStJq5qpOqrbCOs9THsCqvs2CwrqT+l5iZs8N+uenOqn2/roWYtcu+spJ7v/WytbKwtrhpy8nHtIRgzOPasXuBxvzSvVi8wMOUzMqbyu+ay/7DxcDSylvKyJPQxaXgyVXFys3rw5jJy8jRzbjLzsqo1fjJ0Nnhy8jo1EbN0tX+zJf/y8rI2/vV2t/A4fve4+bd5O3k5uOX/f/n7O7m7fbs7+vt8vbN/f3t+vv0+fz8//uy29pNAAAgAElEQVR42u2dD3wkZ3nf17JNuNFHyuTumKzQcaP33nbRGm5IK7/NAL20q/xRDRYpXKEOVKZJ06TpiqUk9ThNNo2AuDhvS9MGGrUJVhNiasD1EkRwTDfNHt3EbcAkNnjrpveCSerZLmnOO8TO2eOT9en7vvO+8+fdnZXurDtZt+9j32p25plnV6vv/N53nnn2mUJ7B3t9ytratO2xFaIfH+KP93xoCIA/nZj+uLRdHgDvFuR94GPpbef+338ZBuBPff8vRgt3lQ5d/7J6tPzoAx86/ZVk14/f+l3fcTV+XIc0McPsiWTxqeeff/ab0eIXzp47+9vtL2Q877t/GIAPfOABZnff/bF/dXey6TP/94n/GgH46D2LtwkAf+MNt/zwu+4QwV61Wp85xCM+eMe3fMubHj33oNj1d25/8z1v5ku/u37gmTuUpm5VYTDeemgMOP3vH739X8TLX/3yxwVyT7TPyrWP/8Vzzz/37NMRgX/y1Llz5556JBVgff1Vr2rfNQDgA81m86GHH2o+/NBvP/zAAzF//+fPvvC4APDBbz8tAPzln3zrLT96yw/H+992zX3sxx3f+q2vfvUDdwsy2/+N/vvrfOmzn/3sRz7ykZ85yJq3urrKMTsU/ccXD6W38qeHVsXqQymfQy8CFOWbSr3rdvz2Lsa++tUvf/6jb0N8+Hvoo1/6/Edvf+/PRvr3zZ702d7efv5Pv/n00/zJI888Ty0F4F3d+9p3Pj5EAc+eO/fEE2fPPXr27LknpIg98vU/+x//WcwB74DfLobgd73hlre+4bv/2XdH8V71bYdeeg0H+t2vftM9r3jn694pR2D6z+FL/2719f/kH/7UzxxoBWR0rTKs2qsUM7mc2sqhWxU/26vCR+yy/5OGQ6mHZF37Ygn8xjf+6PO3vvdtr2HLX3rtG2997+1vuzXacvbsoxLAMAyf+VMB4B8+9dwzzzzz6STC/fd95fHHv/K+AQA/cfPNN91881tufs9Nb3nLzZ+I1v/W/474YwD+wu+Bv/q3IwBveev3v+vn/u1vROEmv+229dMRgHfcffaJN70iHr8/2f6dn40A/OxPft/fev0r/+ZBHnhWI0mj8K1yzLjira6mt9KncjVTQunGd9l3AA8dSj2koLxYAP/8G3/0pYce/jLmc6w3fuCTt/7gG18rNj344Me/52MRgH/xzHMSwM9wAH8pFeLO2+6667Y7BwD81U996tf/46/f+6l77/1E+1MRsB+U/FEAP/h7n/6xm266+e8yAH/5R77v537+538kEsBrbmu3BYCPnn30na84/boo5sc+/v72D77tr/Dl3//93/zNf/kDP3Cwp4AMpNVokF2Nx69kqxjgMqNdWwpm+6pRwD//6n/6x9/DxIXaw+32r/y9N74WiT/4J9vv/94flwDGCvgZOhY//fQ/TcdYXDz9vnUVwC/8r8/df//n7v9c+3NsxR/wx5/4tV/7LZmGeeTT//qD/+A9P/bX+Bzwjnt+99//aDTVu+968L7TkxGA7Te989Wve7eI+d7b39H+rtfEL/HHX//6fzjIAijYa/PRVPxLBJAvraZXp5+svhiOoD2aA/7Km+/OrrjnO743Wvjxd8hVzz31zaeePSdOJH5pAMA7V19/an11WB5Qtb//E5+I84A3/aPP/M8/+dW/fJtMw3xIzvRWp66fufNl94l38+5flDu/5jXvuNrO/1bb2vLtn79fLtEh99lnz4kn/+YP/+Dee+9NA7h++vTq6v27ATAxOge87W/8wiPvOa0T0doug+0I4E/rKyHaLieAQJu2fbCvCNMAatsfACMBvE8DqE0DeNXZzEzewsyMWJpJfJNteWuGxgHZpZnBl8jGYQ/DF7gjXwBAWTPoMzpOvGYmu2YmtWZGA3i5+QMlSdlMKbsGlErRqhm5YqZETfiUFJ8kzsBCKVkjdi8lm+I1MjKNx3YVC+y102vYC0Zr2IZooRT7lBQfkL+Q8ikpa0rJGv6mNICXE0D6qUcsCZLYAijFdKo6pYqa9GGSIRdm4r3kgohTil8UJJuUgKUIrpmIbPYgFiTrYoG/KbEAsguxD39TYmEm3ksuiDil+EVBsikJqAG83ADGXMyUFKTiwZf+NUpS77KilnIupRESPqreDQAodC9ZkBulC6enJF6HCxb/vyTelNA7IPFRneUaBbGUs3wj6f9LJZAsaAAv+xywlD8dy7I5MzOodyUlDkjpnaKAmTmg8qKlzDSTT8LEQ3Yh3hSJd/RM2QtIgQQDm8SW7F7KmuRFS/ok5ApYMpuLZS5ZFTvFPspeoAQG1pTiLaWBvZQ1yYsmYUpc1aKFkrBkId7E9pGblL34SytrpHO0JbuXsiZ5UQ2gthdnGmZm7G2vxl9tO3/QwwCcFDYl7HI/t4TZwo4Kk+vz/C/X+3nlHgF4425MekNpYHzWvFIDuGcAxonYVK74xsmp6D8Y/bBscNSiP5I1k1MDPg6oOyb7pRMfMDzO5NQInwOxRgO4ZwDynET6gZ0B3ig+6EkY/Sg6oIs4W3LN1KTiYxUZgE2P/nKJD9hFHNXnQKzRAO4dgCy7mzzwZJmigI8hhIBTJJ5D3/pQBcSYEIIAQhh/p2PlaUcqjlZADWA6wZs8RBnbtLpRuIIAAYwxQlTfhikg8wjDJgiCoEe9rKHakY2jFVADmE4Vxw9iCI6PeY9QtIKAAI5YpThsDtgJtsOASiAgDESCikO0Iz+OVsBxPwuOsrfyocSH4PiYJ+F2QLEKKDiEhAEuDigghsEWV8AQcMQCjIZoR34crYA6DTOYhhEfNIZhSKUr4HCxRQqXooCYwJCwbcInJBhDR9GOUXGuKgW8UuDJ50VhjrCuMCTMyrHL9X72DEDBTQCDYCsMJDhUuShcWQWkPlTdthIfSmDsA3YR56pSQA3gHgG4i6zsjWOYf47XaAD3DsARiWgcALJF1S3cCmGkbj0MUDE7BHcBPQcJqV9IJ4N0hkflDeBiZszicbaSOEE6zoEcizWAewbgqEQ0xim4opMIBldmCEYIUKDIxhaFi2z1mpTAjdgHJnHoJFHGCTrpOAfybEQDuHcAJjloXvOcTkQjzOHC4Rab6PUwxsFGrG7Cx+mx9B/GlFPqQ89AcJMAx8loB4tDt22IOOyceUNVSa2AYwtgkoMGss5YqFuxx8FBAYerhzCudChcGQXkADa73V64QX1wF+MNEvvAOA4dm3ElitPExAs6qo9WwDGeA4ocNC/3TSeiHQZgt9LFAYE4wN0bqL4B28kooE3hwpVGHQd1SAhboD6OndEOBiC+odulozMMSbWKER2CFZXUCji2Z8FJDjoq900S0TcwAOu+X+0EEPEFCtcRN6OAc10Q4uXGSqWDIaYLjQrzOZHRDuaz4fubOKhAgjf9NgfZvQoV8HKD95gwlGMSRAkmEeYJk9svF5h7nIiepeAQe/YElTWI8A2z7jJG4PBc9lIcAWTDLVy3RH0qK7OFOQagoh2z9CSksjR3wsYI4k137jgDUMa5qhRQA7inieipJoWrTuHq1yFePlI4uU7PedVLcQ716RVOtqhP3a8W6hvYGtAODHp1GselAPoNGqeC0YHMP2sFvFIA7iIrqyuiNYB7WxE9M3gteIpO2cKpRb/fB/XNdqFOJ7fQUKphDIhRaK73wz7oP0kXqAKqY5ZhQbzO49RB328zlTR0NYwGUE1E8+9kZyqibYhQ6DT77Bpuny0gS70WPOVAB/X9XlQNE3b9KrLVMcsxINpMx2GQ6moYDaBSER19ITtdEU3hwnWKDVU39tD/omNBlE3DFDG0LSqRYfgkYC7+37EGqmEoksVNP4njY8vWCqgBVBPRcVeLOBGNIXaW+8wAe/Bdy6EDbvZSHMXNnmv4wqfh2g7dq5jWDoeee1jHWkmcTRNdpdUwGsAXUhEtGk+B1KU4CqDpttgcsO/7S4btMADTCuiwwiq7aB5barVAa8WdKHIA7ZR2FBEF0EnHMW0GoKPrAXd8jhWTQAWKSQBxjqmgSiBVAPc3ES3aZiSJaIoJsixzctZ1gTs3a1qWoyogUzfb8Wqm2XEBQuWyV7MQxEZKO4qY+Vi2Hcc5btp04DZ0PaAGcHQiGlXgXyL18rxJVsDaWrm8Rkxne9vOKiCdJ3o1VHM6mwDTH56H6BojrYCY+pidDorjoODIDdDWFdEawB0S0UeWoL++hc4gvA46Tq1T9xv29qHtzBzQcGA97JiPoSAAF6qPoYUgKEI7qx0UySW/3XGiOGdQ0G414HFdEa0BvISK6O1Dh7Z1RbQG8IpURE9vgu6KYZ5BFy7A8+tnJhq+71IAD22n0jCHl4C/bFgIfe08fKzmmbb74QY4nB2zjONgvlabRiIOPR/xfeCe0NUwGkClIrqUTUS7J8F8waFnHo+dh1+r1ea+2O8vMwW8/qXJEGytg+aybZZrFK4LxJw33Sf7oJGthpmaBn5vxZVxTEpgA7z9hK4H1AAqiWiQTUQfW6LH/MQ86mxRuL42Xz7m96kCbmcUcG4ZzB0pzNfIFoEXLiygiSm/D1qKurmA7mnGcabZGndKK6AGMNuaI26mfGPqmJ8wF+hvDLcuTM9PuO7k9vb129spBVzxwdzJNULOk5fD5nlCOhNuiwKoasecW6Bxti9QHxpn8ppJXQ0z7LkEQwUtVEwFMA9Mdb+msIowmbB+0bbmoMc8IgvzCyZkv15ngq6h4+9Lr0+35qA+0+bCAvJgbWF+3jRytAOxCAuQBuvwOJNTuh5QA7hTaw56zJtlyowHPQ8tTBkpFUj7MAAXKFwMwIkc7bhmslbzzjAAy/PGlFZADeAuWnNEx/wSPfmFk4VCVgUyPnObfmMWUselEdpRKNA11PHwgc0/awW8whXR0TFfmJ8vwCnDyKpA1scsT0xC5jhCOwpU+CBzPLD5Z62Aukf01V0RPaYnIQOJ6PzR51p47bU7jFBWBVaRtcMoRuNYuh5QA5jTmiN39LGakFRHj1AW64XVtUaPYiwOtnQ9oAYw3ZpjJm7NkT3mWSITsHdpcbiCqq3qAk92egAhdLRoV5owDLv2oHaocSICdTVM6rkESQKzLWwn0PKMKKYCLBPVewXiC0tEg+SufpnezsxYb2fHtuscLqToAvfg3U+DHnYqFdgk2B7sEa3ECXpVXQ2jARyaiE6OeXb1B8vup82K48AqwY6V0QX2e5G4+STrEV0Pu57zkrTPbuJoBRxLAIclolO9nVlvcZJ0Ni3Ck/WAsHMMkPSI5ptI5LNFBRKeWgwogZke0QNxKr0Ap+NoBRxXAIedmAi2BFxhBNfWVhhUqAosEkag8CGs4VX0OzGfbfpvAzpTBvISn5w4BHuOVkAN4DAARduXQIATEgrOFoOryb7NZnqULiCan4ZRk/LIJ/rt+DfeHM+aVONwSNNxHK2AGsAhAMJxrnbez4roMT0JGUhER2MNZlM2NnkLt4iY6NE1md7OmGwFYItK4PY2a9FLZ4BsB9H9VN6zKxMnTMeZd3Q94NinYYYlomF0c4XtAGwncIkzjUxvZxxsEepDB2Lm0+FOnUD1SeJIAGUcQ18LzhSeqonjvIR0XqJ5J1PjqQWr+96aQySioZjeEbAVINb5PoQBZr8tDrK9nTFrNx4GCNPfKWS5FuqEserD4oSINcmnZyxkWJxxr4YZawDTFdGiNQc/5lGPwUUQ6lD4YA8zfcNKd/ujkU+Vbq0zABmCqk8UJ2SQUgA3yLA4WgHHFsBUDjq6HDIj54BFTMEJ8Hr/Blyhp7Hs+waBqm5HSY/6oNZKHTcZgLYdXe7I+HAAm+vVJqYAYjIsjlbA8QUwnYMGokd0dMw74QYgyPf9apOehCDXFXCldKGIgu8EuL280qgEAcTHV1ZODfo0KaTNtu+3GYAID4ujFXCMARyWhonabjQJQPUTc26FMABbLZeDg9K64GAE1vtLhWUGYG3Z7x8f8ClS0aM+J+aO9wICbVfG0QqoAcwFUDYnAtV+o7C+vEFg0/L7RyK4MrqAEGj0WxO9CoVrse9vGmjAx8FF6tMo1HtkA5qbw+NoBdQAplIzOtt8ZSuix/wkJH6YUSqiHbjeb02HKxsE1Hy/YbFugBg7mfHo7dAPN82wErCxuDHncB+UGbMcB1KVnA56fLyWcZDujhWDl5dI3hKWV4gaXqKpAEqTDSz3rTVHKVsR/XbYD30n9CsdsOi7tiMAzIxHzCfs9evYAn2f3bInx4fGaTKfvoyDdHcsDWAmEV0CsjVHom68sXOfTvTWfUfCFV2MS3xafepSXfMpgLGPqpIsjo/tET5aAccVwCQRLZ6nFfDDvLOzuZkGJ0qgJLrAO0T7vg/8FFyKArI4vuP3MwBqBdQAZiui4y8lJcf8LOvs3KdwtdgbQxxAQ9UF1iG61QKNpRguW9UONxNHK6AGcGhFdEmtiJ6aPDzruqy387EUgAO6YAaobAIPWTGAA9qRicN9DK2AGsCRFdH8mDcZXGXgeZYE0BlQQFSvOoj6VFF0goGGfC+Yx5kHZzzTpi76LFgDuHNFND/m14JuzeyA7hlTAIgG1a12nnjIBGRrQQI4qB0sjmcChGoLDuubjy19FqwB1BXRe1sRfbF/OBVAmSiW4MmCVPlcBU8F9GKtJ0xNSMsC1St7s8IkEZ3p69fp1I64cL1tcAVU74bOfUyvUy7Pw7nllm0ijIBtDPiYtU7HM8sQBd1lmx5qwDH0tWANYPZmhXEiOj36XIs6x1pPQn/dcgyH3encGDJCmcQ8U4V+2Jo1ETKGjFmuO486ZpkCOOv7LkYWMHR3LA1gXo/ozDFvkkY/hP6p+cKkZRvDdcEkNW+RA5ijHe5cwybOYx5ErdB3bd0fUAM4rCK6BFIV0bJD6vT5qu/DU9PeQq4umBN0fF2ADb+a7zP3MrKwMA+nWy3/sO4PqAEcUhGdJKLTczfT6HToMe/RCVyuLhjm/Dxr0TtPvfN9KKQe9BZW3GndIVUDOKwiOk5Ep475CbOMPETBQeZ0ri5MJABO5GqHyddMl8vlaa2AGsBdVETzY37a5M2hYcFoTIzQhWOuuwmjDtF5PvNVv3EMuhMHOP+sFfDKVkSzY75gGAV2zJfL5qj+zxPT02VYnhilHROmWTCheZDv0rrnd0pSE8ESMAleXkGpCqiaYL7YL7Sr7+NSv6iuK6L3uSJaA7iXPaKta6/daTyynGoVmjt1e945zrhfCx5jAGVDjtJAj2gLEQKt0VdszWYQwqazQ9foneOM+7XgcQaQt4cWmcCZdI9o1OVwWVPsnbDWuoO6YG2EYRfWi9ZRNnMF/L0P+FR3jqMVcJwBjHLPpeT/SAEtyk0TdotFB4nezhirumCt4V4F1h1EegHrEU0iArM+ZOc4WgHHew4Y5aCzPaItBzW7ReigDX7OD0KCCengjC7YHgl7FkTN6LcHYUBhI8RL+7xkF3G0Ao71WXCcg870iHa8blClcHUlXLzLc4BTumB5JFhfLMJmGCWigMhPkbR2OKTb3CGOVkCdhhmoiLaQRxYnHdZzcjsLF5YqYDmeRyd2iLX826YEBkA0iyaQeMLnJQ4mzanRccb5TknqjabzvnguAVL91AS12ohSTTTnAb8hTAVw3zojUHVDU5NFDKOe4hQcIvs/B4IcYHmOOTV5VPScjHtEs2aCIRE+lNHyTnHG+U5JGkBdEb2vFdEawLwe0Rb7VgfqgVCOmFLdwBYR45HFS0pRANhq9hlA1oSXfmgB2A4yuZbRccb5WrAGcHgiGk7xK7YoSKZsdL5LPxbWkjzAme5YdOoX8I+IAbgVNnvbbCxWfXaMM57VMBrAVCKa8VfKVERTcHhnaEJPWsOtMMC9LQKCMKtumPnQ8yhEp3WsPy+hk0Gi+OwijlbAsQVQJqI5e5mK6Agu+mv3KDgk6KAehwtl1I35kA5mAPZws9vF3McZ8NkhjlbAMZ4DimLogYpoDg57P90mDKrdShcHTTrgOqoCYlyxuQLieqNRJQRsDPrwOIQCuMHjENAMHa2AGsBMMbRaER3Bdcq1eYte329VOxUQ1qdUdcOVpYbrBJBsNBrLmxiD5saAArI4FUwBbNb9lo87YIM4uh5Q/qElKCpw6nMJbB6geQCqoEuTN67uCHMU27cvpov+zwwcu+Gf4gAunThRpWu6So9o7uP3GxzA5bk537eVPtKRStI4Lk8I2idmfZ+uaV6FCqgB3MuK6BguF3dgb3n95Kkn2xigYrb/M/MprvT7m00K4B9Xl/t+ZagPjePbCAZBhcbxlwG6GntEawB1RfSBqojWAKZbcyjdsYqI97Aqun7fwaC33K27VMOU8ShqtutYK2zkpae568v9/spQHxaHjc7BBovzdug4uhpGA5hJRJc4hXFFdDFqouYU51qb9Lxis79eD/uN7HgkfZyjm/1lOvXrs89Q8ZlyZByf+ZCNZn3QZ0yrYTSA6YroqCgwqYiWcDmbTLn8fj9kAGZ0oZj49PugipiPryigUFLhs4jr4WAcrYBjDGCciGbNOVI9otMA+sBhHXb7raUcBeQ+febTcifzffqgX60OiaMVcKzngKIiOrogHPeIjgBkb2PzixQu1od8SdUFI4ZreaUFWq3WijugHSkAZZyVq/U7IRebuJV/6DwAu8IkKPJ53hfa1fXyudzvBmF5iWlb2KU2qnyBFdEgVREtFZC9jeNzLnBdd252QBdiAO2yNw/KJqkOaocRD8H5cca1HlADOKJHtC0BtGseAiaFyxzQBcORcNXLCDjIWV8zB7TDjnri23btDOKQmlNaATWAO/aINhCKACx6awSYtWrYMQd0wUaIA/jyMKAAnlm7MMTHYD7YMTpOeZ76DI2jFVADqCuir3xFtAYwryKat0ZwMKAjp1OsdpfhdO2Hznvm4HhkO+wym7Xy4cWXw3IZMXEb5oOws7wedExoej90vubq7lgawGEV0SWQ6RFtIYCRYRerfhueWl7D5rDxyAA2sidPNpsWPIPW1oaNWYZBAbQX+8sny7A8v4ZXVlzdH1ADOCQRPdgj2rbZLWY2qzD062sjdOHI8vIk9Ly1XB/LdmvzZhk+VltbW1lytQJqAAdbc/BrcWqP6KlJz5nYhP4yWTPzdWGt5R+jAJKFXJ/rWo3GtAkXFtbW5o7o/oCRSSDyAKwL8xWrCpMJZAmcTDjvdn8VwCPCXGH71Zoj29nUrHkLcLLWWTDN3P7Ppslb9C6M6BFtNGZZj2iv40wXrtY5oAZwb1pzpI/5aybNMgWnVquVy9O5PaJjAHN7RBvlcnmer5nWHVI1gLvuEU0fFt2Ja+iaQmHazNeFuU0fuktzI7WjcMyFrt8uX709ojWAe94jmj5MU+mja1i36BG6QE8wzInpkdpRME1IxVIroAZQV0S/OCqiNYCjekQf+Cu2L/56QA3giB7RB7+T84u/HlADmG7NMRO35sge8+wGJoB1K8zVBYxZsSSgv/nRYr527Bxn7KphZoXJRLEKoEwMS78TwhrCJGDqjWbkcwm43F+CtSxM3e+wsDlhVzYRDeJEdPqYp3DRIwvw22nn6ALzCMMmoIdgDzs52rGLOONXDaMBzO0RLY55j7e+ClkvIYpYpThMF0i4zbtJgMgVFYf4xHHC/DhaAccSwJwe0eKYJ7yvaYCBF/CfxQFdwDD6ZoJHIh+C0RDtiOJQAJt5cbQCjiuAeRXR9D8s2u96sr8ahUvRBcwA3GadoUMQ0A9wizpBR9EOGadL45DhcbQCagCVimg2bePD61YQbIOwGfLWftDJ6gLzoeq2RZgPDrbyfFiccEQcrYAaQF0RfcUrojWAoyqi6fAKCBU3KmzbkKkbnwyiYmY8oj6sTx0dpUPqw25ZE3QAHvBhcbabI+KMZz2gBjCvR7QYOjlcAYMr4HDRswhcVPsDCp9A+JABn2ycYGic8bwWLJ83hUnwZMNICVhB2HXCloT1hakgSsBkYlnuf1LYujCk2KW+/z1rzaH0iObghD0Ps3vPYAmO2vuPEdWt4YD6VCWAqk8UR0JKBuOMZzWMBlCpiC6pPaLZOWuP1QN6CLMu450hCsh8grKHqQ+Di3UDHOrTrZEAdhmkhGgF1AAO9IiOGmRle0TzLiNNC0HLi9rcD1E3Pqg2HQ8i7sMAtFUfDmDZI9DjAGKsFVADONAjOkpDl1QFDAOvxi9lsO+4gIqb0YVTAsDAc6iPANA+McynV0MeV0keRyugBnCnimgJYBg0IR9nGTj2bEYXDAEgJRBGpynMJ6sdx4UP8RB0cDA0jlZADeBARbQhAWT3H4wBVL7ziwSAYSBuw0V9jKzPYl34EA/inDhaATWAuiL6ildEawCzieiZ7LXgIoZSAcWtWIdcw3V24WNBoZIk32csrwWrz/NuSCO3LwqThaV9xSSIm8LawiSAcrtMfKsAGsIu9f2/4NYcpUxFNJKVLmm41PHIUXzCodUwOONDx2B9LVgDqCaiSwCke0RPOji+GXUKLkUXik3VJxishlFVMgw6UF6K0wo47gAmiWjxXCogPWEdgGtA3ZDqw26JKVMsuSpJyICPVsDxBDBTET2T7hFNR+BAnd8NqpsXQNkrWw7TFEArq5KsHjDIKCnrq6oVUAOoVkSX0hXRmA7BnTRcLH0C7cFaPxy1ZQcc0Q6Dy8h+Z536iM7taQC1AmoAR1ZEr/HezpG+AfalD8wBHKiI5jdiDZiP6AdGAcz4GNwnIALAgBCtgBrA3VVEx3AF4kOBRlYXLIYS9yKA3beaPYEo6zMRxWFCSQHkd7ceUEmtgBpAXRH9giuiL/UPJwtPVSAkgLJhpExYS+DCHFO35+0vX8cSdqmNKffmZoVJIjq5zus4Qvhk6SyYLmfGo+ssgEUFbuTjUJ/Z7Ji1bAOM0z7IwcDS3bE0gMrNCuNEdNL/2XJS4DgIFcD0dGY8WvaBYUcEQl7b7Rg1YGd9Gj1gIyeJg5Bt6O5YGsDd9IhmLe5xfDsk47AP/BNZdesD3zWKRTC+ePoAAAHNSURBVPquoeMUi9aUuwjcwxmflT6Ym2J9hwWkjqH7A2oAh1VEl4b0iDYMi8Nl0anp5HUucE+oCjg3t0aCqmFAwwhIx3RboJX1cV1wmPXoNTiktmHo/oAawCEV0UkiOn3ML5CF+YVpONntETNPuabNhQXWondhfp716B3u0yEBXUODdTq6Q6oGcFhFdJyITh/zZpkyU4OeV14wzRxdyACY42NO1GqexwAszxtaATWAu+8RveT7LpwsFEbowtzKpjsL3UbDHaEdhQJds+k3Duse0RrAi+kRPWGaE3DKMEbpglk2J+FEuTwxwqdAhQ+a7F4PV+0c8FL/cOqNomUiWiaOLxa4vO3SvihMvp4EUAK573fL1NnmS6uI1gDqHtEH8lrwGAMoEtHJg+4RvQ/XgscZQJGIZrnouDWH1jutgFf2ZoUcu1KcldZ6pxXwSs4BR/SI1nqnFXBfe0RrvdMKuI89orXeXeY7JRWFqTeMkQDIL5j398hkIatsVKkmoNWGlfvWGUHr3ZW5U5IGUFdE72tFtAZwZI9oPfJe7mvBGsDhiWg9zl6hahgNYCoRHT0MVERrvdMKePkrohl24qGkFVAr4BWeA46siNZ6t4MC/n8kXUldg45LAgAAAABJRU5ErkJggg=="></div><span class="fig">A beimportált szprájtlap</span>
- <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>
- <h2 id="karakter_megjelenitese">Karakter megjelenítése<a href="#karakter_megjelenitese"></a></h2>
- <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
- <samp>loop()</samp> funkcióban kell megjelenítenünk, mivel az animálás folyamatos újrarajzolást igényel.</p>
- <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>
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- }
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_h hl_b"> <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
- <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>
- <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.
- 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
- 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
- megjeleníteni, ahogy azok a <a href="#szprajt_szerkeszto" onclick="c('szprajt_szerkeszto')">szprájt szerkesztő</a>ben látszanak.</p>
- <h2 id="iranyvaltoztatas">Irányváltoztatás<a href="#iranyvaltoztatas"></a></h2>
- <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
- 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.
- 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
- megjelenítenünk.</p>
- <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>
- <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
- 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
- helyén.</p>
- <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>
- <span class="hl_h"><span class="hl_t">int</span> <span class="hl_v">irány</span>;</span>
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- }
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Felhasználói bemenet */</span>
- <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>)) {
- <span class="hl_v">irány</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;
- } <span class="hl_k">else</span>
- <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>)) {
- <span class="hl_v">irány</span> <span class="hl_o">=</span> <span class="hl_n">128</span>;
- } <span class="hl_k">else</span>
- <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>)) {
- <span class="hl_v">irány</span> <span class="hl_o">=</span> <span class="hl_n">256</span>;
- } <span class="hl_k">else</span>
- <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>)) {
- <span class="hl_v">irány</span> <span class="hl_o">=</span> <span class="hl_n">384</span>;
- }</span> <span class="hl_c">/* Karakter megjelenítése */</span>
- <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
- <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>);
- }</code></div>
- <p>Próbáljuk ki! Látni fogjuk, hogy a kurzornyilak lenyomására irányt vált a karakterünk.</p>
- <h2 id="animalas_hozzaadasa">Animálás hozzáadása<a href="#animalas_hozzaadasa"></a></h2>
- <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
- 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>
- <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>
- <span class="hl_t">int</span> <span class="hl_v">irány</span><span class="hl_h">, <span class="hl_v">lenyomva</span></span>;
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- }
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Felhasználói bemenet */</span>
- <span class="hl_h"><span class="hl_v">lenyomva</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;</span>
- <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>)) {
- <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>
- } <span class="hl_k">else</span>
- <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>)) {
- <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>
- } <span class="hl_k">else</span>
- <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>)) {
- <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>
- } <span class="hl_k">else</span>
- <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>)) {
- <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>
- }
- <span class="hl_c">/* Karakter megjelenítése */</span>
- <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
- <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>);
- }</code></div>
- <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
- gombot, akkor a változó értéke 1 lesz, de amint felengedjük azt a gombot, akkor egyből visszaáll 0-ra.</p>
- <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
- 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
- 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>
- <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
- 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,
- megint a középsőt, majd az elsőt.</p>
- <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>
- <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>;
- <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>
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- }
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Felhasználói bemenet */</span>
- <span class="hl_v">lenyomva</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;
- <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>)) {
- <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>;
- } <span class="hl_k">else</span>
- <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>)) {
- <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>;
- } <span class="hl_k">else</span>
- <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>)) {
- <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>;
- } <span class="hl_k">else</span>
- <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>)) {
- <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>;
- }
- <span class="hl_c">/* Karakter megjelenítése */</span>
- <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">&</span> <span class="hl_n">3</span> : <span class="hl_n">0</span>;</span>
- <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
- <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>);
- }</code></div>
- <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,
- 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
- 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
- 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
- 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,
- hogy megkapjuk, ténylegesen melyik szprájtot is kell kirajzolni.</p>
- <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
- 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
- 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.
- 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ó
- 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
- 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>
- <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>
- <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>;
- <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 class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- }
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Felhasználói bemenet */</span>
- <span class="hl_v">lenyomva</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;
- <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>)) {
- <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>;
- } <span class="hl_k">else</span>
- <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>)) {
- <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>;
- } <span class="hl_k">else</span>
- <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>)) {
- <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>;
- } <span class="hl_k">else</span>
- <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>)) {
- <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>;
- }
- <span class="hl_c">/* Karakter megjelenítése */</span>
- <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">>></span> <span class="hl_n">7</span></span>) <span class="hl_o">&</span> <span class="hl_n">3</span> : <span class="hl_n">0</span>;
- <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
- <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>);
- }</code></div>
- <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
- 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
- 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>
- <div class="page" rel="agyu"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Példák »</li><li> Ágyú</li></ul><hr></div>
- <h1 id="agyu">Ágyú<a href="#agyu"></a></h1>
- <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>
- <h2 id="agyucso_kirajzolasa">Ágyúcső kirajzolása<a href="#agyucso_kirajzolasa"></a></h2>
- <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ű
- vonal ágyút rajzolunk.</p>
- <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>
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- }
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_h hl_b"> <span class="hl_c">/* Kirajzolás */</span>
- <span class="hl_f">cls</span>(<span class="hl_n">0</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_n">100</span> <span class="hl_o">-</span> <span class="hl_n">10</span>);</span>}</code></div>
- <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.
- Továbbá a csőhöz szürkés színt használunk (23).</p>
- <h2 id="agyucso_forgatasa">Ágyúcső forgatása<a href="#agyucso_forgatasa"></a></h2>
- <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>
- <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>
- <span class="hl_h hl_b"><span class="hl_t">int</span> <span class="hl_v">szog</span>;</span>
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- }
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_h hl_b"> <span class="hl_c">/* Gombok lekezelése */</span>
- <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>;
- <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>;
- <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o"><</span> <span class="hl_n">0</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">359</span>;
- <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">></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>
- <span class="hl_f">cls</span>(<span class="hl_n">0</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_n">100</span> <span class="hl_o">-</span> <span class="hl_n">10</span>);
- }</code></div>
- <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
- 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,
- akkor meg a legkissebb. Ennek eredményeként egy szépen körbe-körbe forgatható ágyúcsövet kapunk.</p>
- <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
- 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
- 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>
- függvény is lebegőpontos értéket (nem <samp>1</samp> hanem <samp>1.0</samp>) ad vissza.</p>
- <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>
- <span class="hl_t">int</span> <span class="hl_v">szog</span>;
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- }
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_c">/* Gombok lekezelése */</span>
- <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>;
- <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>;
- <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o"><</span> <span class="hl_n">0</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">359</span>;
- <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">></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 class="hl_c">/* Kirajzolás */</span>
- <span class="hl_f">cls</span>(<span class="hl_n">0</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_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>);
- }</code></div>
- <p>Üssük le a <kbd>Ctrl</kbd>+<kbd>R</kbd>-t és látni fogjuk, hogy az ágyúcső szépen forgatható.</p>
- <h2 id="lovedek_hozzaadasa">Lövedék hozzáadása<a href="#lovedek_hozzaadasa"></a></h2>
- <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
- koordinátáit tárolja, valamint még további kettő, ami meg azt, hogy mennyit kell elmozdulnia. A labdával ellentétben, ami
- 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
- 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>
- <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>
- <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>;
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- }
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_c">/* Gombok lekezelése */</span>
- <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>;
- <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>;
- <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o"><</span> <span class="hl_n">0</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">359</span>;
- <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">></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 class="hl_h hl_b"> <span class="hl_c">/* Lövedék mozgatása */</span>
- <span class="hl_v">x</span> <span class="hl_o">+=</span> <span class="hl_v">dx</span>;
- <span class="hl_v">y</span> <span class="hl_o">+=</span> <span class="hl_v">dy</span>;
- <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">320</span> <span class="hl_o">||</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">200</span>)
- <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>
- <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
- <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>);
- }</code></div>
- <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á
- 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
- 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>
- <h2 id="agyu_elsutese">Ágyú elsütése<a href="#agyu_elsutese"></a></h2>
- <p>Már csak egy dolog maradt hátra, hogy a játékos lőni is tudjon ezzel az ágyúval.</p>
- <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>
- <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 class="hl_t">int</span> <span class="hl_v">szog</span>;
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- }
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_c">/* Gombok lekezelése */</span>
- <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>;
- <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>;
- <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o"><</span> <span class="hl_n">0</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">359</span>;
- <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">></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 class="hl_h hl_b"> <span class="hl_c">/* Ágyú elsütése */</span>
- <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_SPACE</span>)) {
- <span class="hl_v">dx</span> <span class="hl_o">=</span> <span class="hl_f">cos</span>(<span class="hl_v">szog</span>);
- <span class="hl_v">dy</span> <span class="hl_o">=</span> <span class="hl_f">sin</span>(<span class="hl_v">szog</span>);
- <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>;
- <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>;
- }</span> <span class="hl_c">/* Lövedék mozgatása */</span>
- <span class="hl_v">x</span> <span class="hl_o">+=</span> <span class="hl_v">dx</span>;
- <span class="hl_v">y</span> <span class="hl_o">+=</span> <span class="hl_v">dy</span>;
- <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">320</span> <span class="hl_o">||</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">200</span>)
- <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 class="hl_c">/* Kirajzolás */</span>
- <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
- <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 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>);
- }</code></div>
- <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
- 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
- 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
- értékeket a koordinátákhoz, ezért ez így pont olyan, mintha 10-el szoroztunk volna.</p>
- <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
- 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
- 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>
- <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>
- <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 class="hl_t">int</span> <span class="hl_v">szog</span><span class="hl_h">, <span class="hl_v">elsutve</span></span>;
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- }
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_c">/* Gombok lekezelése */</span>
- <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>;
- <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>;
- <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o"><</span> <span class="hl_n">0</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">359</span>;
- <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">></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 class="hl_c">/* Ágyú elsütése */</span>
- <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_SPACE</span>)) {
- <span class="hl_h hl_b"> <span class="hl_k">if</span>(<span class="hl_o">!</span><span class="hl_v">elsutve</span>) {
- <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>);
- <span class="hl_v">dy</span> <span class="hl_o">=</span> <span class="hl_f">sin</span>(<span class="hl_v">szog</span>);
- <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>;
- <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>;
- <span class="hl_h hl_b"> }</span> } <span class="hl_h"> <span class="hl_k">else</span>
- <span class="hl_v">elsutve</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;</span>
- <span class="hl_c">/* Lövedék mozgatása */</span>
- <span class="hl_v">x</span> <span class="hl_o">+=</span> <span class="hl_v">dx</span>;
- <span class="hl_v">y</span> <span class="hl_o">+=</span> <span class="hl_v">dy</span>;
- <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">320</span> <span class="hl_o">||</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">200</span>)
- <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 class="hl_c">/* Kirajzolás */</span>
- <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
- <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 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>);
- }</code></div>
- <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,
- 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
- 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.
- És ennyi lenne.</p>
- <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,
- 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
- beljebb húzza a szerkesztő.</p></div>
- <h2 id="tobb_lovedek">Több lövedék<a href="#tobb_lovedek"></a></h2>
- <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.
- 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
- á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>
- <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
- 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>
- <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>
- <span class="hl_h hl_b"><span class="hl_p">#define N 1</span></span>
- <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>;
- <span class="hl_t">int</span> <span class="hl_v">szog</span>, <span class="hl_v">elsutve</span>;
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- }
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_c">/* Gombok lekezelése */</span>
- <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>;
- <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>;
- <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o"><</span> <span class="hl_n">0</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">359</span>;
- <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">></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 class="hl_c">/* Ágyú elsütése */</span>
- <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_SPACE</span>)) {
- <span class="hl_k">if</span>(<span class="hl_o">!</span><span class="hl_v">elsutve</span>) {
- <span class="hl_v">elsutve</span> <span class="hl_o">=</span> <span class="hl_n">1</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_f">cos</span>(<span class="hl_v">szog</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_f">sin</span>(<span class="hl_v">szog</span>);
- <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>;
- <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>;
- }
- } <span class="hl_k">else</span>
- <span class="hl_v">elsutve</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;
- <span class="hl_c">/* Lövedék mozgatása */</span>
- <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>;
- <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>;
- <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"><</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">>=</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"><</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">>=</span> <span class="hl_n">200</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_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>;
- <span class="hl_c">/* Kirajzolás */</span>
- <span class="hl_f">cls</span>(<span class="hl_n">0</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_n">0</span>]</span>, <span class="hl_v">y</span><span class="hl_h">[<span class="hl_n">0</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>);
- }</code></div>
- <p>Próbáljuk ki! Ha nem rontottuk el, akkor pontosan ugyanúgy fog futni, mint ezidáig.</p>
- <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
- kirajzolást.</p>
- <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>
- <span class="hl_p">#define N 1</span>
- <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>];
- <span class="hl_t">int</span> <span class="hl_v">szog</span>, <span class="hl_v">elsutve</span>;
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- }
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_t">int</span> <span class="hl_v">i</span>;
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_c">/* Gombok lekezelése */</span>
- <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>;
- <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>;
- <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o"><</span> <span class="hl_n">0</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">359</span>;
- <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">></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 class="hl_c">/* Ágyú elsütése */</span>
- <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_SPACE</span>)) {
- <span class="hl_k">if</span>(<span class="hl_o">!</span><span class="hl_v">elsutve</span>) {
- <span class="hl_v">elsutve</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;
- <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>);
- <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>);
- <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>;
- <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>;
- }
- } <span class="hl_k">else</span>
- <span class="hl_v">elsutve</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;
- <span class="hl_c">/* Lövedékek mozgatása */</span>
- <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"><</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>];
- <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>];
- <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"><</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">>=</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"><</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">>=</span> <span class="hl_n">200</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_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>;
- <span class="hl_h hl_b"> }</span> <span class="hl_c">/* Kirajzolás */</span>
- <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
- <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"><</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>]);
- <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>);
- }</code></div>
- <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>
- 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
- a kirajzolásnál is, ott is egy lövedéket rajzolunk ki minden iterációban.</p>
- <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
- ha találtunk, akkor meg kell állnunk, mert egyszerre csak egy lövedék változóit akarjuk állítani.</p>
- <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>
- <span class="hl_p">#define N 1</span>
- <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>];
- <span class="hl_t">int</span> <span class="hl_v">szog</span>, <span class="hl_v">elsutve</span>;
- <span class="hl_t">void</span> <span class="hl_f">setup</span>()
- {
- <span class="hl_c">/* Induláskor lefuttatandó dolgok */</span>
- }
- <span class="hl_t">void</span> <span class="hl_f">loop</span>()
- {
- <span class="hl_t">int</span> <span class="hl_v">i</span>;
- <span class="hl_c">/* Minden képkockánál lefuttatandó dolgok, 60 FPS */</span>
- <span class="hl_c">/* Gombok lekezelése */</span>
- <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>;
- <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>;
- <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o"><</span> <span class="hl_n">0</span>) <span class="hl_v">szog</span> <span class="hl_o">=</span> <span class="hl_n">359</span>;
- <span class="hl_k">if</span>(<span class="hl_v">szog</span> <span class="hl_o">></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 class="hl_c">/* Ágyú elsütése */</span>
- <span class="hl_k">if</span>(<span class="hl_f">getkey</span>(<span class="hl_v">KEY_SPACE</span>)) {
- <span class="hl_k">if</span>(<span class="hl_o">!</span><span class="hl_v">elsutve</span>) {
- <span class="hl_v">elsutve</span> <span class="hl_o">=</span> <span class="hl_n">1</span>;
- <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"><</span> <span class="hl_v">N</span>; <span class="hl_v">i</span><span class="hl_o">++</span>)
- <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">&&</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>);
- <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>);
- <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>;
- <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>;
- <span class="hl_h hl_b"> <span class="hl_k">break</span>;
- }</span> }
- } <span class="hl_k">else</span>
- <span class="hl_v">elsutve</span> <span class="hl_o">=</span> <span class="hl_n">0</span>;
- <span class="hl_c">/* Lövedékek mozgatása */</span>
- <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"><</span> <span class="hl_v">N</span>; <span class="hl_v">i</span><span class="hl_o">++</span>) {
- <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>];
- <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>];
- <span class="hl_k">if</span>(<span class="hl_v">x</span>[<span class="hl_v">i</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_v">i</span>] <span class="hl_o">>=</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"><</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">>=</span> <span class="hl_n">200</span>)
- <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>;
- }
- <span class="hl_c">/* Kirajzolás */</span>
- <span class="hl_f">cls</span>(<span class="hl_n">0</span>);
- <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"><</span> <span class="hl_v">N</span>; <span class="hl_v">i</span><span class="hl_o">++</span>)
- <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>]);
- <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>);
- }</code></div>
- <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
- 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
- négyesen, aztán a <samp>break</samp> kulcsszóval megszakítjuk a ciklus további futását.</p>
- <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
- tömbösítéssel ilyen keményen, változtassunk meg csak egyetlen egy dolgot:</p>
- <div class="pre"><pre class="lineno">1<br></pre><code><span class="hl_p">#define N 100</span></code></div>
- <p>És láss csodát!</p>
- <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
- 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>
- <div class="page" rel="hangeffekt"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Példák »</li><li> Hangeffekt</li></ul><hr></div>
- <h1 id="hangeffekt">Hangeffekt<a href="#hangeffekt"></a></h1>
- <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>
- <h2 id="hullam_betoltese">Hullám betöltése<a href="#hullam_betoltese"></a></h2>
- <p>Először is, töltsük be a hanghullám fájlt az Audacity-be.</p>
- <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>
- <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
- válasszuk a <samp>Tracks</samp> > <samp>Mix</samp> > <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>
- <h2 id="hangmagassag_es_hangero">Hangmagasság és hangerő<a href="#hangmagassag_es_hangero"></a></h2>
- <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,
- 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> > <samp>Plot Spectrum...</samp> menüpontra.</p>
- <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>
- <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> >
- <samp>Pitch and Tempo</samp> > <samp>Change Pitch...</samp> menüpontot.</p>
- <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>
- <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>
- <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>
- <p>A következő a hangerő normalizálása. Menj az <samp>Effect</samp> > <samp>Volume and Compression</samp> > <samp>Amplify...</samp> menüpontra. A felugró ablakban kattints az "Apply" gombra
- (minden beállítást helyesen detektál, nem kell állítani semmit).</p>
- <h2 id="mintak_szama">Minták száma<a href="#mintak_szama"></a></h2>
- <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>
- <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>
- <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>
- <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
- 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>
- <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
- kiigazítsuk, jelöljünk ki a hullám végéből egy valamekkora darabot, majd válasszuk az <samp>Effect</samp> > <samp>Fading</samp> > <samp>Fade Out</samp> menüpontot. Ennek hatására a hullám vége szépen elhalkul.</p>
- <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>
- <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
- 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
- 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
- az opciólistát "Other..."-re, hogy a tényleges mező szerkeszthetővé váljon.</p>
- <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>
- <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>
- <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>
- <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>
- <h2 id="elmentes_es_beimportalas">Elmentés és beimportálás<a href="#elmentes_es_beimportalas"></a></h2>
- <p>Végezetül, mentsd el a módosított hullámmintát, válaszd a <samp>File</samp> > <samp>Export</samp> > <samp>Export as WAV</samp> menüpontot. Győzödj meg róla, hogy a kódolás (Encoding)
- "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
- (használhatsz más nevet is, ekkor a legelső szabad helyre fog betöltődni).</p>
- <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>
- <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>
- <div class="page" rel="kalandjatek"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Példák »</li><li> Kalandjáték</li></ul><hr></div>
- <h1 id="kalandjatek">Kalandjáték<a href="#kalandjatek"></a></h1>
- <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á
- 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
- 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
- főnév kombinációhoz, akkor azt lefuttatja.</p>
- <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
- 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>
- programmal elérhető.</p></div>
- <p>Korlátok:</p>
- <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>
- <li>főnevek: 255 különböző tárgy, egyenként 15 bájt (max. 1536 bájt összesen)</li>
- <li>üzenetek: 32 különböző sztring szobánként, egyenként 255 bájt (max. 2048 bájt nyelvenként)</li>
- <li>szkriptek: 1 globális, 63 közös minden szobában, és 63 különböző szobánként</li>
- <li>utasítások: 21 mnemonik 8 kondícióval, elágazásmentes kivitelezés, 61 utasítás szkriptenként</li>
- <li>képek: alapból 1 szobánként, de használható egyéni implementáció</li>
- <li>szobák: 254 összesen, melyek 6 különböző irányban összeköthetőek</li></ul>
- <h2 id="jatek_allapot">Játék állapot<a href="#jatek_allapot"></a></h2>
- <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
- 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
- 256 bájtnyi memórián végeznek műveleteket és ez az állapot elmenthető és visszatölthető játékmentésként.</p>
- <h2 id="felso_szint">Felső szint<a href="#felso_szint"></a></h2>
- <p>A forrásfájl legfelső szintjén lennie kell egy <samp>"AdvGame"</samp> JSON struktúrának, ami egyben a fájl azonosítója is. A mezői:</p>
- <ul><li><samp>sprites</samp>: sztring, 256 x 256 pixeles PNG szprájtlap elérési útja, a felső 32 sora üres</li>
- <li><samp>music</samp>: sztringtömb, Amiga MOD (.mod) vagy MIDI (.mid) zenefájlok elérési útjai (8 elemű)</li>
- <li><samp>sounds</samp>: sztringtömb, RIFF WAVE (.wav) formátumú fájlok elérési útjai (31 elemű)</li>
- <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>
- <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>
- <li><samp>vars</samp>: sztringtömb, a állapot indexek aliaszai, ún. "változók" (csak a JSON-ben használt)</li>
- <li><samp>rooms</samp>: sztringtömb, a szobaszámok aliaszai (csak a JSON-ben használt)</li>
- <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>
- <li><samp>nouns</samp>: sztringtömb, a főnevek aliaszai (csak a JSON-ben használt)</li>
- <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>
- <li><samp>pos</samp>: szám, szöveg pozíciója pixelekben a képernyő tetejétől számítva</li>
- <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>
- <li><samp>logic</samp>: sztringtömb, általános játék logika szkript, ami mindig minden parancs előtt lefut</li>
- <li><samp>config0</samp>: struktúra, fő játékkonfiguráció</li>
- <li><samp>config1</samp>: struktúra, alternatív játékkonfiguráció (többnyelvűség támogatás)</li>
- <li>szám/"rooms" aliasz: struktúra, szobadefiníciók.</li></ul>
- <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ó
- (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
- é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
- kusztom felület C kóddal pedig akármilyen és akármennyi szprájt kirakható e helyett.</p>
- <h2 id="konfiguracio">Konfiguráció<a href="#konfiguracio"></a></h2>
- <p>Van egy fő- és egy alternatív konfiguráció a többnyelvűség támogatásához. A mezőik:</p>
- <ul><li><samp>lang</samp>: sztring, kétbetűs nyelvkkód</li>
- <li><samp>text</samp>: sztring, intró szövege (429 bájtig)</li>
- <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>
- <li><samp>save</samp>: sztringtömb, játékmentés igéi (15 bájtig, 8 szinoníma)</li>
- <li><samp>load</samp>: sztringtömb, játékbetöltés igéi</li>
- <li><samp>list</samp>: sztringtömb, leltárlistázás igéi</li>
- <li><samp>north</samp>: sztringtömb, északra navigálás igéi</li>
- <li><samp>west</samp>: sztringtömb, nyugatra navigálás igéi</li>
- <li><samp>east</samp>: sztringtömb, keletre navigálás igéi</li>
- <li><samp>south</samp>: sztringtömb, délre navigálás igéi</li>
- <li><samp>up</samp>: sztringtömb, emeletre navigálás igéi</li>
- <li><samp>down</samp>: sztringtömb, alagsorba navigálás igéi</li>
- <li><samp>verb1</samp>: sztringtömb, 1-es akció igéi (a kulcs lehet valamenyik "verbs" aliasz is)</li>
- <li><samp>verb2</samp>: sztringtömb, 2-es akció igéi</li>
- <li><samp>verb3</samp>: sztringtömb, 3-as akció igéi</li>
- <li><samp>verb32</samp>: sztringtömb, 32-es akció igéi</li>
- <li><samp>nouns</samp>: sztringtömb, tárgyak főnevei (255 sztringig)</li></ul>
- <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
- ha például a <samp>verb1</samp>-nek <samp>[ "kinyit" ]</samp>, a <samp>nouns</samp>-nak meg <samp>[ "lád" ]</samp> van megadva, akkor fel fogja ismerni azt is, ha a játékos
- <samp>kinyit láda</samp> vagy <samp>kinyitom a ládát</samp> parancsot gépeli be.</p>
- <h2 id="szobak">Szobák<a href="#szobak"></a></h2>
- <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,
- a 255-ös meg a mentett játékállás helye). Egy szoba struktúra mezői:</p>
- <ul><li><samp>image</samp>: sztring, egy PNG elérési útja, legfeljebb 256 x 96 pixeles</li>
- <li><samp>text0</samp>: sztringtömb, a <samp>config0</samp>-hoz tartozó szövegek (32 sztringig, egyenként 255 bájt)</li>
- <li><samp>text1</samp>: sztringtömb, a <samp>config1</samp>-hez tartozó szövegek</li>
- <li><samp>north</samp>: szám / sztring / sztringtömb, északi irány szkript</li>
- <li><samp>west</samp>: szám / sztring / sztringtömb, nyugati irány szkript</li>
- <li><samp>east</samp>: szám / sztring / sztringtömb, keleti irány szkript</li>
- <li><samp>south</samp>: szám / sztring / sztringtömb, déli irány szkript</li>
- <li><samp>up</samp>: szám / sztring / sztringtömb, felfele irány szkript</li>
- <li><samp>down</samp>: szám / sztring / sztringtömb, lefele irány szkript</li>
- <li><samp>logic</samp>: szám / sztring / sztringtömb, a szobába lépéskor automatikusan lefutó szkript</li>
- <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>
- <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>
- <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>
- <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
- lehet kiiratni.</p>
- <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
- "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>
- <h2 id="szkriptek">Szkriptek<a href="#szkriptek"></a></h2>
- <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>
- <div class="pre"><pre>
- "north": 12,
- </pre></div>
- <p>Vagy lehet sztring, ami egy "rooms" aliasz:</p>
- <div class="pre"><pre>
- "north": "padlás",
- </pre></div>
- <p>De ha egy sztringtömb, akkor az egy utasításokat tartalmazó szkript:</p>
- <div class="pre"><pre>
- "north": [ "jmp 12" ],
- </pre></div>
- <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
- "rooms", "vars", stb. aliaszok használhatók.</p>
- <p>A rendelkezésre álló utasítások:</p>
- <ul><li><samp>end</samp>: szkript vége</li>
- <li><samp>and</samp>: az utótagja a következő utasítás feltételéhez adódik logikai ÉS kapcsolattal</li>
- <li><samp>or</samp>: az utótagja a következő utasítás feltételéhez adódik logikai VAGY kapcsolattal</li>
- <li><samp>bgm X</samp>: háttérzene lejátszása (X értéke 0 és 7 közötti)</li>
- <li><samp>sfx X</samp>: hangeffekt lejátszása (X értéke 0 és 63 közötti)</li>
- <li><samp>jmp X</samp>: X szobába lép (X értéke 0 és 254 közötti)</li>
- <li><samp>jmpv (X)</samp>: mint a <samp>jmp</samp>, de a szobát az X változóból veszi</li>
- <li><samp>call X</samp>: meghívja az 1-es szoba X szkriptjét (X értéke 1 és 64 közötti)</li>
- <li><samp>callv (X)</samp>: mint a <samp>call</samp>, de a szkript számát az X változóból veszi</li>
- <li><samp>give X</samp>: hozzáadja az X főnevet a leltárhoz (X értéke 1 és 254 közötti)</li>
- <li><samp>take X</samp>: kiveszi az X főnevet a leltárból</li>
- <li><samp>say X</samp>: az X szöveg megjelenítése (X értéke 1 és 32 közötti)</li>
- <li><samp>sayv (X) Y</samp>: az X változó értéke + Y szöveg megjelenítése</li>
- <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>
- <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>
- <li><samp>addv (X) (Y)</samp>: az X változó növelése Y változó értékével</li>
- <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>
- <li><samp>subv (X) (Y)</samp>: az X változó csökkentése Y változó értékével</li>
- <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>
- <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>
- <li><samp>mov (X) (Y)</samp>: az Y változó értékét X változóba másolja</li></ul>
- <p>Ezek az utasítások mind elláthatók a következő utótagok egyikével:</p>
- <ul><li>nincs utótag: feltétel nélkül végrehajtódik</li>
- <li><samp>if (V) = N</samp>: csak ha a V változó értéke N</li>
- <li><samp>if (V) != N</samp>: csak ha a V változó értéke nem N</li>
- <li><samp>if (V) <= N</samp>: csak ha a V változó értéke kissebb vagy egyenlő, mint N</li>
- <li><samp>if (V) < N</samp>: csak ha a V változó értéke kissebb, mint N</li>
- <li><samp>if (V) > N</samp>: csak ha a V változó értéke nagyobb, mint N</li>
- <li><samp>has N</samp>: csak ha az N főnév a leltárban van</li>
- <li><samp>not N</samp>: csak ha az N főnév nincs a leltárban</li></ul>
- <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
- <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
- 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,
- amit a <samp>has</samp> illetve <samp>not</samp> feltételekkel kell elérni, így nincs ütközés.</p>
- <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
- csak kifejezetten <samp>jmp</samp> utasításnak adható meg, mert a 0 szám nem használható, mint cél szobaszám).</p>
- <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
- 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
- é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
- szkriptelt navigációra van szükség.</p>
- <div class="pre"><pre>
- "11": {
- "text0": [ "Az ajtó zárva." ],
- "north": [ "jmp 12 if (7) = 1", "say 1" ]
- }
- </pre></div>
- <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
- 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"
- 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ó
- "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
- 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
- lehessen átmenni, és csak ha lámpája is van a játékosnak, az <samp>[ "and if éjjel = 1", "and has lámpa", "jmp padlás if kulcs = 1" ]</samp>.</p>
- <p>Egy másik példa, ami véletlenszerűen ugrik a 100 és 109 közötti szoba valamelyikére:</p>
- <div class="pre"><pre>
- [ "rnd (1) 10", /* 0 és 9 közötti véletlenszám az 1-es állapotba */
- "add (1) 100", /* hozzáadunk 100-at így az most 100 és 109 közötti */
- "jmpv (1)" ] /* az állapotban tárolt szobaszámra ugrás */
- </pre></div>
- <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>
- <div class="pre"><pre>
- "text0": [
- "Meghaltál, ennek oka:", /* 1-es szöveg */
- "megfulladtál", /* 2-es szöveg */
- "éhenhaltál", /* 3-as szöveg */
- "bedarált a hegyirém" /* 4-es szöveg */
- ],
- "logic": [ "say 1", "sayv (9) 2" ]
- </pre></div>
- <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
- ki a 2-es és 4-es közötti szövegek közül.</p>
- <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>
- <div class="pre"><pre>
- "text0": [
- "Nincs nálad kulcs.", /* 1-es szöveg */
- "Kinyitottad a ládát." /* 2-es szöveg */
- ],
- "nyit láda": [ "sayc 1 2 has kulcs", "set (10) 1 has kulcs" ]
- </pre></div>
- <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
- 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>
- "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ó
- szavaktól, amit a játékosok a játék közben gépelnek be.)</p>
- <h2 id="minta_jatekok">Minta játékok<a href="#minta_jatekok"></a></h2>
- <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>
- <div class="page" rel="meg_4_licensz"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Függelék »</li><li> MEG-4 Licensz</li></ul><hr></div>
- <h1 id="meg_4_licensz">MEG-4 Licensz<a href="#meg_4_licensz"></a></h1>
- <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>
- (vagy tetszés szerint ennek bármelyik újabb verziója) alatt kerül terjesztésre.</p>
- <div class="pre"><pre>
- Ez a program szabad szoftver; terjeszthető illetve módosítható a Free Software
- Fundation által kiadott GNU General Public License dokumentumban leírtak;
- akár a licensz 3-as, akár (tetszőleges) későbbi változata szerint.
- Ez a program abban a reményben kerül közreadásra, hogy hasznos lesz, de minden
- egyéb GARANCIA NÉLKÜL, az ELADHATÓSÁGRA vagy BÁRMELY CÉLÚ ALKALMAZHATÓSÁGRA
- való garanciát is beleértve. További részleteket a GNU General Public License
- tartalmaz.
- A felhasználónak a programmal együtt meg kell kapnia a GNU General Public
- License egy példányát; ha mégsem kapta meg, akkor írjon erre a címre:
- Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- </pre></div>
- <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,
- 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>
- <div class="page" rel="hivatkozasok"><div><ul class="breadcrumbs"><li><label class="home" for="_" title="Főoldal"></label> »</li><li> Függelék »</li><li> Hivatkozások</li></ul><hr></div>
- <h1 id="hivatkozasok">Hivatkozások<a href="#hivatkozasok"></a></h1>
- <p>A MEG-4 megalkotásához felhasznált anyagok</p>
- <ul><li><a href="https://github.com/rombankzero/pocketmod" target="new">pocketmod</a></li>
- <li><a href="https://github.com/nothings/stb" target="new">stb_image</a></li>
- <li><a href="http://members.chello.at/%7Eeasyfilter/Bresenham.pdf" target="new">Bresenham</a></li>
- <li><a href="https://lodev.org/cgtutor/raycasting.html" target="new">raycasting</a></li>
- <li><a href="https://bellard.org/TinyGL" target="new">TinyGL</a></li>
- <li><a href="https://www.lua.org" target="new">Lua</a></li>
- <li><a href="https://pixeljoint.com/forum/forum_posts.asp?TID=16247" target="new">DawnBringer32</a></li>
- <li><a href="https://pkware.cachefly.net/webdocs/APPNOTE/APPNOTE-6.3.10.TXT" target="new">ZIP formátum</a></li>
- <li><a href="http://libpng.org/pub/png/spec/1.2/PNG-Contents.html" target="new">PNG formátum</a></li>
- <li><a href="https://www.gamers.org/dEngine/quake3/TGA.txt" target="new">TGA formátum</a></li>
- <li><a href="https://doc.mapeditor.org/en/stable/reference/tmx-map-format/" target="new">TMX formátum</a></li>
- <li><a href="https://www.x.org/docs/BDF/bdf.pdf" target="new">BDF formátum</a></li>
- <li><a href="https://www.aes.id.au/modformat.html" target="new">MOD formátum</a></li>
- <li><a href="https://www.cs.cmu.edu/~music/cmsip/readings/Standard-MIDI-file-format-updated.pdf" target="new">MIDI formátum</a></li>
- <li><a href="https://pico-8.fandom.com/wiki/P8FileFormat" target="new">PICO-8 formátum</a></li>
- <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>
- <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>
- </div>
- </div>
- <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>
- </body>
- </html>
|