| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641 |
- #pragma once
- extern "C" {
- #include <stdio.h>
- #include "lua.h"
- #include "lualib.h"
- #include "lauxlib.h"
- }
- #include "polycode/core/PolyBasicFileProvider.h"
- #include "polycode/core/PolyBezierCurve.h"
- #include "polycode/core/PolyBone.h"
- #include "polycode/core/PolyCamera.h"
- #include "polycode/core/PolyColor.h"
- #include "polycode/core/PolyConfig.h"
- #include "polycode/core/PolyCore.h"
- #include "polycode/core/PolyCoreFileProvider.h"
- #include "polycode/core/PolyCoreInput.h"
- #include "polycode/core/PolyCoreServices.h"
- #include "polycode/core/PolyCubemap.h"
- #include "polycode/core/PolyData.h"
- #include "polycode/core/PolyEntity.h"
- #include "polycode/core/PolyEvent.h"
- #include "polycode/core/PolyEventDispatcher.h"
- #include "polycode/core/PolyEventHandler.h"
- #include "polycode/core/PolyFont.h"
- #include "polycode/core/PolyGlobals.h"
- #include "polycode/core/PolyGPUDrawBuffer.h"
- #include "polycode/core/PolyImage.h"
- #include "polycode/core/PolyInputEvent.h"
- #include "polycode/core/PolyInputKeys.h"
- #include "polycode/core/PolyLabel.h"
- #include "polycode/core/PolyMaterial.h"
- #include "polycode/core/PolyMaterialManager.h"
- #include "polycode/core/PolyMatrix4.h"
- #include "polycode/core/PolyMesh.h"
- #include "polycode/core/PolyObject.h"
- #include "polycode/core/PolyOpenGLGraphicsInterface.h"
- #include "polycode/core/PolyPAAudioInterface.h"
- #include "polycode/core/PolyParticleEmitter.h"
- #include "polycode/core/PolyPerlin.h"
- #include "polycode/core/PolyPhysFSFileProvider.h"
- #include "polycode/core/PolyQuaternion.h"
- #include "polycode/core/PolyQuaternionCurve.h"
- #include "polycode/core/PolyRay.h"
- #include "polycode/core/PolyRectangle.h"
- #include "polycode/core/PolyRenderDataArray.h"
- #include "polycode/core/PolyRenderer.h"
- #include "polycode/core/PolyResource.h"
- #include "polycode/core/PolyResourceManager.h"
- #include "polycode/core/PolyScene.h"
- #include "polycode/core/PolySceneEntityInstance.h"
- #include "polycode/core/PolySceneImage.h"
- #include "polycode/core/PolySceneLabel.h"
- #include "polycode/core/PolySceneLight.h"
- #include "polycode/core/PolySceneLine.h"
- #include "polycode/core/PolySceneManager.h"
- #include "polycode/core/PolySceneMesh.h"
- #include "polycode/core/PolyScenePrimitive.h"
- #include "polycode/core/PolySceneRenderTexture.h"
- #include "polycode/core/PolySceneSound.h"
- #include "polycode/core/PolySceneSprite.h"
- #include "polycode/core/PolyScript.h"
- #include "polycode/core/PolyShader.h"
- #include "polycode/core/PolySkeleton.h"
- #include "polycode/core/PolySound.h"
- #include "polycode/core/PolySoundManager.h"
- #include "polycode/core/PolyString.h"
- #include "polycode/core/PolyTexture.h"
- #include "polycode/core/PolyTimer.h"
- #include "polycode/core/PolyTimerManager.h"
- #include "polycode/core/PolyVector2.h"
- #include "polycode/core/PolyVector3.h"
- #include "polycode/core/PolyVector4.h"
- using namespace std;
- namespace Polycode {
- class LuaEventHandler : public EventHandler {
- public:
- LuaEventHandler() : EventHandler() {}
- void handleEvent(Event *e) {
- lua_getglobal(L, "__customError");
- int errH = lua_gettop(L);
- lua_getglobal(L, "__handleEvent");
- lua_rawgeti( L, LUA_REGISTRYINDEX, wrapperIndex );
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)e;
- lua_pcall(L, 2, 0, errH);
- lua_settop(L, 0);
- }
- int wrapperIndex;
- lua_State *L;
- };
- static int Polycode_BasicFile_read(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BasicFile *inst = (BasicFile*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- void* ptr = (void*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- size_t size = *(size_t*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- size_t count = *(size_t*) *((PolyBase**)lua_touserdata(L, 4));
- lua_pushinteger(L, inst->read(ptr, size, count));
- return 1;
- }
- static int Polycode_BasicFile_write(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BasicFile *inst = (BasicFile*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- void* ptr = (void*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- size_t size = *(size_t*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- size_t count = *(size_t*) *((PolyBase**)lua_touserdata(L, 4));
- lua_pushinteger(L, inst->write(ptr, size, count));
- return 1;
- }
- static int Polycode_BasicFile_seek(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BasicFile *inst = (BasicFile*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int offset = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int origin = lua_tointeger(L, 3);
- lua_pushinteger(L, inst->seek(offset, origin));
- return 1;
- }
- static int Polycode_BasicFile_tell(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BasicFile *inst = (BasicFile*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->tell());
- return 1;
- }
- static int Polycode_BasicFileProvider(lua_State *L) {
- BasicFileProvider *inst = new BasicFileProvider();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.BasicFileProvider");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_BasicFileProvider_openFile(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BasicFileProvider *inst = (BasicFileProvider*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String opts = String(lua_tostring(L, 3));
- PolyBase *ptrRetVal = (PolyBase*)inst->openFile(fileName, opts);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_BasicFileProvider_closeFile(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BasicFileProvider *inst = (BasicFileProvider*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- CoreFile* file = (CoreFile*) *((PolyBase**)lua_touserdata(L, 2));
- inst->closeFile(file);
- return 0;
- }
- static int Polycode_BasicFileProvider_addSource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BasicFileProvider *inst = (BasicFileProvider*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String source = String(lua_tostring(L, 2));
- inst->addSource(source);
- return 0;
- }
- static int Polycode_BasicFileProvider_removeSource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BasicFileProvider *inst = (BasicFileProvider*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String source = String(lua_tostring(L, 2));
- inst->removeSource(source);
- return 0;
- }
- static int Polycode_BezierCurve(lua_State *L) {
- BezierCurve *inst = new BezierCurve();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.BezierCurve");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_BezierCurve_getControlPoint(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BezierCurve *inst = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getControlPoint(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_BezierCurve_getNumControlPoints(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BezierCurve *inst = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumControlPoints());
- return 1;
- }
- static int Polycode_BezierCurve_addControlPoint(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BezierCurve *inst = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number p1x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number p1y = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number p1z = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number p2x = lua_tonumber(L, 5);
- luaL_checktype(L, 6, LUA_TNUMBER);
- Number p2y = lua_tonumber(L, 6);
- luaL_checktype(L, 7, LUA_TNUMBER);
- Number p2z = lua_tonumber(L, 7);
- luaL_checktype(L, 8, LUA_TNUMBER);
- Number p3x = lua_tonumber(L, 8);
- luaL_checktype(L, 9, LUA_TNUMBER);
- Number p3y = lua_tonumber(L, 9);
- luaL_checktype(L, 10, LUA_TNUMBER);
- Number p3z = lua_tonumber(L, 10);
- inst->addControlPoint(p1x, p1y, p1z, p2x, p2y, p2z, p3x, p3y, p3z);
- return 0;
- }
- static int Polycode_BezierCurve_addControlPoint3dWithHandles(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BezierCurve *inst = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number p1x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number p1y = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number p1z = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number p2x = lua_tonumber(L, 5);
- luaL_checktype(L, 6, LUA_TNUMBER);
- Number p2y = lua_tonumber(L, 6);
- luaL_checktype(L, 7, LUA_TNUMBER);
- Number p2z = lua_tonumber(L, 7);
- luaL_checktype(L, 8, LUA_TNUMBER);
- Number p3x = lua_tonumber(L, 8);
- luaL_checktype(L, 9, LUA_TNUMBER);
- Number p3y = lua_tonumber(L, 9);
- luaL_checktype(L, 10, LUA_TNUMBER);
- Number p3z = lua_tonumber(L, 10);
- inst->addControlPoint3dWithHandles(p1x, p1y, p1z, p2x, p2y, p2z, p3x, p3y, p3z);
- return 0;
- }
- static int Polycode_BezierCurve_addControlPoint3d(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BezierCurve *inst = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number z = lua_tonumber(L, 4);
- inst->addControlPoint3d(x, y, z);
- return 0;
- }
- static int Polycode_BezierCurve_addControlPoint2dWithHandles(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BezierCurve *inst = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number p1x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number p1y = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number p2x = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number p2y = lua_tonumber(L, 5);
- luaL_checktype(L, 6, LUA_TNUMBER);
- Number p3x = lua_tonumber(L, 6);
- luaL_checktype(L, 7, LUA_TNUMBER);
- Number p3y = lua_tonumber(L, 7);
- inst->addControlPoint2dWithHandles(p1x, p1y, p2x, p2y, p3x, p3y);
- return 0;
- }
- static int Polycode_BezierCurve_addControlPoint2d(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BezierCurve *inst = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- inst->addControlPoint2d(x, y);
- return 0;
- }
- static int Polycode_BezierCurve_getPointAt(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BezierCurve *inst = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number a = lua_tonumber(L, 2);
- Vector3 *retInst = new Vector3();
- *retInst = inst->getPointAt(a);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_BezierCurve_getPointBetween(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BezierCurve *inst = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number a = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TUSERDATA);
- BezierPoint* bp1 = (BezierPoint*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- BezierPoint* bp2 = (BezierPoint*) *((PolyBase**)lua_touserdata(L, 4));
- Vector3 *retInst = new Vector3();
- *retInst = inst->getPointBetween(a, bp1, bp2);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_BezierCurve_clearControlPoints(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BezierCurve *inst = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 1));
- inst->clearControlPoints();
- return 0;
- }
- static int Polycode_BezierCurve_getYValueAtX(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BezierCurve *inst = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- lua_pushnumber(L, inst->getYValueAtX(x));
- return 1;
- }
- static int Polycode_BezierCurve_getTValueAtX(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BezierCurve *inst = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- lua_pushnumber(L, inst->getTValueAtX(x));
- return 1;
- }
- static int Polycode_BezierCurve_removePoint(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BezierCurve *inst = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- BezierPoint* point = (BezierPoint*) *((PolyBase**)lua_touserdata(L, 2));
- inst->removePoint(point);
- return 0;
- }
- static int Polycode_BezierCurve_setHeightCacheResolution(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BezierCurve *inst = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number resolution = lua_tonumber(L, 2);
- inst->setHeightCacheResolution(resolution);
- return 0;
- }
- static int Polycode_BezierCurve_rebuildHeightCache(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BezierCurve *inst = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 1));
- inst->rebuildHeightCache();
- return 0;
- }
- static int Polycode_BezierCurve_recalculateDistances(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BezierCurve *inst = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 1));
- inst->recalculateDistances();
- return 0;
- }
- static int Polycode_BezierPoint(lua_State *L) {
- luaL_checktype(L, 1, LUA_TNUMBER);
- Number p1x = lua_tonumber(L, 1);
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number p1y = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number p1z = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number p2x = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number p2y = lua_tonumber(L, 5);
- luaL_checktype(L, 6, LUA_TNUMBER);
- Number p2z = lua_tonumber(L, 6);
- luaL_checktype(L, 7, LUA_TNUMBER);
- Number p3x = lua_tonumber(L, 7);
- luaL_checktype(L, 8, LUA_TNUMBER);
- Number p3y = lua_tonumber(L, 8);
- luaL_checktype(L, 9, LUA_TNUMBER);
- Number p3z = lua_tonumber(L, 9);
- BezierPoint *inst = new BezierPoint(p1x, p1y, p1z, p2x, p2y, p2z, p3x, p3y, p3z);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.BezierPoint");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Bone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TSTRING);
- String boneName = String(lua_tostring(L, 1));
- Bone *inst = new Bone(boneName);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Bone");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Bone_getName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Bone *inst = (Bone*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->getName().c_str());
- return 1;
- }
- static int Polycode_Bone_setParentBone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Bone *inst = (Bone*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Bone* bone = (Bone*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setParentBone(bone);
- return 0;
- }
- static int Polycode_Bone_addChildBone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Bone *inst = (Bone*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Bone* bone = (Bone*) *((PolyBase**)lua_touserdata(L, 2));
- inst->addChildBone(bone);
- return 0;
- }
- static int Polycode_Bone_getParentBone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Bone *inst = (Bone*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getParentBone();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Bone_getNumChildBones(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Bone *inst = (Bone*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumChildBones());
- return 1;
- }
- static int Polycode_Bone_getChildBone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Bone *inst = (Bone*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getChildBone(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Bone_getBoneMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Bone *inst = (Bone*) *((PolyBase**)lua_touserdata(L, 1));
- Matrix4 *retInst = new Matrix4();
- *retInst = inst->getBoneMatrix();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Bone_setBoneMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Bone *inst = (Bone*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Matrix4 matrix = *(Matrix4*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setBoneMatrix(matrix);
- return 0;
- }
- static int Polycode_Bone_getRestMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Bone *inst = (Bone*) *((PolyBase**)lua_touserdata(L, 1));
- Matrix4 *retInst = new Matrix4();
- *retInst = inst->getRestMatrix();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Bone_getFullRestMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Bone *inst = (Bone*) *((PolyBase**)lua_touserdata(L, 1));
- Matrix4 *retInst = new Matrix4();
- *retInst = inst->getFullRestMatrix();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Bone_getParentRestMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Bone *inst = (Bone*) *((PolyBase**)lua_touserdata(L, 1));
- Matrix4 *retInst = new Matrix4();
- *retInst = inst->getParentRestMatrix();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Bone_getFinalMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Bone *inst = (Bone*) *((PolyBase**)lua_touserdata(L, 1));
- Matrix4 *retInst = new Matrix4();
- *retInst = inst->getFinalMatrix();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Bone_setRestMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Bone *inst = (Bone*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Matrix4 matrix = *(Matrix4*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setRestMatrix(matrix);
- return 0;
- }
- static int Polycode_Bone_setBaseMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Bone *inst = (Bone*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Matrix4 matrix = *(Matrix4*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setBaseMatrix(matrix);
- return 0;
- }
- static int Polycode_Bone_getBaseMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Bone *inst = (Bone*) *((PolyBase**)lua_touserdata(L, 1));
- Matrix4 *retInst = new Matrix4();
- *retInst = inst->getBaseMatrix();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Bone_getFullBaseMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Bone *inst = (Bone*) *((PolyBase**)lua_touserdata(L, 1));
- Matrix4 *retInst = new Matrix4();
- *retInst = inst->getFullBaseMatrix();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Bone_rebuildFinalMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Bone *inst = (Bone*) *((PolyBase**)lua_touserdata(L, 1));
- inst->rebuildFinalMatrix();
- return 0;
- }
- static int Polycode_Bone_buildFinalMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Bone *inst = (Bone*) *((PolyBase**)lua_touserdata(L, 1));
- Matrix4 *retInst = new Matrix4();
- *retInst = inst->buildFinalMatrix();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Bone_intializeBone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Bone *inst = (Bone*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 basePosition = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Vector3 baseScale = *(Vector3*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- Quaternion baseRotation = *(Quaternion*) *((PolyBase**)lua_touserdata(L, 4));
- luaL_checktype(L, 5, LUA_TUSERDATA);
- Vector3 restPosition = *(Vector3*) *((PolyBase**)lua_touserdata(L, 5));
- luaL_checktype(L, 6, LUA_TUSERDATA);
- Vector3 restScale = *(Vector3*) *((PolyBase**)lua_touserdata(L, 6));
- luaL_checktype(L, 7, LUA_TUSERDATA);
- Quaternion restRotation = *(Quaternion*) *((PolyBase**)lua_touserdata(L, 7));
- inst->intializeBone(basePosition, baseScale, baseRotation, restPosition, restScale, restRotation);
- return 0;
- }
- static int Polycode_Camera(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene* parentScene = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- Camera *inst = new Camera(parentScene);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Camera");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Camera_buildFrustumPlanes(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- inst->buildFrustumPlanes();
- return 0;
- }
- static int Polycode_Camera_isSphereInFrustum(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 pos = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number fRadius = lua_tonumber(L, 3);
- lua_pushboolean(L, inst->isSphereInFrustum(pos, fRadius));
- return 1;
- }
- static int Polycode_Camera_isAABBInFrustum(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- AABB aabb = *(AABB*) *((PolyBase**)lua_touserdata(L, 2));
- lua_pushboolean(L, inst->isAABBInFrustum(aabb));
- return 1;
- }
- static int Polycode_Camera_setOrthoMode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool mode = lua_toboolean(L, 2) != 0;
- inst->setOrthoMode(mode);
- return 0;
- }
- static int Polycode_Camera_setOrthoSize(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number orthoSizeX = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number orthoSizeY = lua_tonumber(L, 3);
- inst->setOrthoSize(orthoSizeX, orthoSizeY);
- return 0;
- }
- static int Polycode_Camera_setFrustumMode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number left = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number right = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number bottom = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number top = lua_tonumber(L, 5);
- luaL_checktype(L, 6, LUA_TNUMBER);
- Number front = lua_tonumber(L, 6);
- luaL_checktype(L, 7, LUA_TNUMBER);
- Number back = lua_tonumber(L, 7);
- inst->setFrustumMode(left, right, bottom, top, front, back);
- return 0;
- }
- static int Polycode_Camera_getOrthoMode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->getOrthoMode());
- return 1;
- }
- static int Polycode_Camera_getOrthoSizeX(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getOrthoSizeX());
- return 1;
- }
- static int Polycode_Camera_getOrthoSizeY(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getOrthoSizeY());
- return 1;
- }
- static int Polycode_Camera_setFOV(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number fov = lua_tonumber(L, 2);
- inst->setFOV(fov);
- return 0;
- }
- static int Polycode_Camera_getFOV(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getFOV());
- return 1;
- }
- static int Polycode_Camera_setClippingPlanes(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number nearClipPlane = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number farClipPlane = lua_tonumber(L, 3);
- inst->setClippingPlanes(nearClipPlane, farClipPlane);
- return 0;
- }
- static int Polycode_Camera_getNearClippingPlane(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getNearClippingPlane());
- return 1;
- }
- static int Polycode_Camera_getFarClippingPlane(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getFarClippingPlane());
- return 1;
- }
- static int Polycode_Camera_setParentScene(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Scene* parentScene = (Scene*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setParentScene(parentScene);
- return 0;
- }
- static int Polycode_Camera_getParentScene(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getParentScene();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Camera_createProjectionMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- Matrix4 *retInst = new Matrix4();
- *retInst = inst->createProjectionMatrix();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Camera_hasFilterShader(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->hasFilterShader());
- return 1;
- }
- static int Polycode_Camera_drawFilter(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- RenderBuffer* targetBuffer = (RenderBuffer*) *((PolyBase**)lua_touserdata(L, 2));
- inst->drawFilter(targetBuffer);
- return 0;
- }
- static int Polycode_Camera_setPostFilter(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Material* material = (Material*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setPostFilter(material);
- return 0;
- }
- static int Polycode_Camera_setPostFilterByName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String shaderName = String(lua_tostring(L, 2));
- inst->setPostFilterByName(shaderName);
- return 0;
- }
- static int Polycode_Camera_removePostFilter(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- inst->removePostFilter();
- return 0;
- }
- static int Polycode_Camera_getScreenShaderMaterial(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getScreenShaderMaterial();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Camera_Clone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 2) != 0;
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 3) != 0;
- PolyBase *ptrRetVal = (PolyBase*)inst->Clone(deepClone, ignoreEditorOnly);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Camera_applyClone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* clone = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 3) != 0;
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 4) != 0;
- inst->applyClone(clone, deepClone, ignoreEditorOnly);
- return 0;
- }
- static int Polycode_Camera_getProjectionMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- Matrix4 *retInst = new Matrix4();
- *retInst = inst->getProjectionMatrix();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Camera_setCustomProjectionMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Matrix4 matrix = *(Matrix4*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setCustomProjectionMatrix(matrix);
- return 0;
- }
- static int Polycode_Camera_getViewport(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- Polycode::Rectangle *retInst = new Polycode::Rectangle();
- *retInst = inst->getViewport();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Polycode::Rectangle");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Camera_setViewport(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Polycode::Rectangle viewport = *(Polycode::Rectangle*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setViewport(viewport);
- return 0;
- }
- static int Polycode_Camera_setOrthoSizeMode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int orthoSizeMode = lua_tointeger(L, 2);
- inst->setOrthoSizeMode(orthoSizeMode);
- return 0;
- }
- static int Polycode_Camera_getOrthoSizeMode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getOrthoSizeMode());
- return 1;
- }
- static int Polycode_Camera_setProjectionMode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int mode = lua_tointeger(L, 2);
- inst->setProjectionMode(mode);
- return 0;
- }
- static int Polycode_Camera_getProjectionMode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getProjectionMode());
- return 1;
- }
- static int Polycode_Camera_projectRayFrom2DCoordinate(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector2 coordinate = *(Vector2*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Polycode::Rectangle viewport = *(Polycode::Rectangle*) *((PolyBase**)lua_touserdata(L, 3));
- Vector3 *retInst = new Vector3();
- *retInst = inst->projectRayFrom2DCoordinate(coordinate, viewport);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Camera_renderFullScreenQuad(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- GPUDrawBuffer* drawBuffer = (GPUDrawBuffer*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int shaderPass = lua_tointeger(L, 3);
- inst->renderFullScreenQuad(drawBuffer, shaderPass);
- return 0;
- }
- static int Polycode_Camera_getShaderPass(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- ShaderPass *retInst = new ShaderPass();
- *retInst = inst->getShaderPass(index);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.ShaderPass");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Camera_getNumShaderPasses(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Camera *inst = (Camera*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumShaderPasses());
- return 1;
- }
- static int Polycode_Color(lua_State *L) {
- luaL_checktype(L, 1, LUA_TNUMBER);
- Number r = lua_tonumber(L, 1);
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number g = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number b = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number a = lua_tonumber(L, 4);
- Color *inst = new Color(r, g, b, a);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Color");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Color_ColorWithInts(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Color *inst = (Color*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int r = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int g = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int b = lua_tointeger(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- int a = lua_tointeger(L, 5);
- Color *retInst = new Color();
- *retInst = inst->ColorWithInts(r, g, b, a);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Color");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Color_ColorWithHex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Color *inst = (Color*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int hex = lua_tointeger(L, 2);
- Color *retInst = new Color();
- *retInst = inst->ColorWithHex(hex);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Color");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Color_setColorHex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Color *inst = (Color*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int hex = lua_tointeger(L, 2);
- inst->setColorHex(hex);
- return 0;
- }
- static int Polycode_Color_setColorHexRGB(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Color *inst = (Color*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int hex = lua_tointeger(L, 2);
- inst->setColorHexRGB(hex);
- return 0;
- }
- static int Polycode_Color_setColorHexFromString(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Color *inst = (Color*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String hex = String(lua_tostring(L, 2));
- inst->setColorHexFromString(hex);
- return 0;
- }
- static int Polycode_Color_setColorHexRGBFromString(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Color *inst = (Color*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String hex = String(lua_tostring(L, 2));
- inst->setColorHexRGBFromString(hex);
- return 0;
- }
- static int Polycode_Color_setColorHSV(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Color *inst = (Color*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number h = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number s = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number v = lua_tonumber(L, 4);
- inst->setColorHSV(h, s, v);
- return 0;
- }
- static int Polycode_Color_setColorRGBA(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Color *inst = (Color*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int r = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int g = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int b = lua_tointeger(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- int a = lua_tointeger(L, 5);
- inst->setColorRGBA(r, g, b, a);
- return 0;
- }
- static int Polycode_Color_setColorRGB(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Color *inst = (Color*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int r = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int g = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int b = lua_tointeger(L, 4);
- inst->setColorRGB(r, g, b);
- return 0;
- }
- static int Polycode_Color_setColor(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Color *inst = (Color*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number r = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number g = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number b = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number a = lua_tonumber(L, 5);
- inst->setColor(r, g, b, a);
- return 0;
- }
- static int Polycode_Color_blendColor(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Color *inst = (Color*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Color c2 = *(Color*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int mode = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number amount = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TUSERDATA);
- Color c3 = *(Color*) *((PolyBase**)lua_touserdata(L, 5));
- Color *retInst = new Color();
- *retInst = inst->blendColor(c2, mode, amount, c3);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Color");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Color_Random(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Color *inst = (Color*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Random();
- return 0;
- }
- static int Polycode_Color_getBrightness(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Color *inst = (Color*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getBrightness());
- return 1;
- }
- static int Polycode_Color_RGBtoHSV(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Color *inst = (Color*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number r = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number g = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number b = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number h = lua_tonumber(L, 5);
- luaL_checktype(L, 6, LUA_TNUMBER);
- Number s = lua_tonumber(L, 6);
- luaL_checktype(L, 7, LUA_TNUMBER);
- Number v = lua_tonumber(L, 7);
- inst->RGBtoHSV(r, g, b, h, s, v);
- return 0;
- }
- static int Polycode_Color_getHue(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Color *inst = (Color*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getHue());
- return 1;
- }
- static int Polycode_Color_getSaturation(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Color *inst = (Color*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getSaturation());
- return 1;
- }
- static int Polycode_Color_getValue(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Color *inst = (Color*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getValue());
- return 1;
- }
- static int Polycode_Color_getUint(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Color *inst = (Color*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getUint());
- return 1;
- }
- static int Polycode_Config(lua_State *L) {
- Config *inst = new Config();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Config");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Config_loadConfig(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Config *inst = (Config*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String configNamespace = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 3));
- inst->loadConfig(configNamespace, fileName);
- return 0;
- }
- static int Polycode_Config_saveConfig(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Config *inst = (Config*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String configNamespace = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 3));
- inst->saveConfig(configNamespace, fileName);
- return 0;
- }
- static int Polycode_Config_getEntry(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Config *inst = (Config*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String configNamespace = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String key = String(lua_tostring(L, 3));
- PolyBase *ptrRetVal = (PolyBase*)inst->getEntry(configNamespace, key);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Config_setStringValue(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Config *inst = (Config*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String configNamespace = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String key = String(lua_tostring(L, 3));
- luaL_checktype(L, 4, LUA_TSTRING);
- String value = String(lua_tostring(L, 4));
- inst->setStringValue(configNamespace, key, value);
- return 0;
- }
- static int Polycode_Config_setNumericValue(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Config *inst = (Config*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String configNamespace = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String key = String(lua_tostring(L, 3));
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number value = lua_tonumber(L, 4);
- inst->setNumericValue(configNamespace, key, value);
- return 0;
- }
- static int Polycode_Config_getNumericValue(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Config *inst = (Config*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String configNamespace = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String key = String(lua_tostring(L, 3));
- lua_pushnumber(L, inst->getNumericValue(configNamespace, key));
- return 1;
- }
- static int Polycode_Config_getStringValue(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Config *inst = (Config*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String configNamespace = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String key = String(lua_tostring(L, 3));
- lua_pushstring(L, inst->getStringValue(configNamespace, key).c_str());
- return 1;
- }
- static int Polycode_Config_setBoolValue(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Config *inst = (Config*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String configNamespace = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String key = String(lua_tostring(L, 3));
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool value = lua_toboolean(L, 4) != 0;
- inst->setBoolValue(configNamespace, key, value);
- return 0;
- }
- static int Polycode_Config_getBoolValue(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Config *inst = (Config*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String configNamespace = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String key = String(lua_tostring(L, 3));
- lua_pushboolean(L, inst->getBoolValue(configNamespace, key));
- return 1;
- }
- static int Polycode_Core_Update(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->Update());
- return 1;
- }
- static int Polycode_Core_Render(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Render();
- return 0;
- }
- static int Polycode_Core_fixedUpdate(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->fixedUpdate());
- return 1;
- }
- static int Polycode_Core_systemUpdate(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->systemUpdate());
- return 1;
- }
- static int Polycode_Core_updateAndRender(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->updateAndRender());
- return 1;
- }
- static int Polycode_Core_enableMouse(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool newval = lua_toboolean(L, 2) != 0;
- inst->enableMouse(newval);
- return 0;
- }
- static int Polycode_Core_captureMouse(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool newval = lua_toboolean(L, 2) != 0;
- inst->captureMouse(newval);
- return 0;
- }
- static int Polycode_Core_setCursor(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int cursorType = lua_tointeger(L, 2);
- inst->setCursor(cursorType);
- return 0;
- }
- static int Polycode_Core_warpCursor(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int x = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int y = lua_tointeger(L, 3);
- inst->warpCursor(x, y);
- return 0;
- }
- static int Polycode_Core_createThread(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Threaded* target = (Threaded*) *((PolyBase**)lua_touserdata(L, 2));
- inst->createThread(target);
- return 0;
- }
- static int Polycode_Core_lockMutex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- CoreMutex* mutex = (CoreMutex*) *((PolyBase**)lua_touserdata(L, 2));
- inst->lockMutex(mutex);
- return 0;
- }
- static int Polycode_Core_unlockMutex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- CoreMutex* mutex = (CoreMutex*) *((PolyBase**)lua_touserdata(L, 2));
- inst->unlockMutex(mutex);
- return 0;
- }
- static int Polycode_Core_createMutex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->createMutex();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Core_copyStringToClipboard(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String str = String(lua_tostring(L, 2));
- inst->copyStringToClipboard(str);
- return 0;
- }
- static int Polycode_Core_getClipboardString(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->getClipboardString().c_str());
- return 1;
- }
- static int Polycode_Core_getServices(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getServices();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Core_getFPS(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getFPS());
- return 1;
- }
- static int Polycode_Core_Shutdown(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Shutdown();
- return 0;
- }
- static int Polycode_Core_isFullscreen(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->isFullscreen());
- return 1;
- }
- static int Polycode_Core_getAALevel(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getAALevel());
- return 1;
- }
- static int Polycode_Core_getInput(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getInput();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Core_getXRes(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getXRes());
- return 1;
- }
- static int Polycode_Core_getYRes(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getYRes());
- return 1;
- }
- static int Polycode_Core_getBackingXRes(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getBackingXRes());
- return 1;
- }
- static int Polycode_Core_getBackingYRes(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getBackingYRes());
- return 1;
- }
- static int Polycode_Core_getScreenInfo(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- int* width = (int*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- int* height = (int*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- int* hz = (int*) *((PolyBase**)lua_touserdata(L, 4));
- inst->getScreenInfo(width, height, hz);
- return 0;
- }
- static int Polycode_Core_getScreenWidth(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getScreenWidth());
- return 1;
- }
- static int Polycode_Core_getScreenHeight(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getScreenHeight());
- return 1;
- }
- static int Polycode_Core_createFolder(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String folderPath = String(lua_tostring(L, 2));
- inst->createFolder(folderPath);
- return 0;
- }
- static int Polycode_Core_copyDiskItem(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String itemPath = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String destItemPath = String(lua_tostring(L, 3));
- inst->copyDiskItem(itemPath, destItemPath);
- return 0;
- }
- static int Polycode_Core_moveDiskItem(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String itemPath = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String destItemPath = String(lua_tostring(L, 3));
- inst->moveDiskItem(itemPath, destItemPath);
- return 0;
- }
- static int Polycode_Core_removeDiskItem(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String itemPath = String(lua_tostring(L, 2));
- inst->removeDiskItem(itemPath);
- return 0;
- }
- static int Polycode_Core_openFolderPicker(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->openFolderPicker().c_str());
- return 1;
- }
- static int Polycode_Core_setFramerate(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int frameRate = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int maxFixedCycles = lua_tointeger(L, 3);
- inst->setFramerate(frameRate, maxFixedCycles);
- return 0;
- }
- static int Polycode_Core_openFilePicker(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- vector<CoreFileExtension> extensions = *(vector<CoreFileExtension>*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool allowMultiple = lua_toboolean(L, 3) != 0;
- }
- static int Polycode_Core_saveFilePicker(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- vector<CoreFileExtension> extensions = *(vector<CoreFileExtension>*) *((PolyBase**)lua_touserdata(L, 2));
- lua_pushstring(L, inst->saveFilePicker(extensions).c_str());
- return 1;
- }
- static int Polycode_Core_handleVideoModeChange(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- VideoModeChangeInfo* modeInfo = (VideoModeChangeInfo*) *((PolyBase**)lua_touserdata(L, 2));
- inst->handleVideoModeChange(modeInfo);
- return 0;
- }
- static int Polycode_Core_flushRenderContext(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- inst->flushRenderContext();
- return 0;
- }
- static int Polycode_Core_prepareRenderContext(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- inst->prepareRenderContext();
- return 0;
- }
- static int Polycode_Core_openFile(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String opts = String(lua_tostring(L, 3));
- PolyBase *ptrRetVal = (PolyBase*)inst->openFile(fileName, opts);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Core_closeFile(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- CoreFile* file = (CoreFile*) *((PolyBase**)lua_touserdata(L, 2));
- inst->closeFile(file);
- return 0;
- }
- static int Polycode_Core_addFileSource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String type = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String source = String(lua_tostring(L, 3));
- inst->addFileSource(type, source);
- return 0;
- }
- static int Polycode_Core_removeFileSource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String type = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String source = String(lua_tostring(L, 3));
- inst->removeFileSource(type, source);
- return 0;
- }
- static int Polycode_Core_parseFolder(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String pathString = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool showHidden = lua_toboolean(L, 3) != 0;
- }
- static int Polycode_Core_systemParseFolder(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String pathString = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool showHidden = lua_toboolean(L, 3) != 0;
- luaL_checktype(L, 4, LUA_TUSERDATA);
- vector<OSFileEntry> targetVector = *(vector<OSFileEntry>*) *((PolyBase**)lua_touserdata(L, 4));
- lua_pushboolean(L, inst->systemParseFolder(pathString, showHidden, targetVector));
- return 1;
- }
- static int Polycode_Core_getResourcePathForFile(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- lua_pushstring(L, inst->getResourcePathForFile(fileName).c_str());
- return 1;
- }
- static int Polycode_Core_setVideoMode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int xRes = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int yRes = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool fullScreen = lua_toboolean(L, 4) != 0;
- luaL_checktype(L, 5, LUA_TBOOLEAN);
- bool vSync = lua_toboolean(L, 5) != 0;
- luaL_checktype(L, 6, LUA_TNUMBER);
- int aaLevel = lua_tointeger(L, 6);
- luaL_checktype(L, 7, LUA_TNUMBER);
- int anisotropyLevel = lua_tointeger(L, 7);
- luaL_checktype(L, 8, LUA_TBOOLEAN);
- bool retinaSupport = lua_toboolean(L, 8) != 0;
- inst->setVideoMode(xRes, yRes, fullScreen, vSync, aaLevel, anisotropyLevel, retinaSupport);
- return 0;
- }
- static int Polycode_Core_resizeTo(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int xRes = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int yRes = lua_tointeger(L, 3);
- inst->resizeTo(xRes, yRes);
- return 0;
- }
- static int Polycode_Core_doSleep(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- inst->doSleep();
- return 0;
- }
- static int Polycode_Core_openURL(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String url = String(lua_tostring(L, 2));
- inst->openURL(url);
- return 0;
- }
- static int Polycode_Core_getElapsed(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getElapsed());
- return 1;
- }
- static int Polycode_Core_getTicks(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getTicks());
- return 1;
- }
- static int Polycode_Core_getRefreshIntervalMs(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getRefreshIntervalMs());
- return 1;
- }
- static int Polycode_Core_getTimeSleptMs(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getTimeSleptMs());
- return 1;
- }
- static int Polycode_Core_getFixedTimestep(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getFixedTimestep());
- return 1;
- }
- static int Polycode_Core_getTicksFloat(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getTicksFloat());
- return 1;
- }
- static int Polycode_Core_setUserPointer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- void* ptr = (void*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setUserPointer(ptr);
- return 0;
- }
- static int Polycode_Core_getUserPointer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getUserPointer();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Core_executeExternalCommand(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String command = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String args = String(lua_tostring(L, 3));
- luaL_checktype(L, 4, LUA_TSTRING);
- String inDirectory = String(lua_tostring(L, 4));
- lua_pushstring(L, inst->executeExternalCommand(command, args, inDirectory).c_str());
- return 1;
- }
- static int Polycode_Core_getDefaultWorkingDirectory(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->getDefaultWorkingDirectory().c_str());
- return 1;
- }
- static int Polycode_Core_getUserHomeDirectory(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->getUserHomeDirectory().c_str());
- return 1;
- }
- static int Polycode_Core_makeApplicationMain(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- inst->makeApplicationMain();
- return 0;
- }
- static int Polycode_Core_getEventMutex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getEventMutex();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Core_removeThread(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Core *inst = (Core*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Threaded* thread = (Threaded*) *((PolyBase**)lua_touserdata(L, 2));
- inst->removeThread(thread);
- return 0;
- }
- static int Polycode_PolycodeViewBase(lua_State *L) {
- PolycodeViewBase *inst = new PolycodeViewBase();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.PolycodeViewBase");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_DummyCore(lua_State *L) {
- DummyCore *inst = new DummyCore();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.DummyCore");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_DummyCore_Render(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- DummyCore *inst = (DummyCore*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Render();
- return 0;
- }
- static int Polycode_DummyCore_systemUpdate(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- DummyCore *inst = (DummyCore*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->systemUpdate());
- return 1;
- }
- static int Polycode_DummyCore_setCursor(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- DummyCore *inst = (DummyCore*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int cursorType = lua_tointeger(L, 2);
- inst->setCursor(cursorType);
- return 0;
- }
- static int Polycode_DummyCore_createThread(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- DummyCore *inst = (DummyCore*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Threaded* target = (Threaded*) *((PolyBase**)lua_touserdata(L, 2));
- inst->createThread(target);
- return 0;
- }
- static int Polycode_DummyCore_createMutex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- DummyCore *inst = (DummyCore*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->createMutex();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_DummyCore_copyStringToClipboard(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- DummyCore *inst = (DummyCore*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String str = String(lua_tostring(L, 2));
- inst->copyStringToClipboard(str);
- return 0;
- }
- static int Polycode_DummyCore_getClipboardString(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- DummyCore *inst = (DummyCore*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->getClipboardString().c_str());
- return 1;
- }
- static int Polycode_DummyCore_createFolder(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- DummyCore *inst = (DummyCore*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String folderPath = String(lua_tostring(L, 2));
- inst->createFolder(folderPath);
- return 0;
- }
- static int Polycode_DummyCore_copyDiskItem(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- DummyCore *inst = (DummyCore*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String itemPath = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String destItemPath = String(lua_tostring(L, 3));
- inst->copyDiskItem(itemPath, destItemPath);
- return 0;
- }
- static int Polycode_DummyCore_moveDiskItem(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- DummyCore *inst = (DummyCore*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String itemPath = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String destItemPath = String(lua_tostring(L, 3));
- inst->moveDiskItem(itemPath, destItemPath);
- return 0;
- }
- static int Polycode_DummyCore_removeDiskItem(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- DummyCore *inst = (DummyCore*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String itemPath = String(lua_tostring(L, 2));
- inst->removeDiskItem(itemPath);
- return 0;
- }
- static int Polycode_DummyCore_openFolderPicker(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- DummyCore *inst = (DummyCore*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->openFolderPicker().c_str());
- return 1;
- }
- static int Polycode_DummyCore_openFilePicker(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- DummyCore *inst = (DummyCore*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- vector<CoreFileExtension> extensions = *(vector<CoreFileExtension>*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool allowMultiple = lua_toboolean(L, 3) != 0;
- }
- static int Polycode_DummyCore_saveFilePicker(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- DummyCore *inst = (DummyCore*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- vector<CoreFileExtension> extensions = *(vector<CoreFileExtension>*) *((PolyBase**)lua_touserdata(L, 2));
- lua_pushstring(L, inst->saveFilePicker(extensions).c_str());
- return 1;
- }
- static int Polycode_DummyCore_handleVideoModeChange(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- DummyCore *inst = (DummyCore*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- VideoModeChangeInfo* modeInfo = (VideoModeChangeInfo*) *((PolyBase**)lua_touserdata(L, 2));
- inst->handleVideoModeChange(modeInfo);
- return 0;
- }
- static int Polycode_DummyCore_flushRenderContext(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- DummyCore *inst = (DummyCore*) *((PolyBase**)lua_touserdata(L, 1));
- inst->flushRenderContext();
- return 0;
- }
- static int Polycode_DummyCore_openURL(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- DummyCore *inst = (DummyCore*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String url = String(lua_tostring(L, 2));
- inst->openURL(url);
- return 0;
- }
- static int Polycode_DummyCore_getTicks(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- DummyCore *inst = (DummyCore*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getTicks());
- return 1;
- }
- static int Polycode_DummyCore_executeExternalCommand(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- DummyCore *inst = (DummyCore*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String command = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String args = String(lua_tostring(L, 3));
- luaL_checktype(L, 4, LUA_TSTRING);
- String inDirectory = String(lua_tostring(L, 4));
- lua_pushstring(L, inst->executeExternalCommand(command, args, inDirectory).c_str());
- return 1;
- }
- static int Polycode_DummyCore_systemParseFolder(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- DummyCore *inst = (DummyCore*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String pathString = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool showHidden = lua_toboolean(L, 3) != 0;
- luaL_checktype(L, 4, LUA_TUSERDATA);
- vector<OSFileEntry> targetVector = *(vector<OSFileEntry>*) *((PolyBase**)lua_touserdata(L, 4));
- lua_pushboolean(L, inst->systemParseFolder(pathString, showHidden, targetVector));
- return 1;
- }
- static int Polycode_TimeInfo(lua_State *L) {
- TimeInfo *inst = new TimeInfo();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.TimeInfo");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_CoreMutex_lock(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreMutex *inst = (CoreMutex*) *((PolyBase**)lua_touserdata(L, 1));
- inst->lock();
- return 0;
- }
- static int Polycode_CoreMutex_unlock(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreMutex *inst = (CoreMutex*) *((PolyBase**)lua_touserdata(L, 1));
- inst->unlock();
- return 0;
- }
- static int Polycode_CoreFileExtension(lua_State *L) {
- CoreFileExtension *inst = new CoreFileExtension();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.CoreFileExtension");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_OSFileEntry(lua_State *L) {
- OSFileEntry *inst = new OSFileEntry();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.OSFileEntry");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_OSFileEntry_init(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OSFileEntry *inst = (OSFileEntry*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String path = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String name = String(lua_tostring(L, 3));
- luaL_checktype(L, 4, LUA_TNUMBER);
- int type = lua_tointeger(L, 4);
- inst->init(path, name, type);
- return 0;
- }
- static int Polycode_CoreInput(lua_State *L) {
- CoreInput *inst = new CoreInput();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.CoreInput");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_CoreInput_getMousePosition(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- Vector2 *retInst = new Vector2();
- *retInst = inst->getMousePosition();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector2");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_CoreInput_getKeyState(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- PolyKEY keyCode = (PolyKEY)lua_tointeger(L, 2);
- lua_pushboolean(L, inst->getKeyState(keyCode));
- return 1;
- }
- static int Polycode_CoreInput_getJoystickButtonState(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int joystickIndex = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int button = lua_tointeger(L, 3);
- lua_pushboolean(L, inst->getJoystickButtonState(joystickIndex, button));
- return 1;
- }
- static int Polycode_CoreInput_getJoystickAxisValue(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int joystickIndex = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int axis = lua_tointeger(L, 3);
- lua_pushnumber(L, inst->getJoystickAxisValue(joystickIndex, axis));
- return 1;
- }
- static int Polycode_CoreInput_getMouseDelta(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- Vector2 *retInst = new Vector2();
- *retInst = inst->getMouseDelta();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector2");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_CoreInput_getMouseButtonState(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int mouseButton = lua_tointeger(L, 2);
- lua_pushboolean(L, inst->getMouseButtonState(mouseButton));
- return 1;
- }
- static int Polycode_CoreInput_getNumJoysticks(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumJoysticks());
- return 1;
- }
- static int Polycode_CoreInput_getJoystickInfoByIndex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getJoystickInfoByIndex(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_CoreInput_getJoystickInfoByID(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int deviceID = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getJoystickInfoByID(deviceID);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_CoreInput_addJoystick(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int deviceID = lua_tointeger(L, 2);
- inst->addJoystick(deviceID);
- return 0;
- }
- static int Polycode_CoreInput_removeJoystick(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int deviceID = lua_tointeger(L, 2);
- inst->removeJoystick(deviceID);
- return 0;
- }
- static int Polycode_CoreInput_joystickAxisMoved(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int axisID = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number value = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int deviceID = lua_tointeger(L, 4);
- inst->joystickAxisMoved(axisID, value, deviceID);
- return 0;
- }
- static int Polycode_CoreInput_joystickButtonDown(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int buttonID = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int deviceID = lua_tointeger(L, 3);
- inst->joystickButtonDown(buttonID, deviceID);
- return 0;
- }
- static int Polycode_CoreInput_joystickButtonUp(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int buttonID = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int deviceID = lua_tointeger(L, 3);
- inst->joystickButtonUp(buttonID, deviceID);
- return 0;
- }
- static int Polycode_CoreInput_mouseWheelUp(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int ticks = lua_tointeger(L, 2);
- inst->mouseWheelUp(ticks);
- return 0;
- }
- static int Polycode_CoreInput_mouseWheelDown(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int ticks = lua_tointeger(L, 2);
- inst->mouseWheelDown(ticks);
- return 0;
- }
- static int Polycode_CoreInput_setMouseButtonState(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int mouseButton = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool state = lua_toboolean(L, 3) != 0;
- luaL_checktype(L, 4, LUA_TNUMBER);
- int ticks = lua_tointeger(L, 4);
- inst->setMouseButtonState(mouseButton, state, ticks);
- return 0;
- }
- static int Polycode_CoreInput_setMousePosition(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int x = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int y = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int ticks = lua_tointeger(L, 4);
- inst->setMousePosition(x, y, ticks);
- return 0;
- }
- static int Polycode_CoreInput_setKeyState(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- PolyKEY keyCode = (PolyKEY)lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TUSERDATA);
- wchar_t code = *(wchar_t*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool newState = lua_toboolean(L, 4) != 0;
- luaL_checktype(L, 5, LUA_TNUMBER);
- int ticks = lua_tointeger(L, 5);
- inst->setKeyState(keyCode, code, newState, ticks);
- return 0;
- }
- static int Polycode_CoreInput_setDeltaPosition(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int x = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int y = lua_tointeger(L, 3);
- inst->setDeltaPosition(x, y);
- return 0;
- }
- static int Polycode_CoreInput_touchesBegan(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- TouchInfo touch = *(TouchInfo*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- vector<TouchInfo> touches = *(vector<TouchInfo>*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TNUMBER);
- int ticks = lua_tointeger(L, 4);
- inst->touchesBegan(touch, touches, ticks);
- return 0;
- }
- static int Polycode_CoreInput_touchesMoved(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- TouchInfo touch = *(TouchInfo*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- vector<TouchInfo> touches = *(vector<TouchInfo>*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TNUMBER);
- int ticks = lua_tointeger(L, 4);
- inst->touchesMoved(touch, touches, ticks);
- return 0;
- }
- static int Polycode_CoreInput_touchesEnded(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- TouchInfo touch = *(TouchInfo*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- vector<TouchInfo> touches = *(vector<TouchInfo>*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TNUMBER);
- int ticks = lua_tointeger(L, 4);
- inst->touchesEnded(touch, touches, ticks);
- return 0;
- }
- static int Polycode_CoreInput_createEvent(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Event* event = (Event*) *((PolyBase**)lua_touserdata(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->createEvent(event);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_CoreInput_clearInput(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreInput *inst = (CoreInput*) *((PolyBase**)lua_touserdata(L, 1));
- inst->clearInput();
- return 0;
- }
- static int Polycode_JoystickInfo(lua_State *L) {
- JoystickInfo *inst = new JoystickInfo();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.JoystickInfo");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_CoreServices_getInstance(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreServices *inst = (CoreServices*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getInstance();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_CoreServices_setInstance(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreServices *inst = (CoreServices*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- CoreServices* _instance = (CoreServices*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setInstance(_instance);
- return 0;
- }
- static int Polycode_CoreServices_getRenderMutex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreServices *inst = (CoreServices*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getRenderMutex();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_CoreServices_createInstance(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreServices *inst = (CoreServices*) *((PolyBase**)lua_touserdata(L, 1));
- inst->createInstance();
- return 0;
- }
- static int Polycode_CoreServices_setRenderer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreServices *inst = (CoreServices*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Renderer* renderer = (Renderer*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setRenderer(renderer);
- return 0;
- }
- static int Polycode_CoreServices_getRenderer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreServices *inst = (CoreServices*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getRenderer();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_CoreServices_Update(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreServices *inst = (CoreServices*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int elapsed = lua_tointeger(L, 2);
- inst->Update(elapsed);
- return 0;
- }
- static int Polycode_CoreServices_fixedUpdate(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreServices *inst = (CoreServices*) *((PolyBase**)lua_touserdata(L, 1));
- inst->fixedUpdate();
- return 0;
- }
- static int Polycode_CoreServices_Render(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreServices *inst = (CoreServices*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Polycode::Rectangle viewport = *(Polycode::Rectangle*) *((PolyBase**)lua_touserdata(L, 2));
- inst->Render(viewport);
- return 0;
- }
- static int Polycode_CoreServices_setCore(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreServices *inst = (CoreServices*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Core* core = (Core*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setCore(core);
- return 0;
- }
- static int Polycode_CoreServices_getCore(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreServices *inst = (CoreServices*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getCore();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_CoreServices_getInput(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreServices *inst = (CoreServices*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getInput();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_CoreServices_getMaterialManager(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreServices *inst = (CoreServices*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getMaterialManager();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_CoreServices_getSceneManager(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreServices *inst = (CoreServices*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getSceneManager();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_CoreServices_getTimerManager(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreServices *inst = (CoreServices*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getTimerManager();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_CoreServices_getTweenManager(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreServices *inst = (CoreServices*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getTweenManager();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_CoreServices_getResourceManager(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreServices *inst = (CoreServices*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getResourceManager();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_CoreServices_getSoundManager(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreServices *inst = (CoreServices*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getSoundManager();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_CoreServices_getLogger(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreServices *inst = (CoreServices*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getLogger();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_CoreServices_getConfig(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- CoreServices *inst = (CoreServices*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getConfig();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Cubemap(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Texture* t0 = (Texture*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Texture* t1 = (Texture*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Texture* t2 = (Texture*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- Texture* t3 = (Texture*) *((PolyBase**)lua_touserdata(L, 4));
- luaL_checktype(L, 5, LUA_TUSERDATA);
- Texture* t4 = (Texture*) *((PolyBase**)lua_touserdata(L, 5));
- luaL_checktype(L, 6, LUA_TUSERDATA);
- Texture* t5 = (Texture*) *((PolyBase**)lua_touserdata(L, 6));
- Cubemap *inst = new Cubemap(t0, t1, t2, t3, t4, t5);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Cubemap");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Cubemap_getTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Cubemap *inst = (Cubemap*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getTexture(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Cubemap_setTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Cubemap *inst = (Cubemap*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Texture* texture = (Texture*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int index = lua_tointeger(L, 3);
- inst->setTexture(texture, index);
- return 0;
- }
- static int Polycode_Cubemap_recreateFromTextures(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Cubemap *inst = (Cubemap*) *((PolyBase**)lua_touserdata(L, 1));
- inst->recreateFromTextures();
- return 0;
- }
- static int Polycode_Data(lua_State *L) {
- Data *inst = new Data();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Data");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Data_loadFromFile(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Data *inst = (Data*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- lua_pushboolean(L, inst->loadFromFile(fileName));
- return 1;
- }
- static int Polycode_Data_getAsString(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Data *inst = (Data*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int encoding = lua_tointeger(L, 2);
- lua_pushstring(L, inst->getAsString(encoding).c_str());
- return 1;
- }
- static int Polycode_Data_setFromString(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Data *inst = (Data*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String str = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int encoding = lua_tointeger(L, 3);
- inst->setFromString(str, encoding);
- return 0;
- }
- static int Polycode_Data_saveToFile(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Data *inst = (Data*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- lua_pushboolean(L, inst->saveToFile(fileName));
- return 1;
- }
- static int Polycode_Data_getData(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Data *inst = (Data*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getData();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Rotation(lua_State *L) {
- Rotation *inst = new Rotation();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Rotation");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Entity(lua_State *L) {
- Entity *inst = new Entity();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Entity");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Entity_initEntity(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- inst->initEntity();
- return 0;
- }
- static int Polycode_Entity_Render(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- GPUDrawBuffer* buffer = (GPUDrawBuffer*) *((PolyBase**)lua_touserdata(L, 2));
- inst->Render(buffer);
- return 0;
- }
- static int Polycode_Entity_Update(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Update();
- return 0;
- }
- static int Polycode_Entity_fixedUpdate(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- inst->fixedUpdate();
- return 0;
- }
- static int Polycode_Entity_transformAndRender(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- GPUDrawBuffer* drawBuffer = (GPUDrawBuffer*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Polycode::Rectangle* parentScissorBox = (Polycode::Rectangle*) *((PolyBase**)lua_touserdata(L, 3));
- inst->transformAndRender(drawBuffer, parentScissorBox);
- return 0;
- }
- static int Polycode_Entity_renderChildren(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- GPUDrawBuffer* buffer = (GPUDrawBuffer*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Polycode::Rectangle* parentScissorBox = (Polycode::Rectangle*) *((PolyBase**)lua_touserdata(L, 3));
- inst->renderChildren(buffer, parentScissorBox);
- return 0;
- }
- static int Polycode_Entity_Clone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 2) != 0;
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 3) != 0;
- PolyBase *ptrRetVal = (PolyBase*)inst->Clone(deepClone, ignoreEditorOnly);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Entity_applyClone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* clone = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 3) != 0;
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 4) != 0;
- inst->applyClone(clone, deepClone, ignoreEditorOnly);
- return 0;
- }
- static int Polycode_Entity_dirtyMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->dirtyMatrix(val);
- return 0;
- }
- static int Polycode_Entity_rebuildTransformMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- inst->rebuildTransformMatrix();
- return 0;
- }
- static int Polycode_Entity_updateEntityMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- inst->updateEntityMatrix();
- return 0;
- }
- static int Polycode_Entity_getTransformMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- Matrix4 *retInst = new Matrix4();
- *retInst = inst->getTransformMatrix();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_getConcatenatedMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- Matrix4 *retInst = new Matrix4();
- *retInst = inst->getConcatenatedMatrix();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_getConcatenatedMatrixRelativeTo(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* relativeEntity = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- Matrix4 *retInst = new Matrix4();
- *retInst = inst->getConcatenatedMatrixRelativeTo(relativeEntity);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_getAnchorAdjustedMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- Matrix4 *retInst = new Matrix4();
- *retInst = inst->getAnchorAdjustedMatrix();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_getConcatenatedRollMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- Matrix4 *retInst = new Matrix4();
- *retInst = inst->getConcatenatedRollMatrix();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_setTransformByMatrixPure(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Matrix4 matrix = *(Matrix4*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setTransformByMatrixPure(matrix);
- return 0;
- }
- static int Polycode_Entity_getLookAtMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 loc = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Vector3 upVector = *(Vector3*) *((PolyBase**)lua_touserdata(L, 3));
- Matrix4 *retInst = new Matrix4();
- *retInst = inst->getLookAtMatrix(loc, upVector);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_addChild(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* newChild = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- inst->addChild(newChild);
- return 0;
- }
- static int Polycode_Entity_removeChild(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* entityToRemove = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- inst->removeChild(entityToRemove);
- return 0;
- }
- static int Polycode_Entity_moveChildUp(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* child = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- inst->moveChildUp(child);
- return 0;
- }
- static int Polycode_Entity_moveChildDown(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* child = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- inst->moveChildDown(child);
- return 0;
- }
- static int Polycode_Entity_moveChildTop(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* child = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- inst->moveChildTop(child);
- return 0;
- }
- static int Polycode_Entity_moveChildBottom(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* child = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- inst->moveChildBottom(child);
- return 0;
- }
- static int Polycode_Entity_setParentEntity(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* entity = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setParentEntity(entity);
- return 0;
- }
- static int Polycode_Entity_getParentEntity(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getParentEntity();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Entity_getNumChildren(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumChildren());
- return 1;
- }
- static int Polycode_Entity_getChildAtIndex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getChildAtIndex(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Entity_setOwnsChildrenRecursive(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->setOwnsChildrenRecursive(val);
- return 0;
- }
- static int Polycode_Entity_getPosition(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- Vector3 *retInst = new Vector3();
- *retInst = inst->getPosition();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_getPosition2D(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- Vector2 *retInst = new Vector2();
- *retInst = inst->getPosition2D();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector2");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_getCombinedPosition(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- Vector3 *retInst = new Vector3();
- *retInst = inst->getCombinedPosition();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_setPosition(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number z = lua_tonumber(L, 4);
- inst->setPosition(x, y, z);
- return 0;
- }
- static int Polycode_Entity_setPositionX(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- inst->setPositionX(x);
- return 0;
- }
- static int Polycode_Entity_setPositionY(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number y = lua_tonumber(L, 2);
- inst->setPositionY(y);
- return 0;
- }
- static int Polycode_Entity_Translate(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number z = lua_tonumber(L, 4);
- inst->Translate(x, y, z);
- return 0;
- }
- static int Polycode_Entity_setPositionZ(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number z = lua_tonumber(L, 2);
- inst->setPositionZ(z);
- return 0;
- }
- static int Polycode_Entity_setScaleX(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- inst->setScaleX(x);
- return 0;
- }
- static int Polycode_Entity_setScaleY(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number y = lua_tonumber(L, 2);
- inst->setScaleY(y);
- return 0;
- }
- static int Polycode_Entity_setScaleZ(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number z = lua_tonumber(L, 2);
- inst->setScaleZ(z);
- return 0;
- }
- static int Polycode_Entity_Scale(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number z = lua_tonumber(L, 4);
- inst->Scale(x, y, z);
- return 0;
- }
- static int Polycode_Entity_setScale(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number z = lua_tonumber(L, 4);
- inst->setScale(x, y, z);
- return 0;
- }
- static int Polycode_Entity_getCompoundScale(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- Vector3 *retInst = new Vector3();
- *retInst = inst->getCompoundScale();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_getScale(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- Vector3 *retInst = new Vector3();
- *retInst = inst->getScale();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_getRotationEuler(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- Vector3 *retInst = new Vector3();
- *retInst = inst->getRotationEuler();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_getCombinedPitch(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getCombinedPitch());
- return 1;
- }
- static int Polycode_Entity_getCombinedYaw(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getCombinedYaw());
- return 1;
- }
- static int Polycode_Entity_getCombinedRoll(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getCombinedRoll());
- return 1;
- }
- static int Polycode_Entity_rebuildRotation(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- inst->rebuildRotation();
- return 0;
- }
- static int Polycode_Entity_setRotationEuler(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 rotation = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setRotationEuler(rotation);
- return 0;
- }
- static int Polycode_Entity_setPitch(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number pitch = lua_tonumber(L, 2);
- inst->setPitch(pitch);
- return 0;
- }
- static int Polycode_Entity_setYaw(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number yaw = lua_tonumber(L, 2);
- inst->setYaw(yaw);
- return 0;
- }
- static int Polycode_Entity_setRoll(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number roll = lua_tonumber(L, 2);
- inst->setRoll(roll);
- return 0;
- }
- static int Polycode_Entity_Roll(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number roll = lua_tonumber(L, 2);
- inst->Roll(roll);
- return 0;
- }
- static int Polycode_Entity_Yaw(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number yaw = lua_tonumber(L, 2);
- inst->Yaw(yaw);
- return 0;
- }
- static int Polycode_Entity_Pitch(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number pitch = lua_tonumber(L, 2);
- inst->Pitch(pitch);
- return 0;
- }
- static int Polycode_Entity_getPitch(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getPitch());
- return 1;
- }
- static int Polycode_Entity_getYaw(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getYaw());
- return 1;
- }
- static int Polycode_Entity_getRoll(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getRoll());
- return 1;
- }
- static int Polycode_Entity_getWidth(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getWidth());
- return 1;
- }
- static int Polycode_Entity_getHeight(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getHeight());
- return 1;
- }
- static int Polycode_Entity_getDepth(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getDepth());
- return 1;
- }
- static int Polycode_Entity_setWidth(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number width = lua_tonumber(L, 2);
- inst->setWidth(width);
- return 0;
- }
- static int Polycode_Entity_setHeight(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number height = lua_tonumber(L, 2);
- inst->setHeight(height);
- return 0;
- }
- static int Polycode_Entity_setDepth(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number depth = lua_tonumber(L, 2);
- inst->setDepth(depth);
- return 0;
- }
- static int Polycode_Entity_setRotationQuat(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number w = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number x = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number y = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number z = lua_tonumber(L, 5);
- inst->setRotationQuat(w, x, y, z);
- return 0;
- }
- static int Polycode_Entity_setRotationByQuaternion(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Quaternion quaternion = *(Quaternion*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setRotationByQuaternion(quaternion);
- return 0;
- }
- static int Polycode_Entity_getRotationQuat(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- Quaternion *retInst = new Quaternion();
- *retInst = inst->getRotationQuat();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Quaternion");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_getConcatenatedQuat(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- Quaternion *retInst = new Quaternion();
- *retInst = inst->getConcatenatedQuat();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Quaternion");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_lookAt(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 loc = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Vector3 upVector = *(Vector3*) *((PolyBase**)lua_touserdata(L, 3));
- inst->lookAt(loc, upVector);
- return 0;
- }
- static int Polycode_Entity_lookAtEntity(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* entity = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Vector3 upVector = *(Vector3*) *((PolyBase**)lua_touserdata(L, 3));
- inst->lookAtEntity(entity, upVector);
- return 0;
- }
- static int Polycode_Entity_getCombinedColor(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- Color *retInst = new Color();
- *retInst = inst->getCombinedColor();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Color");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_setColor(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number r = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number g = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number b = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number a = lua_tonumber(L, 5);
- inst->setColor(r, g, b, a);
- return 0;
- }
- static int Polycode_Entity_setColorInt(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int r = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int g = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int b = lua_tointeger(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- int a = lua_tointeger(L, 5);
- inst->setColorInt(r, g, b, a);
- return 0;
- }
- static int Polycode_Entity_setAnchorPoint(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 anchorPoint = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setAnchorPoint(anchorPoint);
- return 0;
- }
- static int Polycode_Entity_getAnchorPoint(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- Vector3 *retInst = new Vector3();
- *retInst = inst->getAnchorPoint();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_onMouseDown(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Ray ray = *(Ray*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int mouseButton = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int timestamp = lua_tointeger(L, 4);
- MouseEventResult *retInst = new MouseEventResult();
- *retInst = inst->onMouseDown(ray, mouseButton, timestamp);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.MouseEventResult");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_onMouseUp(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Ray ray = *(Ray*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int mouseButton = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int timestamp = lua_tointeger(L, 4);
- MouseEventResult *retInst = new MouseEventResult();
- *retInst = inst->onMouseUp(ray, mouseButton, timestamp);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.MouseEventResult");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_onMouseMove(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Ray ray = *(Ray*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int timestamp = lua_tointeger(L, 3);
- MouseEventResult *retInst = new MouseEventResult();
- *retInst = inst->onMouseMove(ray, timestamp);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.MouseEventResult");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_onMouseWheelUp(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Ray ray = *(Ray*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int timestamp = lua_tointeger(L, 3);
- MouseEventResult *retInst = new MouseEventResult();
- *retInst = inst->onMouseWheelUp(ray, timestamp);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.MouseEventResult");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_onMouseWheelDown(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Ray ray = *(Ray*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int timestamp = lua_tointeger(L, 3);
- MouseEventResult *retInst = new MouseEventResult();
- *retInst = inst->onMouseWheelDown(ray, timestamp);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.MouseEventResult");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_setDepthOnly(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->setDepthOnly(val);
- return 0;
- }
- static int Polycode_Entity_getDepthOnly(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->getDepthOnly());
- return 1;
- }
- static int Polycode_Entity_setUserData(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- void* userData = (void*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setUserData(userData);
- return 0;
- }
- static int Polycode_Entity_getUserData(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getUserData();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Entity_setBlendingMode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int newBlendingMode = lua_tointeger(L, 2);
- inst->setBlendingMode(newBlendingMode);
- return 0;
- }
- static int Polycode_Entity_getBlendingMode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getBlendingMode());
- return 1;
- }
- static int Polycode_Entity_getEntityById(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String id = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool recursive = lua_toboolean(L, 3) != 0;
- PolyBase *ptrRetVal = (PolyBase*)inst->getEntityById(id, recursive);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Entity_getEntitiesByTag(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String tag = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool recursive = lua_toboolean(L, 3) != 0;
- }
- static int Polycode_Entity_getEntitiesByLayerID(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- char layerID = *(char*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool recursive = lua_toboolean(L, 3) != 0;
- }
- static int Polycode_Entity_getEntityProp(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String propName = String(lua_tostring(L, 2));
- lua_pushstring(L, inst->getEntityProp(propName).c_str());
- return 1;
- }
- static int Polycode_Entity_setEntityProp(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String propName = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String propValue = String(lua_tostring(L, 3));
- inst->setEntityProp(propName, propValue);
- return 0;
- }
- static int Polycode_Entity_setInverseY(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->setInverseY(val);
- return 0;
- }
- static int Polycode_Entity_getInverseY(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->getInverseY());
- return 1;
- }
- static int Polycode_Entity_doUpdates(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- inst->doUpdates();
- return 0;
- }
- static int Polycode_Entity_doFixedUpdates(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- inst->doFixedUpdates();
- return 0;
- }
- static int Polycode_Entity_buildPositionMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- Matrix4 *retInst = new Matrix4();
- *retInst = inst->buildPositionMatrix();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_setRenderer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Renderer* renderer = (Renderer*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setRenderer(renderer);
- return 0;
- }
- static int Polycode_Entity_customHitDetection(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Ray ray = *(Ray*) *((PolyBase**)lua_touserdata(L, 2));
- lua_pushboolean(L, inst->customHitDetection(ray));
- return 1;
- }
- static int Polycode_Entity_getNumTags(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumTags());
- return 1;
- }
- static int Polycode_Entity_getTagAtIndex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- lua_pushstring(L, inst->getTagAtIndex(index).c_str());
- return 1;
- }
- static int Polycode_Entity_hasTag(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String tag = String(lua_tostring(L, 2));
- lua_pushboolean(L, inst->hasTag(tag));
- return 1;
- }
- static int Polycode_Entity_clearTags(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- inst->clearTags();
- return 0;
- }
- static int Polycode_Entity_addTag(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String tag = String(lua_tostring(L, 2));
- inst->addTag(tag);
- return 0;
- }
- static int Polycode_Entity_getScreenPosition(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Matrix4 projectionMatrix = *(Matrix4*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Matrix4 cameraMatrix = *(Matrix4*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- Polycode::Rectangle viewport = *(Polycode::Rectangle*) *((PolyBase**)lua_touserdata(L, 4));
- Vector2 *retInst = new Vector2();
- *retInst = inst->getScreenPosition(projectionMatrix, cameraMatrix, viewport);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector2");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_recalculateAABBAllChildren(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- inst->recalculateAABBAllChildren();
- return 0;
- }
- static int Polycode_Entity_recalculateAABB(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- inst->recalculateAABB();
- return 0;
- }
- static int Polycode_Entity_getWorldAABB(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- AABB *retInst = new AABB();
- *retInst = inst->getWorldAABB();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.AABB");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_getLocalBoundingBox(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- Vector3 *retInst = new Vector3();
- *retInst = inst->getLocalBoundingBox();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Entity_setLocalBoundingBox(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 box = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setLocalBoundingBox(box);
- return 0;
- }
- static int Polycode_Entity_setLocalBoundingBoxX(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- inst->setLocalBoundingBoxX(x);
- return 0;
- }
- static int Polycode_Entity_setLocalBoundingBoxY(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number y = lua_tonumber(L, 2);
- inst->setLocalBoundingBoxY(y);
- return 0;
- }
- static int Polycode_Entity_setLocalBoundingBoxZ(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number z = lua_tonumber(L, 2);
- inst->setLocalBoundingBoxZ(z);
- return 0;
- }
- static int Polycode_Entity_setContainerScene(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Scene* scene = (Scene*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setContainerScene(scene);
- return 0;
- }
- static int Polycode_Entity_getContainerScene(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getContainerScene();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Entity_attachScript(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Script* script = (Script*) *((PolyBase**)lua_touserdata(L, 2));
- inst->attachScript(script);
- return 0;
- }
- static int Polycode_Entity_detachScript(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Script* script = (Script*) *((PolyBase**)lua_touserdata(L, 2));
- inst->detachScript(script);
- return 0;
- }
- static int Polycode_Entity_getNumScripts(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumScripts());
- return 1;
- }
- static int Polycode_Entity_getScriptAtIndex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity *inst = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getScriptAtIndex(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Event(lua_State *L) {
- Event *inst = new Event();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Event");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Event_getEventCode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Event *inst = (Event*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getEventCode());
- return 1;
- }
- static int Polycode_Event_getDispatcher(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Event *inst = (Event*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getDispatcher();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Event_setEventCode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Event *inst = (Event*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int eventCode = lua_tointeger(L, 2);
- inst->setEventCode(eventCode);
- return 0;
- }
- static int Polycode_Event_setDispatcher(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Event *inst = (Event*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- EventDispatcher* dispatcher = (EventDispatcher*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setDispatcher(dispatcher);
- return 0;
- }
- static int Polycode_Event_getEventType(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Event *inst = (Event*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->getEventType().c_str());
- return 1;
- }
- static int Polycode_Event_cancelEvent(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Event *inst = (Event*) *((PolyBase**)lua_touserdata(L, 1));
- inst->cancelEvent();
- return 0;
- }
- static int Polycode_EventDispatcher(lua_State *L) {
- EventDispatcher *inst = new EventDispatcher();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.EventDispatcher");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_EventDispatcher_removeAllHandlers(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- EventDispatcher *inst = (EventDispatcher*) *((PolyBase**)lua_touserdata(L, 1));
- inst->removeAllHandlers();
- return 0;
- }
- static int Polycode_EventDispatcher_removeAllHandlersForListener(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- EventDispatcher *inst = (EventDispatcher*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- EventHandler* handler = (EventHandler*) *((PolyBase**)lua_touserdata(L, 2));
- inst->removeAllHandlersForListener(handler);
- return 0;
- }
- static int Polycode_EventDispatcher_addEventListener(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- EventDispatcher *inst = (EventDispatcher*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- EventHandler* handler = (EventHandler*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int eventCode = lua_tointeger(L, 3);
- inst->addEventListener(handler, eventCode);
- return 0;
- }
- static int Polycode_EventDispatcher_addEventListenerUnique(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- EventDispatcher *inst = (EventDispatcher*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- EventHandler* handler = (EventHandler*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int eventCode = lua_tointeger(L, 3);
- inst->addEventListenerUnique(handler, eventCode);
- return 0;
- }
- static int Polycode_EventDispatcher_hasEventListener(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- EventDispatcher *inst = (EventDispatcher*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- EventHandler* handler = (EventHandler*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int eventCode = lua_tointeger(L, 3);
- lua_pushboolean(L, inst->hasEventListener(handler, eventCode));
- return 1;
- }
- static int Polycode_EventDispatcher_removeEventListener(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- EventDispatcher *inst = (EventDispatcher*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- EventHandler* handler = (EventHandler*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int eventCode = lua_tointeger(L, 3);
- inst->removeEventListener(handler, eventCode);
- return 0;
- }
- static int Polycode_EventDispatcher___dispatchEvent(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- EventDispatcher *inst = (EventDispatcher*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Event* event = (Event*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int eventCode = lua_tointeger(L, 3);
- inst->__dispatchEvent(event, eventCode);
- return 0;
- }
- static int Polycode_EventDispatcher_dispatchEvent(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- EventDispatcher *inst = (EventDispatcher*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Event* event = (Event*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int eventCode = lua_tointeger(L, 3);
- inst->dispatchEvent(event, eventCode);
- return 0;
- }
- static int Polycode_EventDispatcher_dispatchEventNoDelete(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- EventDispatcher *inst = (EventDispatcher*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Event* event = (Event*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int eventCode = lua_tointeger(L, 3);
- inst->dispatchEventNoDelete(event, eventCode);
- return 0;
- }
- static int Polycode_EventHandler(lua_State *L) {
- LuaEventHandler *inst = new LuaEventHandler();
- inst->wrapperIndex = luaL_ref(L, LUA_REGISTRYINDEX );
- inst->L = L;
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.EventHandler");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Font(lua_State *L) {
- luaL_checktype(L, 1, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- FT_Library FTLibrary = *(FT_Library*) *((PolyBase**)lua_touserdata(L, 2));
- Font *inst = new Font(fileName, FTLibrary);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Font");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Font_getFace(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Font *inst = (Font*) *((PolyBase**)lua_touserdata(L, 1));
- FT_Face *retInst = new FT_Face();
- *retInst = inst->getFace();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.FT_Face");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Font_isValid(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Font *inst = (Font*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->isValid());
- return 1;
- }
- static int Polycode_Font_setFontName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Font *inst = (Font*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fontName = String(lua_tostring(L, 2));
- inst->setFontName(fontName);
- return 0;
- }
- static int Polycode_Font_getFontName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Font *inst = (Font*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->getFontName().c_str());
- return 1;
- }
- static int Polycode_Font_getFontPath(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Font *inst = (Font*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->getFontPath().c_str());
- return 1;
- }
- static int Polycode_GPUDrawBuffer(lua_State *L) {
- GPUDrawBuffer *inst = new GPUDrawBuffer();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.GPUDrawBuffer");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Image(lua_State *L) {
- luaL_checktype(L, 1, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 1));
- Image *inst = new Image(fileName);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Image");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Image_BlankImage(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int width = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int height = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int type = lua_tointeger(L, 4);
- PolyBase *ptrRetVal = (PolyBase*)inst->BlankImage(width, height, type);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Image_loadImage(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- lua_pushboolean(L, inst->loadImage(fileName));
- return 1;
- }
- static int Polycode_Image_saveImage(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- lua_pushboolean(L, inst->saveImage(fileName));
- return 1;
- }
- static int Polycode_Image_pasteImage(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Image* image = (Image*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int x = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int y = lua_tointeger(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- int blendingMode = lua_tointeger(L, 5);
- luaL_checktype(L, 6, LUA_TNUMBER);
- Number blendAmount = lua_tonumber(L, 6);
- luaL_checktype(L, 7, LUA_TUSERDATA);
- Color blendColor = *(Color*) *((PolyBase**)lua_touserdata(L, 7));
- inst->pasteImage(image, x, y, blendingMode, blendAmount, blendColor);
- return 0;
- }
- static int Polycode_Image_createEmpty(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int width = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int height = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TUSERDATA);
- Color fillColor = *(Color*) *((PolyBase**)lua_touserdata(L, 4));
- inst->createEmpty(width, height, fillColor);
- return 0;
- }
- static int Polycode_Image_fill(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Color color = *(Color*) *((PolyBase**)lua_touserdata(L, 2));
- inst->fill(color);
- return 0;
- }
- static int Polycode_Image_setPixel(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int x = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int y = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number r = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number g = lua_tonumber(L, 5);
- luaL_checktype(L, 6, LUA_TNUMBER);
- Number b = lua_tonumber(L, 6);
- luaL_checktype(L, 7, LUA_TNUMBER);
- Number a = lua_tonumber(L, 7);
- inst->setPixel(x, y, r, g, b, a);
- return 0;
- }
- static int Polycode_Image_getPixel(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int x = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int y = lua_tointeger(L, 3);
- Color *retInst = new Color();
- *retInst = inst->getPixel(x, y);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Color");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Image_swap(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- int* v1 = (int*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- int* v2 = (int*) *((PolyBase**)lua_touserdata(L, 3));
- inst->swap(v1, v2);
- return 0;
- }
- static int Polycode_Image_drawLine(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int x0 = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int y0 = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int x1 = lua_tointeger(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- int y1 = lua_tointeger(L, 5);
- luaL_checktype(L, 6, LUA_TUSERDATA);
- Color col = *(Color*) *((PolyBase**)lua_touserdata(L, 6));
- inst->drawLine(x0, y0, x1, y1, col);
- return 0;
- }
- static int Polycode_Image_moveBrushTo(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int x = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int y = lua_tointeger(L, 3);
- inst->moveBrushTo(x, y);
- return 0;
- }
- static int Polycode_Image_moveBrush(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int x = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int y = lua_tointeger(L, 3);
- inst->moveBrush(x, y);
- return 0;
- }
- static int Polycode_Image_drawLineTo(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int x = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int y = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TUSERDATA);
- Color col = *(Color*) *((PolyBase**)lua_touserdata(L, 4));
- inst->drawLineTo(x, y, col);
- return 0;
- }
- static int Polycode_Image_fillRect(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int x = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int y = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int w = lua_tointeger(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- int h = lua_tointeger(L, 5);
- luaL_checktype(L, 6, LUA_TUSERDATA);
- Color col = *(Color*) *((PolyBase**)lua_touserdata(L, 6));
- inst->fillRect(x, y, w, h, col);
- return 0;
- }
- static int Polycode_Image_perlinNoise(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int seed = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool alpha = lua_toboolean(L, 3) != 0;
- inst->perlinNoise(seed, alpha);
- return 0;
- }
- static int Polycode_Image_fastBlur(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int blurSize = lua_tointeger(L, 2);
- inst->fastBlur(blurSize);
- return 0;
- }
- static int Polycode_Image_fastBlurVert(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int blurSize = lua_tointeger(L, 2);
- inst->fastBlurVert(blurSize);
- return 0;
- }
- static int Polycode_Image_fastBlurHor(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int blurSize = lua_tointeger(L, 2);
- inst->fastBlurHor(blurSize);
- return 0;
- }
- static int Polycode_Image_getPixelsInRect(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int x = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int y = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int width = lua_tointeger(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- int height = lua_tointeger(L, 5);
- PolyBase *ptrRetVal = (PolyBase*)inst->getPixelsInRect(x, y, width, height);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Image_getImagePart(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Polycode::Rectangle subRect = *(Polycode::Rectangle*) *((PolyBase**)lua_touserdata(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->getImagePart(subRect);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Image_getBrushX(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getBrushX());
- return 1;
- }
- static int Polycode_Image_getBrushY(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getBrushY());
- return 1;
- }
- static int Polycode_Image_isLoaded(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->isLoaded());
- return 1;
- }
- static int Polycode_Image_getType(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getType());
- return 1;
- }
- static int Polycode_Image_getWidth(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getWidth());
- return 1;
- }
- static int Polycode_Image_getHeight(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getHeight());
- return 1;
- }
- static int Polycode_Image_getPixels(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getPixels();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Image_premultiplyAlpha(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- inst->premultiplyAlpha();
- return 0;
- }
- static int Polycode_Image_savePNG(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Image *inst = (Image*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- lua_pushboolean(L, inst->savePNG(fileName));
- return 1;
- }
- static int Polycode_TouchInfo(lua_State *L) {
- TouchInfo *inst = new TouchInfo();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.TouchInfo");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_InputEvent(lua_State *L) {
- InputEvent *inst = new InputEvent();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.InputEvent");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_InputEvent_getMousePosition(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- InputEvent *inst = (InputEvent*) *((PolyBase**)lua_touserdata(L, 1));
- Vector2 *retInst = new Vector2();
- *retInst = inst->getMousePosition();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector2");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_InputEvent_getKey(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- InputEvent *inst = (InputEvent*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getKey());
- return 1;
- }
- static int Polycode_InputEvent_getMouseButton(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- InputEvent *inst = (InputEvent*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getMouseButton());
- return 1;
- }
- static int Polycode_InputEvent_getCharCode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- InputEvent *inst = (InputEvent*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getCharCode());
- return 1;
- }
- static int Polycode_InputEvent_keyCode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- InputEvent *inst = (InputEvent*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->keyCode());
- return 1;
- }
- static int Polycode_GlyphData(lua_State *L) {
- GlyphData *inst = new GlyphData();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.GlyphData");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_GlyphData_clearData(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- GlyphData *inst = (GlyphData*) *((PolyBase**)lua_touserdata(L, 1));
- inst->clearData();
- return 0;
- }
- static int Polycode_ColorRange(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Color color = *(Color*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int rangeStart = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int rangeEnd = lua_tointeger(L, 3);
- ColorRange *inst = new ColorRange(color, rangeStart, rangeEnd);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.ColorRange");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Label(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Font* font = (Font*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String text = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int size = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int antiAliasMode = lua_tointeger(L, 4);
- luaL_checktype(L, 5, LUA_TBOOLEAN);
- bool premultiplyAlpha = lua_toboolean(L, 5) != 0;
- luaL_checktype(L, 6, LUA_TUSERDATA);
- Color backgroundColor = *(Color*) *((PolyBase**)lua_touserdata(L, 6));
- luaL_checktype(L, 7, LUA_TUSERDATA);
- Color foregroundColor = *(Color*) *((PolyBase**)lua_touserdata(L, 7));
- Label *inst = new Label(font, text, size, antiAliasMode, premultiplyAlpha, backgroundColor, foregroundColor);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Label");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Label_setText(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String text = String(lua_tostring(L, 2));
- inst->setText(text);
- return 0;
- }
- static int Polycode_Label_getText(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->getText().c_str());
- return 1;
- }
- static int Polycode_Label_getTextWidthForString(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String text = String(lua_tostring(L, 2));
- lua_pushinteger(L, inst->getTextWidthForString(text));
- return 1;
- }
- static int Polycode_Label_getTextHeightForString(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String text = String(lua_tostring(L, 2));
- lua_pushinteger(L, inst->getTextHeightForString(text));
- return 1;
- }
- static int Polycode_Label_getTextWidth(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getTextWidth());
- return 1;
- }
- static int Polycode_Label_getTextHeight(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getTextHeight());
- return 1;
- }
- static int Polycode_Label_setColorForRange(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Color color = *(Color*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int rangeStart = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int rangeEnd = lua_tointeger(L, 4);
- inst->setColorForRange(color, rangeStart, rangeEnd);
- return 0;
- }
- static int Polycode_Label_clearColors(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- inst->clearColors();
- return 0;
- }
- static int Polycode_Label_getColorForIndex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- Color *retInst = new Color();
- *retInst = inst->getColorForIndex(index);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Color");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Label_getPremultiplyAlpha(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->getPremultiplyAlpha());
- return 1;
- }
- static int Polycode_Label_setPremultiplyAlpha(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->setPremultiplyAlpha(val);
- return 0;
- }
- static int Polycode_Label_setFont(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Font* newFont = (Font*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setFont(newFont);
- return 0;
- }
- static int Polycode_Label_getFont(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getFont();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Label_setSize(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int newSize = lua_tointeger(L, 2);
- inst->setSize(newSize);
- return 0;
- }
- static int Polycode_Label_getSize(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getSize());
- return 1;
- }
- static int Polycode_Label_getAntialiasMode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getAntialiasMode());
- return 1;
- }
- static int Polycode_Label_setAntialiasMode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int newMode = lua_tointeger(L, 2);
- inst->setAntialiasMode(newMode);
- return 0;
- }
- static int Polycode_Label_getBaselineAdjust(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getBaselineAdjust());
- return 1;
- }
- static int Polycode_Label_setBackgroundColor(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Color color = *(Color*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setBackgroundColor(color);
- return 0;
- }
- static int Polycode_Label_setForegroundColor(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Color color = *(Color*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setForegroundColor(color);
- return 0;
- }
- static int Polycode_Label_setColors(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Color backgroundColor = *(Color*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Color foregroundColor = *(Color*) *((PolyBase**)lua_touserdata(L, 3));
- inst->setColors(backgroundColor, foregroundColor);
- return 0;
- }
- static int Polycode_Label_getBackgroundColor(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- Color *retInst = new Color();
- *retInst = inst->getBackgroundColor();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Color");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Label_getForegroundColor(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- Color *retInst = new Color();
- *retInst = inst->getForegroundColor();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Color");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Label_optionsChanged(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Label *inst = (Label*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->optionsChanged());
- return 1;
- }
- static int Polycode_Material(lua_State *L) {
- luaL_checktype(L, 1, LUA_TSTRING);
- String name = String(lua_tostring(L, 1));
- Material *inst = new Material(name);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Material");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Material_addShaderPass(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Material *inst = (Material*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ShaderPass pass = *(ShaderPass*) *((PolyBase**)lua_touserdata(L, 2));
- inst->addShaderPass(pass);
- return 0;
- }
- static int Polycode_Material_addShaderPassAtIndex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Material *inst = (Material*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ShaderPass pass = *(ShaderPass*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int shaderIndex = lua_tointeger(L, 3);
- inst->addShaderPassAtIndex(pass, shaderIndex);
- return 0;
- }
- static int Polycode_Material_addShader(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Material *inst = (Material*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Shader* shader = (Shader*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- ShaderBinding* shaderBinding = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 3));
- inst->addShader(shader, shaderBinding);
- return 0;
- }
- static int Polycode_Material_addShaderAtIndex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Material *inst = (Material*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Shader* shader = (Shader*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- ShaderBinding* shaderBinding = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TNUMBER);
- int shaderIndex = lua_tointeger(L, 4);
- inst->addShaderAtIndex(shader, shaderBinding, shaderIndex);
- return 0;
- }
- static int Polycode_Material_getNumShaderPasses(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Material *inst = (Material*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumShaderPasses());
- return 1;
- }
- static int Polycode_Material_removeShaderPass(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Material *inst = (Material*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int shaderIndex = lua_tointeger(L, 2);
- inst->removeShaderPass(shaderIndex);
- return 0;
- }
- static int Polycode_Material_recreateExpectedShaderParams(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Material *inst = (Material*) *((PolyBase**)lua_touserdata(L, 1));
- inst->recreateExpectedShaderParams();
- return 0;
- }
- static int Polycode_Material_addShaderRenderTarget(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Material *inst = (Material*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ShaderRenderTarget* newTarget = (ShaderRenderTarget*) *((PolyBase**)lua_touserdata(L, 2));
- inst->addShaderRenderTarget(newTarget);
- return 0;
- }
- static int Polycode_Material_getNumShaderRenderTargets(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Material *inst = (Material*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumShaderRenderTargets());
- return 1;
- }
- static int Polycode_Material_getShaderRenderTarget(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Material *inst = (Material*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getShaderRenderTarget(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Material_removeShaderRenderTarget(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Material *inst = (Material*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- inst->removeShaderRenderTarget(index);
- return 0;
- }
- static int Polycode_Material_recreateRenderTarget(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Material *inst = (Material*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ShaderRenderTarget* renderTarget = (ShaderRenderTarget*) *((PolyBase**)lua_touserdata(L, 2));
- inst->recreateRenderTarget(renderTarget);
- return 0;
- }
- static int Polycode_Material_recreateRenderTargets(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Material *inst = (Material*) *((PolyBase**)lua_touserdata(L, 1));
- inst->recreateRenderTargets();
- return 0;
- }
- static int Polycode_Material_getName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Material *inst = (Material*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->getName().c_str());
- return 1;
- }
- static int Polycode_Material_getShaderPass(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Material *inst = (Material*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- ShaderPass *retInst = new ShaderPass();
- *retInst = inst->getShaderPass(index);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.ShaderPass");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Material_getShaderBinding(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Material *inst = (Material*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getShaderBinding(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Material_getShader(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Material *inst = (Material*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getShader(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Material_loadMaterial(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Material *inst = (Material*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- inst->loadMaterial(fileName);
- return 0;
- }
- static int Polycode_Material_setName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Material *inst = (Material*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- inst->setName(name);
- return 0;
- }
- static int Polycode_Material_clearShaders(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Material *inst = (Material*) *((PolyBase**)lua_touserdata(L, 1));
- inst->clearShaders();
- return 0;
- }
- static int Polycode_ShaderPass(lua_State *L) {
- ShaderPass *inst = new ShaderPass();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.ShaderPass");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_ShaderPass_setAttributeArraysFromMesh(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderPass *inst = (ShaderPass*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Mesh* mesh = (Mesh*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setAttributeArraysFromMesh(mesh);
- return 0;
- }
- static int Polycode_ShaderPass_setExpectedAttributes(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderPass *inst = (ShaderPass*) *((PolyBase**)lua_touserdata(L, 1));
- inst->setExpectedAttributes();
- return 0;
- }
- static int Polycode_ShaderPass_arrayToAttributeName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderPass *inst = (ShaderPass*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- VertexDataArray* array = (VertexDataArray*) *((PolyBase**)lua_touserdata(L, 2));
- lua_pushstring(L, inst->arrayToAttributeName(array).c_str());
- return 1;
- }
- static int Polycode_MaterialManager(lua_State *L) {
- MaterialManager *inst = new MaterialManager();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.MaterialManager");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_MaterialManager_Update(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int elapsed = lua_tointeger(L, 2);
- inst->Update(elapsed);
- return 0;
- }
- static int Polycode_MaterialManager_createTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int width = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int height = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TUSERDATA);
- char* imageData = (char*) *((PolyBase**)lua_touserdata(L, 4));
- luaL_checktype(L, 5, LUA_TBOOLEAN);
- bool clamp = lua_toboolean(L, 5) != 0;
- luaL_checktype(L, 6, LUA_TBOOLEAN);
- bool createMipmaps = lua_toboolean(L, 6) != 0;
- luaL_checktype(L, 7, LUA_TNUMBER);
- int type = lua_tointeger(L, 7);
- PolyBase *ptrRetVal = (PolyBase*)inst->createTexture(width, height, imageData, clamp, createMipmaps, type);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_MaterialManager_createNewTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int width = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int height = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool clamp = lua_toboolean(L, 4) != 0;
- luaL_checktype(L, 5, LUA_TBOOLEAN);
- bool createMipmaps = lua_toboolean(L, 5) != 0;
- luaL_checktype(L, 6, LUA_TNUMBER);
- int type = lua_tointeger(L, 6);
- PolyBase *ptrRetVal = (PolyBase*)inst->createNewTexture(width, height, clamp, createMipmaps, type);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_MaterialManager_createTextureFromImage(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Image* image = (Image*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool clamp = lua_toboolean(L, 3) != 0;
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool createMipmaps = lua_toboolean(L, 4) != 0;
- PolyBase *ptrRetVal = (PolyBase*)inst->createTextureFromImage(image, clamp, createMipmaps);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_MaterialManager_createTextureFromFile(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool clamp = lua_toboolean(L, 3) != 0;
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool createMipmaps = lua_toboolean(L, 4) != 0;
- luaL_checktype(L, 5, LUA_TUSERDATA);
- ResourcePool* resourcePool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 5));
- PolyBase *ptrRetVal = (PolyBase*)inst->createTextureFromFile(fileName, clamp, createMipmaps, resourcePool);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_MaterialManager_deleteTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Texture* texture = (Texture*) *((PolyBase**)lua_touserdata(L, 2));
- inst->deleteTexture(texture);
- return 0;
- }
- static int Polycode_MaterialManager_reloadTextures(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- inst->reloadTextures();
- return 0;
- }
- static int Polycode_MaterialManager_reloadProgramsAndTextures(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- inst->reloadProgramsAndTextures();
- return 0;
- }
- static int Polycode_MaterialManager_reloadPrograms(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- inst->reloadPrograms();
- return 0;
- }
- static int Polycode_MaterialManager_getTextureByResourcePath(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String resourcePath = String(lua_tostring(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->getTextureByResourcePath(resourcePath);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_MaterialManager_createProgramFromFile(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String programPath = String(lua_tostring(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->createProgramFromFile(programPath);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_MaterialManager_loadMaterialLibraryIntoPool(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ResourcePool* pool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String materialFile = String(lua_tostring(L, 3));
- inst->loadMaterialLibraryIntoPool(pool, materialFile);
- return 0;
- }
- static int Polycode_MaterialManager_cubemapFromXMLNode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- TiXmlNode* node = (TiXmlNode*) *((PolyBase**)lua_touserdata(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->cubemapFromXMLNode(node);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_MaterialManager_materialFromXMLNode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ResourcePool* resourcePool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- TiXmlNode* node = (TiXmlNode*) *((PolyBase**)lua_touserdata(L, 3));
- PolyBase *ptrRetVal = (PolyBase*)inst->materialFromXMLNode(resourcePool, node);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_MaterialManager_createMaterial(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ResourcePool* resourcePool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String materialName = String(lua_tostring(L, 3));
- luaL_checktype(L, 4, LUA_TSTRING);
- String shaderName = String(lua_tostring(L, 4));
- PolyBase *ptrRetVal = (PolyBase*)inst->createMaterial(resourcePool, materialName, shaderName);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_MaterialManager_setShaderFromXMLNode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ResourcePool* resourcePool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- TiXmlNode* node = (TiXmlNode*) *((PolyBase**)lua_touserdata(L, 3));
- PolyBase *ptrRetVal = (PolyBase*)inst->setShaderFromXMLNode(resourcePool, node);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_MaterialManager_createShaderFromXMLNode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ResourcePool* resourcePool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- TiXmlNode* node = (TiXmlNode*) *((PolyBase**)lua_touserdata(L, 3));
- PolyBase *ptrRetVal = (PolyBase*)inst->createShaderFromXMLNode(resourcePool, node);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_MaterialManager_createShader(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ResourcePool* resourcePool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String shaderType = String(lua_tostring(L, 3));
- luaL_checktype(L, 4, LUA_TSTRING);
- String name = String(lua_tostring(L, 4));
- luaL_checktype(L, 5, LUA_TSTRING);
- String vpName = String(lua_tostring(L, 5));
- luaL_checktype(L, 6, LUA_TSTRING);
- String fpName = String(lua_tostring(L, 6));
- luaL_checktype(L, 7, LUA_TBOOLEAN);
- bool screenShader = lua_toboolean(L, 7) != 0;
- PolyBase *ptrRetVal = (PolyBase*)inst->createShader(resourcePool, shaderType, name, vpName, fpName, screenShader);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_MaterialManager_loadMaterialsFromFile(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ResourcePool* resourcePool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 3));
- }
- static int Polycode_MaterialManager_loadShadersFromFile(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ResourcePool* resourcePool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 3));
- }
- static int Polycode_MaterialManager_loadCubemapsFromFile(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- }
- static int Polycode_MaterialManager_setAnisotropyAmount(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int anisotropy = lua_tointeger(L, 2);
- inst->setAnisotropyAmount(anisotropy);
- return 0;
- }
- static int Polycode_MaterialManager_setTextureFilteringMode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int textureFilteringMode = lua_tointeger(L, 2);
- inst->setTextureFilteringMode(textureFilteringMode);
- return 0;
- }
- static int Polycode_MaterialManager_getTextureFilteringMode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getTextureFilteringMode());
- return 1;
- }
- static int Polycode_MaterialManager_addMaterial(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Material* material = (Material*) *((PolyBase**)lua_touserdata(L, 2));
- inst->addMaterial(material);
- return 0;
- }
- static int Polycode_MaterialManager_addShader(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Shader* shader = (Shader*) *((PolyBase**)lua_touserdata(L, 2));
- inst->addShader(shader);
- return 0;
- }
- static int Polycode_MaterialManager_getNumShaders(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumShaders());
- return 1;
- }
- static int Polycode_MaterialManager_getShaderByIndex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialManager *inst = (MaterialManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getShaderByIndex(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Matrix4(lua_State *L) {
- Matrix4 *inst = new Matrix4();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Matrix4_identity(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Matrix4 *inst = (Matrix4*) *((PolyBase**)lua_touserdata(L, 1));
- inst->identity();
- return 0;
- }
- static int Polycode_Matrix4_rotateVector(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Matrix4 *inst = (Matrix4*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 v2 = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- Vector3 *retInst = new Vector3();
- *retInst = inst->rotateVector(v2);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Matrix4_getPosition(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Matrix4 *inst = (Matrix4*) *((PolyBase**)lua_touserdata(L, 1));
- Vector3 *retInst = new Vector3();
- *retInst = inst->getPosition();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Matrix4_multiplyWithPerspective(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Matrix4 *inst = (Matrix4*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 v2 = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- Vector3 *retInst = new Vector3();
- *retInst = inst->multiplyWithPerspective(v2);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Matrix4_multVector3(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Matrix4 *inst = (Matrix4*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 v2 = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- Vector3 *retInst = new Vector3();
- *retInst = inst->multVector3(v2);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Matrix4_multVector4(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Matrix4 *inst = (Matrix4*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector4 v2 = *(Vector4*) *((PolyBase**)lua_touserdata(L, 2));
- Vector4 *retInst = new Vector4();
- *retInst = inst->multVector4(v2);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Matrix4_Translate(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Matrix4 *inst = (Matrix4*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number z = lua_tonumber(L, 4);
- inst->Translate(x, y, z);
- return 0;
- }
- static int Polycode_Matrix4_setPosition(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Matrix4 *inst = (Matrix4*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number z = lua_tonumber(L, 4);
- inst->setPosition(x, y, z);
- return 0;
- }
- static int Polycode_Matrix4_setScale(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Matrix4 *inst = (Matrix4*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 scale = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setScale(scale);
- return 0;
- }
- static int Polycode_Matrix4_getEulerAngles(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Matrix4 *inst = (Matrix4*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Number* ax = (Number*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Number* ay = (Number*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- Number* az = (Number*) *((PolyBase**)lua_touserdata(L, 4));
- inst->getEulerAngles(ax, ay, az);
- return 0;
- }
- static int Polycode_Matrix4_transpose(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Matrix4 *inst = (Matrix4*) *((PolyBase**)lua_touserdata(L, 1));
- Matrix4 *retInst = new Matrix4();
- *retInst = inst->transpose();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Matrix4_Inverse(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Matrix4 *inst = (Matrix4*) *((PolyBase**)lua_touserdata(L, 1));
- Matrix4 *retInst = new Matrix4();
- *retInst = inst->Inverse();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Matrix4_inverseAffine(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Matrix4 *inst = (Matrix4*) *((PolyBase**)lua_touserdata(L, 1));
- Matrix4 *retInst = new Matrix4();
- *retInst = inst->inverseAffine();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Matrix4_determinant(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Matrix4 *inst = (Matrix4*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->determinant());
- return 1;
- }
- static int Polycode_Matrix4_generalDeterminant(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Matrix4 *inst = (Matrix4*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Number** a = (Number**) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int n = lua_tointeger(L, 3);
- lua_pushnumber(L, inst->generalDeterminant(a, n));
- return 1;
- }
- static int Polycode_Matrix4_setOrthoProjection(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Matrix4 *inst = (Matrix4*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number left = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number right = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number bottom = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number top = lua_tonumber(L, 5);
- luaL_checktype(L, 6, LUA_TNUMBER);
- Number zNear = lua_tonumber(L, 6);
- luaL_checktype(L, 7, LUA_TNUMBER);
- Number zFar = lua_tonumber(L, 7);
- inst->setOrthoProjection(left, right, bottom, top, zNear, zFar);
- return 0;
- }
- static int Polycode_Matrix4_setProjectionFrustum(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Matrix4 *inst = (Matrix4*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number left = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number right = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number bottom = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number top = lua_tonumber(L, 5);
- luaL_checktype(L, 6, LUA_TNUMBER);
- Number zNear = lua_tonumber(L, 6);
- luaL_checktype(L, 7, LUA_TNUMBER);
- Number zFar = lua_tonumber(L, 7);
- inst->setProjectionFrustum(left, right, bottom, top, zNear, zFar);
- return 0;
- }
- static int Polycode_Matrix4_setProjection(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Matrix4 *inst = (Matrix4*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number fov = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number aspect = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number zNear = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number zFar = lua_tonumber(L, 5);
- inst->setProjection(fov, aspect, zNear, zFar);
- return 0;
- }
- static int Polycode_Mesh(lua_State *L) {
- luaL_checktype(L, 1, LUA_TNUMBER);
- int meshType = lua_tointeger(L, 1);
- Mesh *inst = new Mesh(meshType);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Mesh");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Mesh_MeshFromFileName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->MeshFromFileName(fileName);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Mesh_loadMesh(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- inst->loadMesh(fileName);
- return 0;
- }
- static int Polycode_Mesh_clearMesh(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- inst->clearMesh();
- return 0;
- }
- static int Polycode_Mesh_saveToFile(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool writeNormals = lua_toboolean(L, 3) != 0;
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool writeTangents = lua_toboolean(L, 4) != 0;
- luaL_checktype(L, 5, LUA_TBOOLEAN);
- bool writeColors = lua_toboolean(L, 5) != 0;
- luaL_checktype(L, 6, LUA_TBOOLEAN);
- bool writeBoneWeights = lua_toboolean(L, 6) != 0;
- luaL_checktype(L, 7, LUA_TBOOLEAN);
- bool writeUVs = lua_toboolean(L, 7) != 0;
- luaL_checktype(L, 8, LUA_TBOOLEAN);
- bool writeSecondaryUVs = lua_toboolean(L, 8) != 0;
- inst->saveToFile(fileName, writeNormals, writeTangents, writeColors, writeBoneWeights, writeUVs, writeSecondaryUVs);
- return 0;
- }
- static int Polycode_Mesh_loadFromFile(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- CoreFile* inFile = (CoreFile*) *((PolyBase**)lua_touserdata(L, 2));
- inst->loadFromFile(inFile);
- return 0;
- }
- static int Polycode_Mesh_getVertexCount(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getVertexCount());
- return 1;
- }
- static int Polycode_Mesh_createPlane(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number w = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number h = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number tilingValue = lua_tonumber(L, 4);
- inst->createPlane(w, h, tilingValue);
- return 0;
- }
- static int Polycode_Mesh_createVPlane(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number w = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number h = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number tilingValue = lua_tonumber(L, 4);
- inst->createVPlane(w, h, tilingValue);
- return 0;
- }
- static int Polycode_Mesh_createCircle(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number w = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number h = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int numSegments = lua_tointeger(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number tilingValue = lua_tonumber(L, 5);
- inst->createCircle(w, h, numSegments, tilingValue);
- return 0;
- }
- static int Polycode_Mesh_createLineCircle(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number w = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number h = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int numSegments = lua_tointeger(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number tilingValue = lua_tonumber(L, 5);
- inst->createLineCircle(w, h, numSegments, tilingValue);
- return 0;
- }
- static int Polycode_Mesh_createTorus(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number radius = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number tubeRadius = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int segmentsW = lua_tointeger(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- int segmentsH = lua_tointeger(L, 5);
- luaL_checktype(L, 6, LUA_TNUMBER);
- Number tilingValue = lua_tonumber(L, 6);
- inst->createTorus(radius, tubeRadius, segmentsW, segmentsH, tilingValue);
- return 0;
- }
- static int Polycode_Mesh_createBox(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number w = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number d = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number h = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number tilingValue = lua_tonumber(L, 5);
- inst->createBox(w, d, h, tilingValue);
- return 0;
- }
- static int Polycode_Mesh_createSphere(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number radius = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int numRings = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int numSegments = lua_tointeger(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number tilingValue = lua_tonumber(L, 5);
- inst->createSphere(radius, numRings, numSegments, tilingValue);
- return 0;
- }
- static int Polycode_Mesh_createIcosphere(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number radius = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int subdivisions = lua_tointeger(L, 3);
- inst->createIcosphere(radius, subdivisions);
- return 0;
- }
- static int Polycode_Mesh_createOctosphere(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number radius = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int subdivisions = lua_tointeger(L, 3);
- inst->createOctosphere(radius, subdivisions);
- return 0;
- }
- static int Polycode_Mesh_createCylinder(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number height = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number radius = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int numSegments = lua_tointeger(L, 4);
- luaL_checktype(L, 5, LUA_TBOOLEAN);
- bool capped = lua_toboolean(L, 5) != 0;
- luaL_checktype(L, 6, LUA_TNUMBER);
- Number tilingValue = lua_tonumber(L, 6);
- inst->createCylinder(height, radius, numSegments, capped, tilingValue);
- return 0;
- }
- static int Polycode_Mesh_createCone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number height = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number radius = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int numSegments = lua_tointeger(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number tilingValue = lua_tonumber(L, 5);
- inst->createCone(height, radius, numSegments, tilingValue);
- return 0;
- }
- static int Polycode_Mesh_recenterMesh(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- Vector3 *retInst = new Vector3();
- *retInst = inst->recenterMesh();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Mesh_setVertexAtOffset(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int offset = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number x = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number y = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number z = lua_tonumber(L, 5);
- inst->setVertexAtOffset(offset, x, y, z);
- return 0;
- }
- static int Polycode_Mesh_addVertexWithUVAndNormal(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number z = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number u = lua_tonumber(L, 5);
- luaL_checktype(L, 6, LUA_TNUMBER);
- Number v = lua_tonumber(L, 6);
- luaL_checktype(L, 7, LUA_TNUMBER);
- Number nx = lua_tonumber(L, 7);
- luaL_checktype(L, 8, LUA_TNUMBER);
- Number ny = lua_tonumber(L, 8);
- luaL_checktype(L, 9, LUA_TNUMBER);
- Number nz = lua_tonumber(L, 9);
- inst->addVertexWithUVAndNormal(x, y, z, u, v, nx, ny, nz);
- return 0;
- }
- static int Polycode_Mesh_addTexCoord(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number u = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number v = lua_tonumber(L, 3);
- inst->addTexCoord(u, v);
- return 0;
- }
- static int Polycode_Mesh_addTexCoord2(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number u = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number v = lua_tonumber(L, 3);
- inst->addTexCoord2(u, v);
- return 0;
- }
- static int Polycode_Mesh_addTangent(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number z = lua_tonumber(L, 4);
- inst->addTangent(x, y, z);
- return 0;
- }
- static int Polycode_Mesh_addVertexWithUV(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number z = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number u = lua_tonumber(L, 5);
- luaL_checktype(L, 6, LUA_TNUMBER);
- Number v = lua_tonumber(L, 6);
- inst->addVertexWithUV(x, y, z, u, v);
- return 0;
- }
- static int Polycode_Mesh_addVertex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number z = lua_tonumber(L, 4);
- inst->addVertex(x, y, z);
- return 0;
- }
- static int Polycode_Mesh_addNormal(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number nx = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number ny = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number nz = lua_tonumber(L, 4);
- inst->addNormal(nx, ny, nz);
- return 0;
- }
- static int Polycode_Mesh_addBoneAssignments(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number b1Weight = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int b1Index = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number b2Weight = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- int b2Index = lua_tointeger(L, 5);
- luaL_checktype(L, 6, LUA_TNUMBER);
- Number b3Weight = lua_tonumber(L, 6);
- luaL_checktype(L, 7, LUA_TNUMBER);
- int b3Index = lua_tointeger(L, 7);
- luaL_checktype(L, 8, LUA_TNUMBER);
- Number b4Weight = lua_tonumber(L, 8);
- luaL_checktype(L, 9, LUA_TNUMBER);
- int b4Index = lua_tointeger(L, 9);
- inst->addBoneAssignments(b1Weight, b1Index, b2Weight, b2Index, b3Weight, b3Index, b4Weight, b4Index);
- return 0;
- }
- static int Polycode_Mesh_addColor(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number r = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number g = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number b = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number a = lua_tonumber(L, 5);
- inst->addColor(r, g, b, a);
- return 0;
- }
- static int Polycode_Mesh_getVertexPosition(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int vertexOffset = lua_tointeger(L, 2);
- Vector3 *retInst = new Vector3();
- *retInst = inst->getVertexPosition(vertexOffset);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Mesh_getVertexPositionAtIndex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- Vector3 *retInst = new Vector3();
- *retInst = inst->getVertexPositionAtIndex(index);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Mesh_getVertexTexCoord(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int vertexOffset = lua_tointeger(L, 2);
- Vector2 *retInst = new Vector2();
- *retInst = inst->getVertexTexCoord(vertexOffset);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector2");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Mesh_getVertexTexCoordAtIndex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- Vector2 *retInst = new Vector2();
- *retInst = inst->getVertexTexCoordAtIndex(index);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector2");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Mesh_Copy(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->Copy();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Mesh_getRadius(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getRadius());
- return 1;
- }
- static int Polycode_Mesh_calculateNormals(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- inst->calculateNormals();
- return 0;
- }
- static int Polycode_Mesh_calculateTangents(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- inst->calculateTangents();
- return 0;
- }
- static int Polycode_Mesh_getMeshType(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getMeshType());
- return 1;
- }
- static int Polycode_Mesh_setMeshType(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int newType = lua_tointeger(L, 2);
- inst->setMeshType(newType);
- return 0;
- }
- static int Polycode_Mesh_getIndexGroupSize(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getIndexGroupSize());
- return 1;
- }
- static int Polycode_Mesh_calculateBBox(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- Vector3 *retInst = new Vector3();
- *retInst = inst->calculateBBox();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Mesh_hasVertexBuffer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->hasVertexBuffer());
- return 1;
- }
- static int Polycode_Mesh_addIndexedFace(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int i1 = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int i2 = lua_tointeger(L, 3);
- inst->addIndexedFace(i1, i2);
- return 0;
- }
- static int Polycode_Mesh_addIndex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- inst->addIndex(index);
- return 0;
- }
- static int Polycode_Mesh_removeVertexRange(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int beginRemoveVertex = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int vertexRemovalCount = lua_tointeger(L, 3);
- inst->removeVertexRange(beginRemoveVertex, vertexRemovalCount);
- return 0;
- }
- static int Polycode_Mesh_removeFace(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int faceIndex = lua_tointeger(L, 2);
- inst->removeFace(faceIndex);
- return 0;
- }
- static int Polycode_Mesh_removeUnusedVertices(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->removeUnusedVertices());
- return 1;
- }
- static int Polycode_Mesh_getIndexCount(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getIndexCount());
- return 1;
- }
- static int Polycode_Mesh_subdivideToRadius(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number radius = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int subdivisions = lua_tointeger(L, 3);
- inst->subdivideToRadius(radius, subdivisions);
- return 0;
- }
- static int Polycode_Mesh_calculateFaceTangent(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 v1 = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Vector3 v2 = *(Vector3*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- Vector3 v3 = *(Vector3*) *((PolyBase**)lua_touserdata(L, 4));
- luaL_checktype(L, 5, LUA_TUSERDATA);
- Vector2 texCoord1 = *(Vector2*) *((PolyBase**)lua_touserdata(L, 5));
- luaL_checktype(L, 6, LUA_TUSERDATA);
- Vector2 texCoord2 = *(Vector2*) *((PolyBase**)lua_touserdata(L, 6));
- luaL_checktype(L, 7, LUA_TUSERDATA);
- Vector2 texCoord3 = *(Vector2*) *((PolyBase**)lua_touserdata(L, 7));
- Vector3 *retInst = new Vector3();
- *retInst = inst->calculateFaceTangent(v1, v2, v3, texCoord1, texCoord2, texCoord3);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Mesh_saveAsOBJ(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- inst->saveAsOBJ(fileName);
- return 0;
- }
- static int Polycode_Mesh_normalizeBoneWeights(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Mesh *inst = (Mesh*) *((PolyBase**)lua_touserdata(L, 1));
- inst->normalizeBoneWeights();
- return 0;
- }
- static int Polycode_ObjectEntry(lua_State *L) {
- ObjectEntry *inst = new ObjectEntry();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.ObjectEntry");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_ObjectEntry_readNumber(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ObjectEntry *inst = (ObjectEntry*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String key = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Number* out = (Number*) *((PolyBase**)lua_touserdata(L, 3));
- lua_pushboolean(L, inst->readNumber(key, out));
- return 1;
- }
- static int Polycode_ObjectEntry_readString(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ObjectEntry *inst = (ObjectEntry*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String key = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- String* out = (String*) *((PolyBase**)lua_touserdata(L, 3));
- lua_pushboolean(L, inst->readString(key, out));
- return 1;
- }
- static int Polycode_ObjectEntry_readBool(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ObjectEntry *inst = (ObjectEntry*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String key = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- bool* out = (bool*) *((PolyBase**)lua_touserdata(L, 3));
- lua_pushboolean(L, inst->readBool(key, out));
- return 1;
- }
- static int Polycode_ObjectEntry_addChild(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ObjectEntry *inst = (ObjectEntry*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->addChild(name);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ObjectEntry_getTypedName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ObjectEntry *inst = (ObjectEntry*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->getTypedName().c_str());
- return 1;
- }
- static int Polycode_ObjectEntry_setTypedName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ObjectEntry *inst = (ObjectEntry*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String str = String(lua_tostring(L, 2));
- inst->setTypedName(str);
- return 0;
- }
- static int Polycode_ObjectEntry_Clear(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ObjectEntry *inst = (ObjectEntry*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Clear();
- return 0;
- }
- static int Polycode_BinaryObjectReader(lua_State *L) {
- luaL_checktype(L, 1, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Object* object = (Object*) *((PolyBase**)lua_touserdata(L, 2));
- BinaryObjectReader *inst = new BinaryObjectReader(fileName, object);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.BinaryObjectReader");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_BinaryObjectWriter(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Object* object = (Object*) *((PolyBase**)lua_touserdata(L, 1));
- BinaryObjectWriter *inst = new BinaryObjectWriter(object);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.BinaryObjectWriter");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_BinaryObjectWriter_parseKeysFromObjectEntry(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BinaryObjectWriter *inst = (BinaryObjectWriter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ObjectEntry* entry = (ObjectEntry*) *((PolyBase**)lua_touserdata(L, 2));
- inst->parseKeysFromObjectEntry(entry);
- return 0;
- }
- static int Polycode_BinaryObjectWriter_writeEntryToFile(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BinaryObjectWriter *inst = (BinaryObjectWriter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ObjectEntry* entry = (ObjectEntry*) *((PolyBase**)lua_touserdata(L, 2));
- inst->writeEntryToFile(entry);
- return 0;
- }
- static int Polycode_BinaryObjectWriter_addKey(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BinaryObjectWriter *inst = (BinaryObjectWriter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String key = String(lua_tostring(L, 2));
- lua_pushinteger(L, inst->addKey(key));
- return 1;
- }
- static int Polycode_BinaryObjectWriter_getKeyIndex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BinaryObjectWriter *inst = (BinaryObjectWriter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String key = String(lua_tostring(L, 2));
- lua_pushinteger(L, inst->getKeyIndex(key));
- return 1;
- }
- static int Polycode_BinaryObjectWriter_writeToFile(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BinaryObjectWriter *inst = (BinaryObjectWriter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- lua_pushboolean(L, inst->writeToFile(fileName));
- return 1;
- }
- static int Polycode_OpenGLGraphicsInterface(lua_State *L) {
- OpenGLGraphicsInterface *inst = new OpenGLGraphicsInterface();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.OpenGLGraphicsInterface");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_OpenGLGraphicsInterface_createTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Texture* texture = (Texture*) *((PolyBase**)lua_touserdata(L, 2));
- inst->createTexture(texture);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_destroyTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Texture* texture = (Texture*) *((PolyBase**)lua_touserdata(L, 2));
- inst->destroyTexture(texture);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_setViewport(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int x = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int y = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int width = lua_tointeger(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- int height = lua_tointeger(L, 5);
- inst->setViewport(x, y, width, height);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_clearBuffers(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Color clearColor = *(Color*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool colorBuffer = lua_toboolean(L, 3) != 0;
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool depthBuffer = lua_toboolean(L, 4) != 0;
- luaL_checktype(L, 5, LUA_TBOOLEAN);
- bool stencilBuffer = lua_toboolean(L, 5) != 0;
- inst->clearBuffers(clearColor, colorBuffer, depthBuffer, stencilBuffer);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_setParamInShader(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Shader* shader = (Shader*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- ProgramParam* param = (ProgramParam*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- LocalShaderParam* localParam = (LocalShaderParam*) *((PolyBase**)lua_touserdata(L, 4));
- inst->setParamInShader(shader, param, localParam);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_setAttributeInShader(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Shader* shader = (Shader*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- ProgramAttribute* attribute = (ProgramAttribute*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- AttributeBinding* attributeBinding = (AttributeBinding*) *((PolyBase**)lua_touserdata(L, 4));
- inst->setAttributeInShader(shader, attribute, attributeBinding);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_disableAttribute(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Shader* shader = (Shader*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- ProgramAttribute attribute = *(ProgramAttribute*) *((PolyBase**)lua_touserdata(L, 3));
- inst->disableAttribute(shader, attribute);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_useShader(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Shader* shader = (Shader*) *((PolyBase**)lua_touserdata(L, 2));
- inst->useShader(shader);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_createProgram(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ShaderProgram* program = (ShaderProgram*) *((PolyBase**)lua_touserdata(L, 2));
- inst->createProgram(program);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_destroyProgram(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ShaderProgram* program = (ShaderProgram*) *((PolyBase**)lua_touserdata(L, 2));
- inst->destroyProgram(program);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_createVBOForVertexArray(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- VertexDataArray* array = (VertexDataArray*) *((PolyBase**)lua_touserdata(L, 2));
- inst->createVBOForVertexArray(array);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_createMesh(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Mesh* mesh = (Mesh*) *((PolyBase**)lua_touserdata(L, 2));
- inst->createMesh(mesh);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_destroyMesh(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Mesh* mesh = (Mesh*) *((PolyBase**)lua_touserdata(L, 2));
- inst->destroyMesh(mesh);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_createShader(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Shader* shader = (Shader*) *((PolyBase**)lua_touserdata(L, 2));
- inst->createShader(shader);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_destroyShader(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Shader* shader = (Shader*) *((PolyBase**)lua_touserdata(L, 2));
- inst->destroyShader(shader);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_beginDrawCall(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- inst->beginDrawCall();
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_endDrawCall(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- inst->endDrawCall();
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_setBlendingMode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int blendingMode = lua_tointeger(L, 2);
- inst->setBlendingMode(blendingMode);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_createRenderBuffer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- RenderBuffer* renderBuffer = (RenderBuffer*) *((PolyBase**)lua_touserdata(L, 2));
- inst->createRenderBuffer(renderBuffer);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_destroyRenderBuffer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- RenderBuffer* renderBuffer = (RenderBuffer*) *((PolyBase**)lua_touserdata(L, 2));
- inst->destroyRenderBuffer(renderBuffer);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_bindRenderBuffer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- RenderBuffer* renderBuffer = (RenderBuffer*) *((PolyBase**)lua_touserdata(L, 2));
- inst->bindRenderBuffer(renderBuffer);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_createVertexBuffer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- VertexDataArray* dataArray = (VertexDataArray*) *((PolyBase**)lua_touserdata(L, 2));
- inst->createVertexBuffer(dataArray);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_createIndexBuffer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- IndexDataArray* dataArray = (IndexDataArray*) *((PolyBase**)lua_touserdata(L, 2));
- inst->createIndexBuffer(dataArray);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_destroyBuffer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- RenderDataArray* array = (RenderDataArray*) *((PolyBase**)lua_touserdata(L, 2));
- inst->destroyBuffer(array);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_drawIndices(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int type = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TUSERDATA);
- IndexDataArray* indexArray = (IndexDataArray*) *((PolyBase**)lua_touserdata(L, 3));
- inst->drawIndices(type, indexArray);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_drawArrays(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int type = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int vertexCount = lua_tointeger(L, 3);
- inst->drawArrays(type, vertexCount);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_enableDepthTest(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->enableDepthTest(val);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_enableDepthWrite(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->enableDepthWrite(val);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_enableBackfaceCulling(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->enableBackfaceCulling(val);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_setLineSize(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number lineSize = lua_tonumber(L, 2);
- inst->setLineSize(lineSize);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_setWireframeMode(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->setWireframeMode(val);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_enableScissor(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->enableScissor(val);
- return 0;
- }
- static int Polycode_OpenGLGraphicsInterface_setScissorBox(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- OpenGLGraphicsInterface *inst = (OpenGLGraphicsInterface*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Polycode::Rectangle box = *(Polycode::Rectangle*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setScissorBox(box);
- return 0;
- }
- static int Polycode_SceneParticleEmitter(lua_State *L) {
- luaL_checktype(L, 1, LUA_TNUMBER);
- int particleCount = lua_tointeger(L, 1);
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number lifetime = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number speed = lua_tonumber(L, 3);
- SceneParticleEmitter *inst = new SceneParticleEmitter(particleCount, lifetime, speed);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.SceneParticleEmitter");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_SceneParticleEmitter_setParticleCount(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int newParticleCount = lua_tointeger(L, 2);
- inst->setParticleCount(newParticleCount);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_getParticleCount(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getParticleCount());
- return 1;
- }
- static int Polycode_SceneParticleEmitter_setParticleLifetime(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number lifetime = lua_tonumber(L, 2);
- inst->setParticleLifetime(lifetime);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_getParticleLifetime(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getParticleLifetime());
- return 1;
- }
- static int Polycode_SceneParticleEmitter_setDirectionDeviation(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 newDeviation = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setDirectionDeviation(newDeviation);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_getDirectionDeviation(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- Vector3 *retInst = new Vector3();
- *retInst = inst->getDirectionDeviation();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_SceneParticleEmitter_setEmitterSize(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 newSize = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setEmitterSize(newSize);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_getEmitterSize(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- Vector3 *retInst = new Vector3();
- *retInst = inst->getEmitterSize();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_SceneParticleEmitter_setGravity(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 newGravity = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setGravity(newGravity);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_getGravity(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- Vector3 *retInst = new Vector3();
- *retInst = inst->getGravity();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_SceneParticleEmitter_fixedUpdate(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- inst->fixedUpdate();
- return 0;
- }
- static int Polycode_SceneParticleEmitter_Render(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- GPUDrawBuffer* buffer = (GPUDrawBuffer*) *((PolyBase**)lua_touserdata(L, 2));
- inst->Render(buffer);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_updateParticles(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- inst->updateParticles();
- return 0;
- }
- static int Polycode_SceneParticleEmitter_rebuildParticles(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- GPUDrawBuffer* buffer = (GPUDrawBuffer*) *((PolyBase**)lua_touserdata(L, 2));
- inst->rebuildParticles(buffer);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_triggerParticles(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool allAtOnce = lua_toboolean(L, 2) != 0;
- inst->triggerParticles(allAtOnce);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_enableParticleSystem(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->enableParticleSystem(val);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_setUseFloorPlane(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->setUseFloorPlane(val);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_setFloorPlaneOffset(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number floorPlaneOffset = lua_tonumber(L, 2);
- inst->setFloorPlaneOffset(floorPlaneOffset);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_setFloorDamping(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number floorDamping = lua_tonumber(L, 2);
- inst->setFloorDamping(floorDamping);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_setParticlesInWorldSpace(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->setParticlesInWorldSpace(val);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_getParticlesInWorldSpace(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->getParticlesInWorldSpace());
- return 1;
- }
- static int Polycode_SceneParticleEmitter_setPerlinEnabled(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->setPerlinEnabled(val);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_getPerlinEnabled(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->getPerlinEnabled());
- return 1;
- }
- static int Polycode_SceneParticleEmitter_getParticleSpeed(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getParticleSpeed());
- return 1;
- }
- static int Polycode_SceneParticleEmitter_setParticleSpeed(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number speed = lua_tonumber(L, 2);
- inst->setParticleSpeed(speed);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_setPerlinValue(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 perlinValue = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setPerlinValue(perlinValue);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_getPerlinValue(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- Vector3 *retInst = new Vector3();
- *retInst = inst->getPerlinValue();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_SceneParticleEmitter_setParticleType(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int particleType = lua_tointeger(L, 2);
- inst->setParticleType(particleType);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_getParticleType(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getParticleType());
- return 1;
- }
- static int Polycode_SceneParticleEmitter_setParticleSize(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number particleSize = lua_tonumber(L, 2);
- inst->setParticleSize(particleSize);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_getParticleSize(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getParticleSize());
- return 1;
- }
- static int Polycode_SceneParticleEmitter_setParticleRotationSpeed(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 rotationSpeed = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setParticleRotationSpeed(rotationSpeed);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_getParticleRotationSpeed(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- Vector3 *retInst = new Vector3();
- *retInst = inst->getParticleRotationSpeed();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_SceneParticleEmitter_setParticleDirection(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 direction = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setParticleDirection(direction);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_getParticleDirection(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- Vector3 *retInst = new Vector3();
- *retInst = inst->getParticleDirection();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_SceneParticleEmitter_setLoopParticles(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->setLoopParticles(val);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_getLoopParticles(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->getLoopParticles());
- return 1;
- }
- static int Polycode_SceneParticleEmitter_addSourceMesh(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Mesh* mesh = (Mesh*) *((PolyBase**)lua_touserdata(L, 2));
- inst->addSourceMesh(mesh);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_getNumSourceMeshes(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumSourceMeshes());
- return 1;
- }
- static int Polycode_SceneParticleEmitter_getSourcesMeshAtIndex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getSourcesMeshAtIndex(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneParticleEmitter_removeSourceMeshAtIndex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- inst->removeSourceMeshAtIndex(index);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_positionParticle(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- inst->positionParticle(index);
- return 0;
- }
- static int Polycode_SceneParticleEmitter_Clone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 2) != 0;
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 3) != 0;
- PolyBase *ptrRetVal = (PolyBase*)inst->Clone(deepClone, ignoreEditorOnly);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneParticleEmitter_applyClone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneParticleEmitter *inst = (SceneParticleEmitter*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* clone = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 3) != 0;
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 4) != 0;
- inst->applyClone(clone, deepClone, ignoreEditorOnly);
- return 0;
- }
- static int Polycode_Perlin(lua_State *L) {
- luaL_checktype(L, 1, LUA_TNUMBER);
- int octaves = lua_tointeger(L, 1);
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number freq = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number amp = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int seed = lua_tointeger(L, 4);
- Perlin *inst = new Perlin(octaves, freq, amp, seed);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Perlin");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Perlin_Get2DTiledX(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Perlin *inst = (Perlin*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number t = lua_tonumber(L, 4);
- lua_pushnumber(L, inst->Get2DTiledX(x, y, t));
- return 1;
- }
- static int Polycode_Perlin_Get(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Perlin *inst = (Perlin*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- lua_pushnumber(L, inst->Get(x, y));
- return 1;
- }
- static int Polycode_Perlin_Get2D(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Perlin *inst = (Perlin*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- lua_pushnumber(L, inst->Get2D(x, y));
- return 1;
- }
- static int Polycode_Perlin_Get3D(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Perlin *inst = (Perlin*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number z = lua_tonumber(L, 4);
- lua_pushnumber(L, inst->Get3D(x, y, z));
- return 1;
- }
- static int Polycode_PhysFSFile_read(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- PhysFSFile *inst = (PhysFSFile*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- void* ptr = (void*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- size_t size = *(size_t*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- size_t count = *(size_t*) *((PolyBase**)lua_touserdata(L, 4));
- lua_pushinteger(L, inst->read(ptr, size, count));
- return 1;
- }
- static int Polycode_PhysFSFile_write(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- PhysFSFile *inst = (PhysFSFile*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- void* ptr = (void*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- size_t size = *(size_t*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- size_t count = *(size_t*) *((PolyBase**)lua_touserdata(L, 4));
- lua_pushinteger(L, inst->write(ptr, size, count));
- return 1;
- }
- static int Polycode_PhysFSFile_seek(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- PhysFSFile *inst = (PhysFSFile*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int offset = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int origin = lua_tointeger(L, 3);
- lua_pushinteger(L, inst->seek(offset, origin));
- return 1;
- }
- static int Polycode_PhysFSFile_tell(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- PhysFSFile *inst = (PhysFSFile*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->tell());
- return 1;
- }
- static int Polycode_PhysFSFileProvider(lua_State *L) {
- PhysFSFileProvider *inst = new PhysFSFileProvider();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.PhysFSFileProvider");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_PhysFSFileProvider_openFile(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- PhysFSFileProvider *inst = (PhysFSFileProvider*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String opts = String(lua_tostring(L, 3));
- PolyBase *ptrRetVal = (PolyBase*)inst->openFile(fileName, opts);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_PhysFSFileProvider_closeFile(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- PhysFSFileProvider *inst = (PhysFSFileProvider*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- CoreFile* file = (CoreFile*) *((PolyBase**)lua_touserdata(L, 2));
- inst->closeFile(file);
- return 0;
- }
- static int Polycode_PhysFSFileProvider_parseFolder(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- PhysFSFileProvider *inst = (PhysFSFileProvider*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String pathString = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool showHidden = lua_toboolean(L, 3) != 0;
- luaL_checktype(L, 4, LUA_TUSERDATA);
- vector<OSFileEntry> targetVector = *(vector<OSFileEntry>*) *((PolyBase**)lua_touserdata(L, 4));
- lua_pushboolean(L, inst->parseFolder(pathString, showHidden, targetVector));
- return 1;
- }
- static int Polycode_PhysFSFileProvider_addSource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- PhysFSFileProvider *inst = (PhysFSFileProvider*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String source = String(lua_tostring(L, 2));
- inst->addSource(source);
- return 0;
- }
- static int Polycode_PhysFSFileProvider_removeSource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- PhysFSFileProvider *inst = (PhysFSFileProvider*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String source = String(lua_tostring(L, 2));
- inst->removeSource(source);
- return 0;
- }
- static int Polycode_Quaternion(lua_State *L) {
- luaL_checktype(L, 1, LUA_TNUMBER);
- Number w = lua_tonumber(L, 1);
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number z = lua_tonumber(L, 4);
- Quaternion *inst = new Quaternion(w, x, y, z);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Quaternion");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Quaternion_setFromMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Quaternion *inst = (Quaternion*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Matrix4 _mat = *(Matrix4*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setFromMatrix(_mat);
- return 0;
- }
- static int Polycode_Quaternion_Slerp(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Quaternion *inst = (Quaternion*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number fT = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Quaternion rkP = *(Quaternion*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- Quaternion rkQ = *(Quaternion*) *((PolyBase**)lua_touserdata(L, 4));
- luaL_checktype(L, 5, LUA_TBOOLEAN);
- bool shortestPath = lua_toboolean(L, 5) != 0;
- Quaternion *retInst = new Quaternion();
- *retInst = inst->Slerp(fT, rkP, rkQ, shortestPath);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Quaternion");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Quaternion_Dot(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Quaternion *inst = (Quaternion*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Quaternion rkQ = *(Quaternion*) *((PolyBase**)lua_touserdata(L, 2));
- lua_pushnumber(L, inst->Dot(rkQ));
- return 1;
- }
- static int Polycode_Quaternion_Log(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Quaternion *inst = (Quaternion*) *((PolyBase**)lua_touserdata(L, 1));
- Quaternion *retInst = new Quaternion();
- *retInst = inst->Log();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Quaternion");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Quaternion_Exp(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Quaternion *inst = (Quaternion*) *((PolyBase**)lua_touserdata(L, 1));
- Quaternion *retInst = new Quaternion();
- *retInst = inst->Exp();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Quaternion");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Quaternion_Norm(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Quaternion *inst = (Quaternion*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->Norm());
- return 1;
- }
- static int Polycode_Quaternion_Normalize(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Quaternion *inst = (Quaternion*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->Normalize());
- return 1;
- }
- static int Polycode_Quaternion_lookAt(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Quaternion *inst = (Quaternion*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 D = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Vector3 upVector = *(Vector3*) *((PolyBase**)lua_touserdata(L, 3));
- inst->lookAt(D, upVector);
- return 0;
- }
- static int Polycode_Quaternion_createFromMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Quaternion *inst = (Quaternion*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Matrix4 matrix = *(Matrix4*) *((PolyBase**)lua_touserdata(L, 2));
- inst->createFromMatrix(matrix);
- return 0;
- }
- static int Polycode_Quaternion_Squad(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Quaternion *inst = (Quaternion*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number fT = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Quaternion rkP = *(Quaternion*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- Quaternion rkA = *(Quaternion*) *((PolyBase**)lua_touserdata(L, 4));
- luaL_checktype(L, 5, LUA_TUSERDATA);
- Quaternion rkB = *(Quaternion*) *((PolyBase**)lua_touserdata(L, 5));
- luaL_checktype(L, 6, LUA_TUSERDATA);
- Quaternion rkQ = *(Quaternion*) *((PolyBase**)lua_touserdata(L, 6));
- luaL_checktype(L, 7, LUA_TBOOLEAN);
- bool shortestPath = lua_toboolean(L, 7) != 0;
- Quaternion *retInst = new Quaternion();
- *retInst = inst->Squad(fT, rkP, rkA, rkB, rkQ, shortestPath);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Quaternion");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Quaternion_Inverse(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Quaternion *inst = (Quaternion*) *((PolyBase**)lua_touserdata(L, 1));
- Quaternion *retInst = new Quaternion();
- *retInst = inst->Inverse();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Quaternion");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Quaternion_set(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Quaternion *inst = (Quaternion*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number w = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number x = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number y = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number z = lua_tonumber(L, 5);
- inst->set(w, x, y, z);
- return 0;
- }
- static int Polycode_Quaternion_InvSqrt(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Quaternion *inst = (Quaternion*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- lua_pushnumber(L, inst->InvSqrt(x));
- return 1;
- }
- static int Polycode_Quaternion_fromAxes(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Quaternion *inst = (Quaternion*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number az = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number ay = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number ax = lua_tonumber(L, 4);
- inst->fromAxes(az, ay, ax);
- return 0;
- }
- static int Polycode_Quaternion_fromAngleAxis(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Quaternion *inst = (Quaternion*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number rfAngle = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Vector3 rkAxis = *(Vector3*) *((PolyBase**)lua_touserdata(L, 3));
- inst->fromAngleAxis(rfAngle, rkAxis);
- return 0;
- }
- static int Polycode_Quaternion_toEulerAngles(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Quaternion *inst = (Quaternion*) *((PolyBase**)lua_touserdata(L, 1));
- Vector3 *retInst = new Vector3();
- *retInst = inst->toEulerAngles();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Quaternion_toAngleAxis(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Quaternion *inst = (Quaternion*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number rfAngle = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Vector3 rkAxis = *(Vector3*) *((PolyBase**)lua_touserdata(L, 3));
- inst->toAngleAxis(rfAngle, rkAxis);
- return 0;
- }
- static int Polycode_Quaternion_createFromAxisAngle(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Quaternion *inst = (Quaternion*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number z = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number degrees = lua_tonumber(L, 5);
- inst->createFromAxisAngle(x, y, z, degrees);
- return 0;
- }
- static int Polycode_Quaternion_createMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Quaternion *inst = (Quaternion*) *((PolyBase**)lua_touserdata(L, 1));
- Matrix4 *retInst = new Matrix4();
- *retInst = inst->createMatrix();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Quaternion_applyTo(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Quaternion *inst = (Quaternion*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 v = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- Vector3 *retInst = new Vector3();
- *retInst = inst->applyTo(v);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_QuaternionCurve(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BezierCurve* wCurve = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- BezierCurve* xCurve = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- BezierCurve* yCurve = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- BezierCurve* zCurve = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 4));
- QuaternionCurve *inst = new QuaternionCurve(wCurve, xCurve, yCurve, zCurve);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.QuaternionCurve");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_QuaternionCurve_interpolate(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- QuaternionCurve *inst = (QuaternionCurve*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number t = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool useShortestPath = lua_toboolean(L, 3) != 0;
- Quaternion *retInst = new Quaternion();
- *retInst = inst->interpolate(t, useShortestPath);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Quaternion");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_QuaternionCurve_generatePointsFromCurves(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- QuaternionCurve *inst = (QuaternionCurve*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- BezierCurve* wCurve = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- BezierCurve* xCurve = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- BezierCurve* yCurve = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 4));
- luaL_checktype(L, 5, LUA_TUSERDATA);
- BezierCurve* zCurve = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 5));
- inst->generatePointsFromCurves(wCurve, xCurve, yCurve, zCurve);
- return 0;
- }
- static int Polycode_Ray(lua_State *L) {
- Ray *inst = new Ray();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Ray");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Ray_boxIntersect(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Ray *inst = (Ray*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 box = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Matrix4 transformMatrix = *(Matrix4*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number near = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number far = lua_tonumber(L, 5);
- lua_pushnumber(L, inst->boxIntersect(box, transformMatrix, near, far));
- return 1;
- }
- static int Polycode_Ray_planeIntersectPoint(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Ray *inst = (Ray*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 planeNormal = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number planeDistance = lua_tonumber(L, 3);
- Vector3 *retInst = new Vector3();
- *retInst = inst->planeIntersectPoint(planeNormal, planeDistance);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Ray_tranformByMatrix(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Ray *inst = (Ray*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Matrix4 matrix = *(Matrix4*) *((PolyBase**)lua_touserdata(L, 2));
- Ray *retInst = new Ray();
- *retInst = inst->tranformByMatrix(matrix);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Ray");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Ray_closestPointOnRay(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Ray *inst = (Ray*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 point = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- Vector3 *retInst = new Vector3();
- *retInst = inst->closestPointOnRay(point);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Ray_closestPointsBetween(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Ray *inst = (Ray*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Ray ray2 = *(Ray*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Vector3* point1 = (Vector3*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- Vector3* point2 = (Vector3*) *((PolyBase**)lua_touserdata(L, 4));
- lua_pushboolean(L, inst->closestPointsBetween(ray2, point1, point2));
- return 1;
- }
- static int Polycode_Ray_polygonIntersect(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Ray *inst = (Ray*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 v1 = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Vector3 v2 = *(Vector3*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- Vector3 v3 = *(Vector3*) *((PolyBase**)lua_touserdata(L, 4));
- lua_pushboolean(L, inst->polygonIntersect(v1, v2, v3));
- return 1;
- }
- static int Polycode_Rectangle(lua_State *L) {
- Rectangle *inst = new Rectangle();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Rectangle");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Rectangle_setRect(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Rectangle *inst = (Rectangle*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number w = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number h = lua_tonumber(L, 5);
- inst->setRect(x, y, w, h);
- return 0;
- }
- static int Polycode_Rectangle_Clipped(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Rectangle *inst = (Rectangle*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Polycode::Rectangle rect = *(Polycode::Rectangle*) *((PolyBase**)lua_touserdata(L, 2));
- Polycode::Rectangle *retInst = new Polycode::Rectangle();
- *retInst = inst->Clipped(rect);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Polycode::Rectangle");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Rectangle_minX(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Rectangle *inst = (Rectangle*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->minX());
- return 1;
- }
- static int Polycode_Rectangle_maxX(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Rectangle *inst = (Rectangle*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->maxX());
- return 1;
- }
- static int Polycode_Rectangle_minY(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Rectangle *inst = (Rectangle*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->minY());
- return 1;
- }
- static int Polycode_Rectangle_maxY(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Rectangle *inst = (Rectangle*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->maxY());
- return 1;
- }
- static int Polycode_RenderDataArray(lua_State *L) {
- luaL_checktype(L, 1, LUA_TNUMBER);
- int type = lua_tointeger(L, 1);
- RenderDataArray *inst = new RenderDataArray(type);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.RenderDataArray");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_RenderDataArray_getArrayData(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- RenderDataArray *inst = (RenderDataArray*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getArrayData();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_RenderDataArray_getDataSize(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- RenderDataArray *inst = (RenderDataArray*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getDataSize());
- return 1;
- }
- static int Polycode_VertexDataArray(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- char countPerVertex = *(char*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int type = lua_tointeger(L, 2);
- VertexDataArray *inst = new VertexDataArray(countPerVertex, type);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.VertexDataArray");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_VertexDataArray_getCountPerVertex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- VertexDataArray *inst = (VertexDataArray*) *((PolyBase**)lua_touserdata(L, 1));
- char *retInst = new char();
- *retInst = inst->getCountPerVertex();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.char");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_VertexDataArray_getArrayData(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- VertexDataArray *inst = (VertexDataArray*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getArrayData();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_VertexDataArray_getDataSize(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- VertexDataArray *inst = (VertexDataArray*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getDataSize());
- return 1;
- }
- static int Polycode_IndexDataArray(lua_State *L) {
- luaL_checktype(L, 1, LUA_TNUMBER);
- int type = lua_tointeger(L, 1);
- IndexDataArray *inst = new IndexDataArray(type);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.IndexDataArray");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_IndexDataArray_getArrayData(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- IndexDataArray *inst = (IndexDataArray*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getArrayData();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_IndexDataArray_getDataSize(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- IndexDataArray *inst = (IndexDataArray*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getDataSize());
- return 1;
- }
- static int Polycode_RenderThread(lua_State *L) {
- RenderThread *inst = new RenderThread();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.RenderThread");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_RenderThread_setGraphicsInterface(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- RenderThread *inst = (RenderThread*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Core* core = (Core*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- GraphicsInterface* graphicsInterface = (GraphicsInterface*) *((PolyBase**)lua_touserdata(L, 3));
- inst->setGraphicsInterface(core, graphicsInterface);
- return 0;
- }
- static int Polycode_RenderThread_runThread(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- RenderThread *inst = (RenderThread*) *((PolyBase**)lua_touserdata(L, 1));
- inst->runThread();
- return 0;
- }
- static int Polycode_RenderThread_enqueueFrame(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- RenderThread *inst = (RenderThread*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- RenderFrame* frame = (RenderFrame*) *((PolyBase**)lua_touserdata(L, 2));
- inst->enqueueFrame(frame);
- return 0;
- }
- static int Polycode_RenderThread_enqueueJob(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- RenderThread *inst = (RenderThread*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int jobType = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TUSERDATA);
- void* data = (void*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- void* data2 = (void*) *((PolyBase**)lua_touserdata(L, 4));
- inst->enqueueJob(jobType, data, data2);
- return 0;
- }
- static int Polycode_RenderThread_processJob(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- RenderThread *inst = (RenderThread*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- RendererThreadJob job = *(RendererThreadJob*) *((PolyBase**)lua_touserdata(L, 2));
- inst->processJob(job);
- return 0;
- }
- static int Polycode_RenderThread_getShaderBinding(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- RenderThread *inst = (RenderThread*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getShaderBinding();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_RenderThread_processDrawBuffer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- RenderThread *inst = (RenderThread*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- GPUDrawBuffer* buffer = (GPUDrawBuffer*) *((PolyBase**)lua_touserdata(L, 2));
- inst->processDrawBuffer(buffer);
- return 0;
- }
- static int Polycode_RenderThread_getFrameInfo(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- RenderThread *inst = (RenderThread*) *((PolyBase**)lua_touserdata(L, 1));
- RenderThreadDebugInfo *retInst = new RenderThreadDebugInfo();
- *retInst = inst->getFrameInfo();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.RenderThreadDebugInfo");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_RenderThread_clearFrameQueue(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- RenderThread *inst = (RenderThread*) *((PolyBase**)lua_touserdata(L, 1));
- inst->clearFrameQueue();
- return 0;
- }
- static int Polycode_RenderThread_initGlobals(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- RenderThread *inst = (RenderThread*) *((PolyBase**)lua_touserdata(L, 1));
- inst->initGlobals();
- return 0;
- }
- static int Polycode_RenderThread_lockRenderMutex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- RenderThread *inst = (RenderThread*) *((PolyBase**)lua_touserdata(L, 1));
- inst->lockRenderMutex();
- return 0;
- }
- static int Polycode_RenderThread_unlockRenderMutex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- RenderThread *inst = (RenderThread*) *((PolyBase**)lua_touserdata(L, 1));
- inst->unlockRenderMutex();
- return 0;
- }
- static int Polycode_Renderer_setGraphicsInterface(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Core* core = (Core*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- GraphicsInterface* graphicsInterface = (GraphicsInterface*) *((PolyBase**)lua_touserdata(L, 3));
- inst->setGraphicsInterface(core, graphicsInterface);
- return 0;
- }
- static int Polycode_Renderer_getRenderThread(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getRenderThread();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Renderer_createCubemap(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Texture* t0 = (Texture*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Texture* t1 = (Texture*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- Texture* t2 = (Texture*) *((PolyBase**)lua_touserdata(L, 4));
- luaL_checktype(L, 5, LUA_TUSERDATA);
- Texture* t3 = (Texture*) *((PolyBase**)lua_touserdata(L, 5));
- luaL_checktype(L, 6, LUA_TUSERDATA);
- Texture* t4 = (Texture*) *((PolyBase**)lua_touserdata(L, 6));
- luaL_checktype(L, 7, LUA_TUSERDATA);
- Texture* t5 = (Texture*) *((PolyBase**)lua_touserdata(L, 7));
- PolyBase *ptrRetVal = (PolyBase*)inst->createCubemap(t0, t1, t2, t3, t4, t5);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Renderer_createTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int width = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int height = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TUSERDATA);
- char* textureData = (char*) *((PolyBase**)lua_touserdata(L, 4));
- luaL_checktype(L, 5, LUA_TBOOLEAN);
- bool clamp = lua_toboolean(L, 5) != 0;
- luaL_checktype(L, 6, LUA_TBOOLEAN);
- bool createMipmaps = lua_toboolean(L, 6) != 0;
- luaL_checktype(L, 7, LUA_TNUMBER);
- int type = lua_tointeger(L, 7);
- luaL_checktype(L, 8, LUA_TNUMBER);
- int filteringMode = lua_tointeger(L, 8);
- luaL_checktype(L, 9, LUA_TNUMBER);
- int anisotropy = lua_tointeger(L, 9);
- luaL_checktype(L, 10, LUA_TBOOLEAN);
- bool framebufferTexture = lua_toboolean(L, 10) != 0;
- PolyBase *ptrRetVal = (PolyBase*)inst->createTexture(width, height, textureData, clamp, createMipmaps, type, filteringMode, anisotropy, framebufferTexture);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Renderer_createRenderBuffer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int width = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int height = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool attachDepthBuffer = lua_toboolean(L, 4) != 0;
- luaL_checktype(L, 5, LUA_TBOOLEAN);
- bool floatingPoint = lua_toboolean(L, 5) != 0;
- PolyBase *ptrRetVal = (PolyBase*)inst->createRenderBuffer(width, height, attachDepthBuffer, floatingPoint);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Renderer_destroyRenderBuffer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- RenderBuffer* buffer = (RenderBuffer*) *((PolyBase**)lua_touserdata(L, 2));
- inst->destroyRenderBuffer(buffer);
- return 0;
- }
- static int Polycode_Renderer_destroyTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Texture* texture = (Texture*) *((PolyBase**)lua_touserdata(L, 2));
- inst->destroyTexture(texture);
- return 0;
- }
- static int Polycode_Renderer_processDrawBuffer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- GPUDrawBuffer* buffer = (GPUDrawBuffer*) *((PolyBase**)lua_touserdata(L, 2));
- inst->processDrawBuffer(buffer);
- return 0;
- }
- static int Polycode_Renderer_setBackingResolutionScale(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number xScale = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number yScale = lua_tonumber(L, 3);
- inst->setBackingResolutionScale(xScale, yScale);
- return 0;
- }
- static int Polycode_Renderer_getBackingResolutionScaleX(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getBackingResolutionScaleX());
- return 1;
- }
- static int Polycode_Renderer_getBackingResolutionScaleY(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getBackingResolutionScaleY());
- return 1;
- }
- static int Polycode_Renderer_createProgram(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->createProgram(fileName);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Renderer_createShader(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ShaderProgram* vertexProgram = (ShaderProgram*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- ShaderProgram* fragmentProgram = (ShaderProgram*) *((PolyBase**)lua_touserdata(L, 3));
- PolyBase *ptrRetVal = (PolyBase*)inst->createShader(vertexProgram, fragmentProgram);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Renderer_createVertexBuffers(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Mesh* mesh = (Mesh*) *((PolyBase**)lua_touserdata(L, 2));
- inst->createVertexBuffers(mesh);
- return 0;
- }
- static int Polycode_Renderer_enqueueFrameJob(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int jobType = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TUSERDATA);
- void* data = (void*) *((PolyBase**)lua_touserdata(L, 3));
- inst->enqueueFrameJob(jobType, data);
- return 0;
- }
- static int Polycode_Renderer_destroyProgram(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ShaderProgram* program = (ShaderProgram*) *((PolyBase**)lua_touserdata(L, 2));
- inst->destroyProgram(program);
- return 0;
- }
- static int Polycode_Renderer_destroyShader(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Shader* shader = (Shader*) *((PolyBase**)lua_touserdata(L, 2));
- inst->destroyShader(shader);
- return 0;
- }
- static int Polycode_Renderer_destroyBuffer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- RenderDataArray* array = (RenderDataArray*) *((PolyBase**)lua_touserdata(L, 2));
- inst->destroyBuffer(array);
- return 0;
- }
- static int Polycode_Renderer_destroyShaderBinding(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ShaderBinding* binding = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 2));
- inst->destroyShaderBinding(binding);
- return 0;
- }
- static int Polycode_Renderer_destroyShaderParam(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- LocalShaderParam* param = (LocalShaderParam*) *((PolyBase**)lua_touserdata(L, 2));
- inst->destroyShaderParam(param);
- return 0;
- }
- static int Polycode_Renderer_setTextureParam(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- LocalShaderParam* param = (LocalShaderParam*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Texture* texture = (Texture*) *((PolyBase**)lua_touserdata(L, 3));
- inst->setTextureParam(param, texture);
- return 0;
- }
- static int Polycode_Renderer_setAnisotropyAmount(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number amount = lua_tonumber(L, 2);
- inst->setAnisotropyAmount(amount);
- return 0;
- }
- static int Polycode_Renderer_getAnisotropyAmount(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getAnisotropyAmount());
- return 1;
- }
- static int Polycode_Renderer_createMesh(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->createMesh(fileName);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Renderer_destroyMesh(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Mesh* mesh = (Mesh*) *((PolyBase**)lua_touserdata(L, 2));
- inst->destroyMesh(mesh);
- return 0;
- }
- static int Polycode_Renderer_unProject(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 position = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Matrix4 modelMatrix = *(Matrix4*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- Matrix4 projectionMatrix = *(Matrix4*) *((PolyBase**)lua_touserdata(L, 4));
- luaL_checktype(L, 5, LUA_TUSERDATA);
- Polycode::Rectangle viewport = *(Polycode::Rectangle*) *((PolyBase**)lua_touserdata(L, 5));
- Vector3 *retInst = new Vector3();
- *retInst = inst->unProject(position, modelMatrix, projectionMatrix, viewport);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Renderer_project(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 position = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Matrix4 modelMatrix = *(Matrix4*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- Matrix4 projectionMatrix = *(Matrix4*) *((PolyBase**)lua_touserdata(L, 4));
- luaL_checktype(L, 5, LUA_TUSERDATA);
- Polycode::Rectangle viewport = *(Polycode::Rectangle*) *((PolyBase**)lua_touserdata(L, 5));
- Vector3 *retInst = new Vector3();
- *retInst = inst->project(position, modelMatrix, projectionMatrix, viewport);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Renderer_beginFrame(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- inst->beginFrame();
- return 0;
- }
- static int Polycode_Renderer_endFrame(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Renderer *inst = (Renderer*) *((PolyBase**)lua_touserdata(L, 1));
- inst->endFrame();
- return 0;
- }
- static int Polycode_Resource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TNUMBER);
- int type = lua_tointeger(L, 1);
- Resource *inst = new Resource(type);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Resource");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Resource_reloadResource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Resource *inst = (Resource*) *((PolyBase**)lua_touserdata(L, 1));
- inst->reloadResource();
- return 0;
- }
- static int Polycode_Resource_getResourceName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Resource *inst = (Resource*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->getResourceName().c_str());
- return 1;
- }
- static int Polycode_Resource_getResourceType(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Resource *inst = (Resource*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getResourceType());
- return 1;
- }
- static int Polycode_Resource_setResourceName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Resource *inst = (Resource*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String newName = String(lua_tostring(L, 2));
- inst->setResourceName(newName);
- return 0;
- }
- static int Polycode_Resource_setResourcePath(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Resource *inst = (Resource*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String path = String(lua_tostring(L, 2));
- inst->setResourcePath(path);
- return 0;
- }
- static int Polycode_Resource_getResourcePath(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Resource *inst = (Resource*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->getResourcePath().c_str());
- return 1;
- }
- static int Polycode_ScriptResourceLoader(lua_State *L) {
- ScriptResourceLoader *inst = new ScriptResourceLoader();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.ScriptResourceLoader");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_ScriptResourceLoader_loadResource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ScriptResourceLoader *inst = (ScriptResourceLoader*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String path = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- ResourcePool* targetPool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 3));
- PolyBase *ptrRetVal = (PolyBase*)inst->loadResource(path, targetPool);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ResourcePool(lua_State *L) {
- luaL_checktype(L, 1, LUA_TSTRING);
- String name = String(lua_tostring(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ResourcePool* fallbackPool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 2));
- ResourcePool *inst = new ResourcePool(name, fallbackPool);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.ResourcePool");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_ResourcePool_setFallbackPool(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourcePool *inst = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ResourcePool* pool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setFallbackPool(pool);
- return 0;
- }
- static int Polycode_ResourcePool_addResource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourcePool *inst = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Resource* resource = (Resource*) *((PolyBase**)lua_touserdata(L, 2));
- inst->addResource(resource);
- return 0;
- }
- static int Polycode_ResourcePool_removeResource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourcePool *inst = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Resource* resource = (Resource*) *((PolyBase**)lua_touserdata(L, 2));
- inst->removeResource(resource);
- return 0;
- }
- static int Polycode_ResourcePool_hasResource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourcePool *inst = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Resource* resource = (Resource*) *((PolyBase**)lua_touserdata(L, 2));
- lua_pushboolean(L, inst->hasResource(resource));
- return 1;
- }
- static int Polycode_ResourcePool_loadResourcesFromFolder(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourcePool *inst = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String folder = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool recursive = lua_toboolean(L, 3) != 0;
- inst->loadResourcesFromFolder(folder, recursive);
- return 0;
- }
- static int Polycode_ResourcePool_loadResource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourcePool *inst = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String path = String(lua_tostring(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->loadResource(path);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ResourcePool_loadResourceWithName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourcePool *inst = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String path = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String name = String(lua_tostring(L, 3));
- PolyBase *ptrRetVal = (PolyBase*)inst->loadResourceWithName(path, name);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ResourcePool_getResource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourcePool *inst = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int resourceType = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TSTRING);
- String resourceName = String(lua_tostring(L, 3));
- PolyBase *ptrRetVal = (PolyBase*)inst->getResource(resourceType, resourceName);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ResourcePool_getName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourcePool *inst = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->getName().c_str());
- return 1;
- }
- static int Polycode_ResourcePool_setName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourcePool *inst = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- inst->setName(name);
- return 0;
- }
- static int Polycode_ResourcePool_getResourceByPath(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourcePool *inst = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String resourcePath = String(lua_tostring(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->getResourceByPath(resourcePath);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ResourcePool_Update(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourcePool *inst = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int elapsed = lua_tointeger(L, 2);
- inst->Update(elapsed);
- return 0;
- }
- static int Polycode_ResourcePool_getResources(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourcePool *inst = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int resourceType = lua_tointeger(L, 2);
- }
- static int Polycode_ResourcePool_checkForChangedFiles(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourcePool *inst = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 1));
- inst->checkForChangedFiles();
- return 0;
- }
- static int Polycode_ResourceManager(lua_State *L) {
- ResourceManager *inst = new ResourceManager();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.ResourceManager");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_ResourceManager_getGlobalPool(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourceManager *inst = (ResourceManager*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getGlobalPool();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ResourceManager_getResourcePoolByName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourceManager *inst = (ResourceManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->getResourcePoolByName(name);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ResourceManager_addResourceLoader(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourceManager *inst = (ResourceManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ResourceLoader* loader = (ResourceLoader*) *((PolyBase**)lua_touserdata(L, 2));
- inst->addResourceLoader(loader);
- return 0;
- }
- static int Polycode_ResourceManager_getResourceLoaderForExtension(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourceManager *inst = (ResourceManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String extension = String(lua_tostring(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->getResourceLoaderForExtension(extension);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ResourceManager_removeResourceLoader(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourceManager *inst = (ResourceManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ResourceLoader* loader = (ResourceLoader*) *((PolyBase**)lua_touserdata(L, 2));
- inst->removeResourceLoader(loader);
- return 0;
- }
- static int Polycode_ResourceManager_getNumResourceLoaders(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourceManager *inst = (ResourceManager*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumResourceLoaders());
- return 1;
- }
- static int Polycode_ResourceManager_getResourceLoaderAtIndex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourceManager *inst = (ResourceManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getResourceLoaderAtIndex(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ResourceManager_addResourcePool(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourceManager *inst = (ResourceManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ResourcePool* pool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 2));
- inst->addResourcePool(pool);
- return 0;
- }
- static int Polycode_ResourceManager_removeResourcePool(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourceManager *inst = (ResourceManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ResourcePool* pool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 2));
- inst->removeResourcePool(pool);
- return 0;
- }
- static int Polycode_ResourceManager_getResources(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourceManager *inst = (ResourceManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int resourceType = lua_tointeger(L, 2);
- }
- static int Polycode_ResourceManager_removeResource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourceManager *inst = (ResourceManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Resource* resource = (Resource*) *((PolyBase**)lua_touserdata(L, 2));
- inst->removeResource(resource);
- return 0;
- }
- static int Polycode_ResourceManager_subscribeToResourcePool(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourceManager *inst = (ResourceManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ResourcePool* pool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 2));
- inst->subscribeToResourcePool(pool);
- return 0;
- }
- static int Polycode_ResourceManager_unsubscibeFromResourcePool(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourceManager *inst = (ResourceManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ResourcePool* pool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 2));
- inst->unsubscibeFromResourcePool(pool);
- return 0;
- }
- static int Polycode_ResourceManager_Update(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ResourceManager *inst = (ResourceManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int elapsed = lua_tointeger(L, 2);
- inst->Update(elapsed);
- return 0;
- }
- static int Polycode_FontResourceLoader(lua_State *L) {
- FontResourceLoader *inst = new FontResourceLoader();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.FontResourceLoader");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_FontResourceLoader_loadResource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- FontResourceLoader *inst = (FontResourceLoader*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String path = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- ResourcePool* targetPool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 3));
- PolyBase *ptrRetVal = (PolyBase*)inst->loadResource(path, targetPool);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ProgramResourceLoader(lua_State *L) {
- ProgramResourceLoader *inst = new ProgramResourceLoader();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.ProgramResourceLoader");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_ProgramResourceLoader_loadResource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ProgramResourceLoader *inst = (ProgramResourceLoader*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String path = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- ResourcePool* targetPool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 3));
- PolyBase *ptrRetVal = (PolyBase*)inst->loadResource(path, targetPool);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_MeshResourceLoader(lua_State *L) {
- MeshResourceLoader *inst = new MeshResourceLoader();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.MeshResourceLoader");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_MeshResourceLoader_loadResource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MeshResourceLoader *inst = (MeshResourceLoader*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String path = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- ResourcePool* targetPool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 3));
- PolyBase *ptrRetVal = (PolyBase*)inst->loadResource(path, targetPool);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_MaterialResourceLoader(lua_State *L) {
- MaterialResourceLoader *inst = new MaterialResourceLoader();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.MaterialResourceLoader");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_MaterialResourceLoader_loadResource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- MaterialResourceLoader *inst = (MaterialResourceLoader*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String path = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- ResourcePool* targetPool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 3));
- PolyBase *ptrRetVal = (PolyBase*)inst->loadResource(path, targetPool);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_TextureResourceLoader(lua_State *L) {
- TextureResourceLoader *inst = new TextureResourceLoader();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.TextureResourceLoader");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_TextureResourceLoader_loadResource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- TextureResourceLoader *inst = (TextureResourceLoader*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String path = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- ResourcePool* targetPool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 3));
- PolyBase *ptrRetVal = (PolyBase*)inst->loadResource(path, targetPool);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Scene(lua_State *L) {
- luaL_checktype(L, 1, LUA_TNUMBER);
- int sceneType = lua_tointeger(L, 1);
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool virtualScene = lua_toboolean(L, 2) != 0;
- Scene *inst = new Scene(sceneType, virtualScene);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Scene");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Scene_addEntity(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* entity = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- inst->addEntity(entity);
- return 0;
- }
- static int Polycode_Scene_addChild(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* entity = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- inst->addChild(entity);
- return 0;
- }
- static int Polycode_Scene_removeEntity(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* entity = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- inst->removeEntity(entity);
- return 0;
- }
- static int Polycode_Scene_getDefaultCamera(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getDefaultCamera();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Scene_getActiveCamera(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getActiveCamera();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Scene_setActiveCamera(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Camera* camera = (Camera*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setActiveCamera(camera);
- return 0;
- }
- static int Polycode_Scene_enableFog(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool enable = lua_toboolean(L, 2) != 0;
- inst->enableFog(enable);
- return 0;
- }
- static int Polycode_Scene_setFogProperties(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int fogMode = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Color color = *(Color*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number density = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number startDepth = lua_tonumber(L, 5);
- luaL_checktype(L, 6, LUA_TNUMBER);
- Number endDepth = lua_tonumber(L, 6);
- inst->setFogProperties(fogMode, color, density, startDepth, endDepth);
- return 0;
- }
- static int Polycode_Scene_setSceneType(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int newType = lua_tointeger(L, 2);
- inst->setSceneType(newType);
- return 0;
- }
- static int Polycode_Scene_fixedUpdate(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- inst->fixedUpdate();
- return 0;
- }
- static int Polycode_Scene_Update(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Update();
- return 0;
- }
- static int Polycode_Scene_setVirtual(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->setVirtual(val);
- return 0;
- }
- static int Polycode_Scene_isVirtual(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->isVirtual());
- return 1;
- }
- static int Polycode_Scene_isEnabled(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->isEnabled());
- return 1;
- }
- static int Polycode_Scene_setEnabled(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool enabled = lua_toboolean(L, 2) != 0;
- inst->setEnabled(enabled);
- return 0;
- }
- static int Polycode_Scene_Render(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Camera* targetCamera = (Camera*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- RenderBuffer* targetFramebuffer = (RenderBuffer*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- Material* overrideMaterial = (Material*) *((PolyBase**)lua_touserdata(L, 4));
- luaL_checktype(L, 5, LUA_TBOOLEAN);
- bool sendLights = lua_toboolean(L, 5) != 0;
- inst->Render(targetCamera, targetFramebuffer, overrideMaterial, sendLights);
- return 0;
- }
- static int Polycode_Scene_setOverrideMaterial(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Material* material = (Material*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setOverrideMaterial(material);
- return 0;
- }
- static int Polycode_Scene_projectRayFromCameraAndViewportCoordinate(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Camera* camera = (Camera*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Vector2 coordinate = *(Vector2*) *((PolyBase**)lua_touserdata(L, 3));
- Ray *retInst = new Ray();
- *retInst = inst->projectRayFromCameraAndViewportCoordinate(camera, coordinate);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Ray");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Scene_addLight(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- SceneLight* light = (SceneLight*) *((PolyBase**)lua_touserdata(L, 2));
- inst->addLight(light);
- return 0;
- }
- static int Polycode_Scene_removeLight(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- SceneLight* light = (SceneLight*) *((PolyBase**)lua_touserdata(L, 2));
- inst->removeLight(light);
- return 0;
- }
- static int Polycode_Scene_getNumLights(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumLights());
- return 1;
- }
- static int Polycode_Scene_getLight(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getLight(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Scene_doVisibilityChecking(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->doVisibilityChecking(val);
- return 0;
- }
- static int Polycode_Scene_doesVisibilityChecking(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene *inst = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->doesVisibilityChecking());
- return 1;
- }
- static int Polycode_SceneEntityInstanceResourceEntry(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance* instance = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- SceneEntityInstanceResourceEntry *inst = new SceneEntityInstanceResourceEntry(instance);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.SceneEntityInstanceResourceEntry");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_SceneEntityInstanceResourceEntry_getInstance(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstanceResourceEntry *inst = (SceneEntityInstanceResourceEntry*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getInstance();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneEntityInstanceResourceEntry_reloadResource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstanceResourceEntry *inst = (SceneEntityInstanceResourceEntry*) *((PolyBase**)lua_touserdata(L, 1));
- inst->reloadResource();
- return 0;
- }
- static int Polycode_SceneEntityInstance(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene* parentScene = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- SceneEntityInstance *inst = new SceneEntityInstance(parentScene, fileName);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.SceneEntityInstance");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_SceneEntityInstance_BlankSceneEntityInstance(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance *inst = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Scene* parentScene = (Scene*) *((PolyBase**)lua_touserdata(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->BlankSceneEntityInstance(parentScene);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneEntityInstance_Clone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance *inst = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 2) != 0;
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 3) != 0;
- PolyBase *ptrRetVal = (PolyBase*)inst->Clone(deepClone, ignoreEditorOnly);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneEntityInstance_applyClone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance *inst = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* clone = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 3) != 0;
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 4) != 0;
- inst->applyClone(clone, deepClone, ignoreEditorOnly);
- return 0;
- }
- static int Polycode_SceneEntityInstance_reloadEntityInstance(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance *inst = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- inst->reloadEntityInstance();
- return 0;
- }
- static int Polycode_SceneEntityInstance_clearInstance(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance *inst = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- inst->clearInstance();
- return 0;
- }
- static int Polycode_SceneEntityInstance_parseObjectIntoCurve(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance *inst = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ObjectEntry* entry = (ObjectEntry*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- BezierCurve* curve = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 3));
- inst->parseObjectIntoCurve(entry, curve);
- return 0;
- }
- static int Polycode_SceneEntityInstance_loadObjectEntryIntoEntity(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance *inst = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ObjectEntry* entry = (ObjectEntry*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Entity* targetEntity = (Entity*) *((PolyBase**)lua_touserdata(L, 3));
- luaL_checktype(L, 4, LUA_TNUMBER);
- int entityFileVersion = lua_tointeger(L, 4);
- PolyBase *ptrRetVal = (PolyBase*)inst->loadObjectEntryIntoEntity(entry, targetEntity, entityFileVersion);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneEntityInstance_loadFromFile(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance *inst = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- lua_pushboolean(L, inst->loadFromFile(fileName));
- return 1;
- }
- static int Polycode_SceneEntityInstance_applySceneMesh(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance *inst = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ObjectEntry* entry = (ObjectEntry*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- SceneMesh* sceneMesh = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 3));
- inst->applySceneMesh(entry, sceneMesh);
- return 0;
- }
- static int Polycode_SceneEntityInstance_linkResourcePool(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance *inst = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ResourcePool* pool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 2));
- inst->linkResourcePool(pool);
- return 0;
- }
- static int Polycode_SceneEntityInstance_getNumLinkedResourePools(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance *inst = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumLinkedResourePools());
- return 1;
- }
- static int Polycode_SceneEntityInstance_getLinkedResourcePoolAtIndex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance *inst = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getLinkedResourcePoolAtIndex(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneEntityInstance_unlinkResourcePool(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance *inst = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ResourcePool* pool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 2));
- inst->unlinkResourcePool(pool);
- return 0;
- }
- static int Polycode_SceneEntityInstance_getResourceEntry(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance *inst = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getResourceEntry();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneEntityInstance_getTopLevelResourcePool(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance *inst = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getTopLevelResourcePool();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneEntityInstance_hasLayerID(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance *inst = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- char layerID = *(char*) *((PolyBase**)lua_touserdata(L, 2));
- lua_pushboolean(L, inst->hasLayerID(layerID));
- return 1;
- }
- static int Polycode_SceneEntityInstance_getNumLayers(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance *inst = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumLayers());
- return 1;
- }
- static int Polycode_SceneEntityInstance_getLayerAtIndex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance *inst = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getLayerAtIndex(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneEntityInstance_removeLayer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance *inst = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- SceneEntityInstanceLayer* layer = (SceneEntityInstanceLayer*) *((PolyBase**)lua_touserdata(L, 2));
- inst->removeLayer(layer);
- return 0;
- }
- static int Polycode_SceneEntityInstance_createNewLayer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance *inst = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->createNewLayer(name);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneEntityInstance_getFileName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance *inst = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->getFileName().c_str());
- return 1;
- }
- static int Polycode_SceneEntityInstanceLayer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstance* instance = (SceneEntityInstance*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- SceneEntityInstanceLayer *inst = new SceneEntityInstanceLayer(instance, name);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.SceneEntityInstanceLayer");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_SceneEntityInstanceLayer_setLayerVisibility(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneEntityInstanceLayer *inst = (SceneEntityInstanceLayer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->setLayerVisibility(val);
- return 0;
- }
- static int Polycode_SceneImage(lua_State *L) {
- luaL_checktype(L, 1, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 1));
- SceneImage *inst = new SceneImage(fileName);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.SceneImage");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_SceneImage_SceneImageWithImage(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneImage *inst = (SceneImage*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Image* image = (Image*) *((PolyBase**)lua_touserdata(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->SceneImageWithImage(image);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneImage_SceneImageWithTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneImage *inst = (SceneImage*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Texture* texture = (Texture*) *((PolyBase**)lua_touserdata(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->SceneImageWithTexture(texture);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneImage_Clone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneImage *inst = (SceneImage*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 2) != 0;
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 3) != 0;
- PolyBase *ptrRetVal = (PolyBase*)inst->Clone(deepClone, ignoreEditorOnly);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneImage_applyClone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneImage *inst = (SceneImage*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* clone = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 3) != 0;
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 4) != 0;
- inst->applyClone(clone, deepClone, ignoreEditorOnly);
- return 0;
- }
- static int Polycode_SceneImage_setImageCoordinates(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneImage *inst = (SceneImage*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number width = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number height = lua_tonumber(L, 5);
- luaL_checktype(L, 6, LUA_TNUMBER);
- Number realWidth = lua_tonumber(L, 6);
- luaL_checktype(L, 7, LUA_TNUMBER);
- Number realHeight = lua_tonumber(L, 7);
- inst->setImageCoordinates(x, y, width, height, realWidth, realHeight);
- return 0;
- }
- static int Polycode_SceneImage_getImageWidth(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneImage *inst = (SceneImage*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getImageWidth());
- return 1;
- }
- static int Polycode_SceneImage_getImageHeight(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneImage *inst = (SceneImage*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getImageHeight());
- return 1;
- }
- static int Polycode_SceneLabel(lua_State *L) {
- luaL_checktype(L, 1, LUA_TSTRING);
- String text = String(lua_tostring(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int size = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TSTRING);
- String fontName = String(lua_tostring(L, 3));
- luaL_checktype(L, 4, LUA_TNUMBER);
- int amode = lua_tointeger(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number actualHeight = lua_tonumber(L, 5);
- luaL_checktype(L, 6, LUA_TBOOLEAN);
- bool premultiplyAlpha = lua_toboolean(L, 6) != 0;
- luaL_checktype(L, 7, LUA_TUSERDATA);
- Color backgroundColor = *(Color*) *((PolyBase**)lua_touserdata(L, 7));
- luaL_checktype(L, 8, LUA_TUSERDATA);
- Color foregroundColor = *(Color*) *((PolyBase**)lua_touserdata(L, 8));
- SceneLabel *inst = new SceneLabel(text, size, fontName, amode, actualHeight, premultiplyAlpha, backgroundColor, foregroundColor);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.SceneLabel");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_SceneLabel_getText(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLabel *inst = (SceneLabel*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->getText().c_str());
- return 1;
- }
- static int Polycode_SceneLabel_setLabelActualHeight(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLabel *inst = (SceneLabel*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number actualHeight = lua_tonumber(L, 2);
- inst->setLabelActualHeight(actualHeight);
- return 0;
- }
- static int Polycode_SceneLabel_getLabelActualHeight(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLabel *inst = (SceneLabel*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getLabelActualHeight());
- return 1;
- }
- static int Polycode_SceneLabel_Render(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLabel *inst = (SceneLabel*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- GPUDrawBuffer* buffer = (GPUDrawBuffer*) *((PolyBase**)lua_touserdata(L, 2));
- inst->Render(buffer);
- return 0;
- }
- static int Polycode_SceneLabel_getTextWidthForString(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLabel *inst = (SceneLabel*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String text = String(lua_tostring(L, 2));
- lua_pushinteger(L, inst->getTextWidthForString(text));
- return 1;
- }
- static int Polycode_SceneLabel_setText(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLabel *inst = (SceneLabel*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String newText = String(lua_tostring(L, 2));
- inst->setText(newText);
- return 0;
- }
- static int Polycode_SceneLabel_Clone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLabel *inst = (SceneLabel*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 2) != 0;
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 3) != 0;
- PolyBase *ptrRetVal = (PolyBase*)inst->Clone(deepClone, ignoreEditorOnly);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneLabel_applyClone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLabel *inst = (SceneLabel*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* clone = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 3) != 0;
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 4) != 0;
- inst->applyClone(clone, deepClone, ignoreEditorOnly);
- return 0;
- }
- static int Polycode_SceneLabel_updateFromLabel(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLabel *inst = (SceneLabel*) *((PolyBase**)lua_touserdata(L, 1));
- inst->updateFromLabel();
- return 0;
- }
- static int Polycode_SceneLabel_getLabel(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLabel *inst = (SceneLabel*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getLabel();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneLight(lua_State *L) {
- luaL_checktype(L, 1, LUA_TNUMBER);
- int type = lua_tointeger(L, 1);
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Scene* parentScene = (Scene*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number intensity = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number constantAttenuation = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number linearAttenuation = lua_tonumber(L, 5);
- luaL_checktype(L, 6, LUA_TNUMBER);
- Number quadraticAttenuation = lua_tonumber(L, 6);
- SceneLight *inst = new SceneLight(type, parentScene, intensity, constantAttenuation, linearAttenuation, quadraticAttenuation);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.SceneLight");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_SceneLight_getIntensity(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getIntensity());
- return 1;
- }
- static int Polycode_SceneLight_setIntensity(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number newIntensity = lua_tonumber(L, 2);
- inst->setIntensity(newIntensity);
- return 0;
- }
- static int Polycode_SceneLight_setAttenuation(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number constantAttenuation = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number linearAttenuation = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number quadraticAttenuation = lua_tonumber(L, 4);
- inst->setAttenuation(constantAttenuation, linearAttenuation, quadraticAttenuation);
- return 0;
- }
- static int Polycode_SceneLight_getConstantAttenuation(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getConstantAttenuation());
- return 1;
- }
- static int Polycode_SceneLight_getLinearAttenuation(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getLinearAttenuation());
- return 1;
- }
- static int Polycode_SceneLight_getQuadraticAttenuation(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getQuadraticAttenuation());
- return 1;
- }
- static int Polycode_SceneLight_getType(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getType());
- return 1;
- }
- static int Polycode_SceneLight_renderDepthMap(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Scene* scene = (Scene*) *((PolyBase**)lua_touserdata(L, 2));
- inst->renderDepthMap(scene);
- return 0;
- }
- static int Polycode_SceneLight_getZBufferTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getZBufferTexture();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneLight_setSpecularLightColor(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number r = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number g = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number b = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number a = lua_tonumber(L, 5);
- inst->setSpecularLightColor(r, g, b, a);
- return 0;
- }
- static int Polycode_SceneLight_setDiffuseLightColor(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number r = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number g = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number b = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number a = lua_tonumber(L, 5);
- inst->setDiffuseLightColor(r, g, b, a);
- return 0;
- }
- static int Polycode_SceneLight_setLightColor(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number r = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number g = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number b = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number a = lua_tonumber(L, 5);
- inst->setLightColor(r, g, b, a);
- return 0;
- }
- static int Polycode_SceneLight_setSpotlightProperties(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number spotlightCutoff = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number spotlightExponent = lua_tonumber(L, 3);
- inst->setSpotlightProperties(spotlightCutoff, spotlightExponent);
- return 0;
- }
- static int Polycode_SceneLight_getSpotlightCutoff(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getSpotlightCutoff());
- return 1;
- }
- static int Polycode_SceneLight_getSpotlightExponent(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getSpotlightExponent());
- return 1;
- }
- static int Polycode_SceneLight_enableShadows(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- luaL_checktype(L, 3, LUA_TNUMBER);
- int resolution = lua_tointeger(L, 3);
- inst->enableShadows(val, resolution);
- return 0;
- }
- static int Polycode_SceneLight_setShadowMapFOV(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number fov = lua_tonumber(L, 2);
- inst->setShadowMapFOV(fov);
- return 0;
- }
- static int Polycode_SceneLight_getShadowMapFOV(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getShadowMapFOV());
- return 1;
- }
- static int Polycode_SceneLight_getShadowMapResolution(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getShadowMapResolution());
- return 1;
- }
- static int Polycode_SceneLight_areShadowsEnabled(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->areShadowsEnabled());
- return 1;
- }
- static int Polycode_SceneLight_getLightType(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getLightType());
- return 1;
- }
- static int Polycode_SceneLight_setLightImportance(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int newImportance = lua_tointeger(L, 2);
- inst->setLightImportance(newImportance);
- return 0;
- }
- static int Polycode_SceneLight_getLightImportance(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getLightImportance());
- return 1;
- }
- static int Polycode_SceneLight_setLightType(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int lightType = lua_tointeger(L, 2);
- inst->setLightType(lightType);
- return 0;
- }
- static int Polycode_SceneLight_Clone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 2) != 0;
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 3) != 0;
- PolyBase *ptrRetVal = (PolyBase*)inst->Clone(deepClone, ignoreEditorOnly);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneLight_applyClone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* clone = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 3) != 0;
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 4) != 0;
- inst->applyClone(clone, deepClone, ignoreEditorOnly);
- return 0;
- }
- static int Polycode_SceneLight_getParentScene(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getParentScene();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneLight_setParentScene(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Scene* scene = (Scene*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setParentScene(scene);
- return 0;
- }
- static int Polycode_SceneLight_getSpotlightCamera(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getSpotlightCamera();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneLight_getLightInfo(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLight *inst = (SceneLight*) *((PolyBase**)lua_touserdata(L, 1));
- LightInfo *retInst = new LightInfo();
- *retInst = inst->getLightInfo();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.LightInfo");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_SceneCurve(lua_State *L) {
- SceneCurve *inst = new SceneCurve();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.SceneCurve");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_SceneCurve_SceneCurveWithCurve(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneCurve *inst = (SceneCurve*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- BezierCurve* curve = (BezierCurve*) *((PolyBase**)lua_touserdata(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->SceneCurveWithCurve(curve);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneCurve_getWorldPointAt(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneCurve *inst = (SceneCurve*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number t = lua_tonumber(L, 2);
- Vector3 *retInst = new Vector3();
- *retInst = inst->getWorldPointAt(t);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_SceneCurve_Update(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneCurve *inst = (SceneCurve*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Update();
- return 0;
- }
- static int Polycode_SceneCurve_Clone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneCurve *inst = (SceneCurve*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 2) != 0;
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 3) != 0;
- PolyBase *ptrRetVal = (PolyBase*)inst->Clone(deepClone, ignoreEditorOnly);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneCurve_applyClone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneCurve *inst = (SceneCurve*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* clone = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 3) != 0;
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 4) != 0;
- inst->applyClone(clone, deepClone, ignoreEditorOnly);
- return 0;
- }
- static int Polycode_SceneCurve_getCurve(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneCurve *inst = (SceneCurve*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getCurve();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneLine(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Entity* ent1 = (Entity*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* ent2 = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- SceneLine *inst = new SceneLine(ent1, ent2);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.SceneLine");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_SceneLine_SceneLineWithPositions(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLine *inst = (SceneLine*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 start = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Vector3 end = *(Vector3*) *((PolyBase**)lua_touserdata(L, 3));
- PolyBase *ptrRetVal = (PolyBase*)inst->SceneLineWithPositions(start, end);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneLine_setStart(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLine *inst = (SceneLine*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 start = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setStart(start);
- return 0;
- }
- static int Polycode_SceneLine_setEnd(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLine *inst = (SceneLine*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 end = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setEnd(end);
- return 0;
- }
- static int Polycode_SceneLine_Update(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneLine *inst = (SceneLine*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Update();
- return 0;
- }
- static int Polycode_SceneManager(lua_State *L) {
- SceneManager *inst = new SceneManager();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.SceneManager");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_SceneManager_addScene(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneManager *inst = (SceneManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Scene* newScene = (Scene*) *((PolyBase**)lua_touserdata(L, 2));
- inst->addScene(newScene);
- return 0;
- }
- static int Polycode_SceneManager_removeScene(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneManager *inst = (SceneManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Scene* scene = (Scene*) *((PolyBase**)lua_touserdata(L, 2));
- inst->removeScene(scene);
- return 0;
- }
- static int Polycode_SceneManager_Update(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneManager *inst = (SceneManager*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Update();
- return 0;
- }
- static int Polycode_SceneManager_fixedUpdate(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneManager *inst = (SceneManager*) *((PolyBase**)lua_touserdata(L, 1));
- inst->fixedUpdate();
- return 0;
- }
- static int Polycode_SceneManager_Render(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneManager *inst = (SceneManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Polycode::Rectangle viewport = *(Polycode::Rectangle*) *((PolyBase**)lua_touserdata(L, 2));
- inst->Render(viewport);
- return 0;
- }
- static int Polycode_SceneManager_renderVirtual(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneManager *inst = (SceneManager*) *((PolyBase**)lua_touserdata(L, 1));
- inst->renderVirtual();
- return 0;
- }
- static int Polycode_SceneManager_registerRenderTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneManager *inst = (SceneManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- SceneRenderTexture* renderTexture = (SceneRenderTexture*) *((PolyBase**)lua_touserdata(L, 2));
- inst->registerRenderTexture(renderTexture);
- return 0;
- }
- static int Polycode_SceneManager_unregisterRenderTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneManager *inst = (SceneManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- SceneRenderTexture* renderTexture = (SceneRenderTexture*) *((PolyBase**)lua_touserdata(L, 2));
- inst->unregisterRenderTexture(renderTexture);
- return 0;
- }
- static int Polycode_SceneManager_setRenderer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneManager *inst = (SceneManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Renderer* renderer = (Renderer*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setRenderer(renderer);
- return 0;
- }
- static int Polycode_SceneMesh(lua_State *L) {
- luaL_checktype(L, 1, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 1));
- SceneMesh *inst = new SceneMesh(fileName);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.SceneMesh");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_SceneMesh_SceneMeshFromMesh(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Mesh* mesh = (Mesh*) *((PolyBase**)lua_touserdata(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->SceneMeshFromMesh(mesh);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneMesh_SceneMeshWithType(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int meshType = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->SceneMeshWithType(meshType);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneMesh_Render(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- GPUDrawBuffer* buffer = (GPUDrawBuffer*) *((PolyBase**)lua_touserdata(L, 2));
- inst->Render(buffer);
- return 0;
- }
- static int Polycode_SceneMesh_getShaderPass(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- ShaderPass *retInst = new ShaderPass();
- *retInst = inst->getShaderPass(index);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.ShaderPass");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_SceneMesh_getNumShaderPasses(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumShaderPasses());
- return 1;
- }
- static int Polycode_SceneMesh_addShaderPass(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ShaderPass pass = *(ShaderPass*) *((PolyBase**)lua_touserdata(L, 2));
- inst->addShaderPass(pass);
- return 0;
- }
- static int Polycode_SceneMesh_removeShaderPass(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int shaderIndex = lua_tointeger(L, 2);
- inst->removeShaderPass(shaderIndex);
- return 0;
- }
- static int Polycode_SceneMesh_getMesh(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getMesh();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneMesh_getMaterial(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getMaterial();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneMesh_loadSkeleton(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->loadSkeleton(fileName);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneMesh_clearMaterial(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- inst->clearMaterial();
- return 0;
- }
- static int Polycode_SceneMesh_setMaterial(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Material* material = (Material*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setMaterial(material);
- return 0;
- }
- static int Polycode_SceneMesh_rebuildAttributes(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- inst->rebuildAttributes();
- return 0;
- }
- static int Polycode_SceneMesh_setMaterialByName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String materialName = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- ResourcePool* resourcePool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 3));
- inst->setMaterialByName(materialName, resourcePool);
- return 0;
- }
- static int Polycode_SceneMesh_setMesh(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Mesh* mesh = (Mesh*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setMesh(mesh);
- return 0;
- }
- static int Polycode_SceneMesh_setSkeleton(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Skeleton* skeleton = (Skeleton*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setSkeleton(skeleton);
- return 0;
- }
- static int Polycode_SceneMesh_getSkeleton(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getSkeleton();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneMesh_applySkeletonLocally(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- inst->applySkeletonLocally();
- return 0;
- }
- static int Polycode_SceneMesh_setLineWidth(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number newWidth = lua_tonumber(L, 2);
- inst->setLineWidth(newWidth);
- return 0;
- }
- static int Polycode_SceneMesh_getFilename(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->getFilename().c_str());
- return 1;
- }
- static int Polycode_SceneMesh_setFilename(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- inst->setFilename(fileName);
- return 0;
- }
- static int Polycode_SceneMesh_loadFromFile(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- inst->loadFromFile(fileName);
- return 0;
- }
- static int Polycode_SceneMesh_customHitDetection(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Ray ray = *(Ray*) *((PolyBase**)lua_touserdata(L, 2));
- lua_pushboolean(L, inst->customHitDetection(ray));
- return 1;
- }
- static int Polycode_SceneMesh_setForceMaterial(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool forceMaterial = lua_toboolean(L, 2) != 0;
- inst->setForceMaterial(forceMaterial);
- return 0;
- }
- static int Polycode_SceneMesh_getForceMaterial(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->getForceMaterial());
- return 1;
- }
- static int Polycode_SceneMesh_Clone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 2) != 0;
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 3) != 0;
- PolyBase *ptrRetVal = (PolyBase*)inst->Clone(deepClone, ignoreEditorOnly);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneMesh_applyClone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneMesh *inst = (SceneMesh*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* clone = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 3) != 0;
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 4) != 0;
- inst->applyClone(clone, deepClone, ignoreEditorOnly);
- return 0;
- }
- static int Polycode_ScenePrimitive(lua_State *L) {
- luaL_checktype(L, 1, LUA_TNUMBER);
- int type = lua_tointeger(L, 1);
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number v1 = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number v2 = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number v3 = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number v4 = lua_tonumber(L, 5);
- luaL_checktype(L, 6, LUA_TNUMBER);
- Number v5 = lua_tonumber(L, 6);
- ScenePrimitive *inst = new ScenePrimitive(type, v1, v2, v3, v4, v5);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.ScenePrimitive");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_ScenePrimitive_setPrimitiveOptions(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ScenePrimitive *inst = (ScenePrimitive*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int type = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number v1 = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number v2 = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number v3 = lua_tonumber(L, 5);
- luaL_checktype(L, 6, LUA_TNUMBER);
- Number v4 = lua_tonumber(L, 6);
- luaL_checktype(L, 7, LUA_TNUMBER);
- Number v5 = lua_tonumber(L, 7);
- inst->setPrimitiveOptions(type, v1, v2, v3, v4, v5);
- return 0;
- }
- static int Polycode_ScenePrimitive_recreatePrimitive(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ScenePrimitive *inst = (ScenePrimitive*) *((PolyBase**)lua_touserdata(L, 1));
- inst->recreatePrimitive();
- return 0;
- }
- static int Polycode_ScenePrimitive_getPrimitiveType(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ScenePrimitive *inst = (ScenePrimitive*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getPrimitiveType());
- return 1;
- }
- static int Polycode_ScenePrimitive_getPrimitiveParameter1(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ScenePrimitive *inst = (ScenePrimitive*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getPrimitiveParameter1());
- return 1;
- }
- static int Polycode_ScenePrimitive_getPrimitiveParameter2(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ScenePrimitive *inst = (ScenePrimitive*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getPrimitiveParameter2());
- return 1;
- }
- static int Polycode_ScenePrimitive_getPrimitiveParameter3(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ScenePrimitive *inst = (ScenePrimitive*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getPrimitiveParameter3());
- return 1;
- }
- static int Polycode_ScenePrimitive_getPrimitiveParameter4(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ScenePrimitive *inst = (ScenePrimitive*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getPrimitiveParameter4());
- return 1;
- }
- static int Polycode_ScenePrimitive_getPrimitiveParameter5(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ScenePrimitive *inst = (ScenePrimitive*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getPrimitiveParameter5());
- return 1;
- }
- static int Polycode_ScenePrimitive_Clone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ScenePrimitive *inst = (ScenePrimitive*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 2) != 0;
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 3) != 0;
- PolyBase *ptrRetVal = (PolyBase*)inst->Clone(deepClone, ignoreEditorOnly);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ScenePrimitive_applyClone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ScenePrimitive *inst = (ScenePrimitive*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* clone = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 3) != 0;
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 4) != 0;
- inst->applyClone(clone, deepClone, ignoreEditorOnly);
- return 0;
- }
- static int Polycode_SceneRenderTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Scene* targetScene = (Scene*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Camera* targetCamera = (Camera*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int renderWidth = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int renderHeight = lua_tointeger(L, 4);
- luaL_checktype(L, 5, LUA_TBOOLEAN);
- bool floatingPoint = lua_toboolean(L, 5) != 0;
- SceneRenderTexture *inst = new SceneRenderTexture(targetScene, targetCamera, renderWidth, renderHeight, floatingPoint);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.SceneRenderTexture");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_SceneRenderTexture_getTargetTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneRenderTexture *inst = (SceneRenderTexture*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getTargetTexture();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneRenderTexture_getFilterColorBufferTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneRenderTexture *inst = (SceneRenderTexture*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getFilterColorBufferTexture();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneRenderTexture_getFilterZBufferTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneRenderTexture *inst = (SceneRenderTexture*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getFilterZBufferTexture();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneRenderTexture_Render(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneRenderTexture *inst = (SceneRenderTexture*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Render();
- return 0;
- }
- static int Polycode_SceneRenderTexture_saveToImage(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneRenderTexture *inst = (SceneRenderTexture*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->saveToImage();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneRenderTexture_resizeRenderTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneRenderTexture *inst = (SceneRenderTexture*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int newWidth = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int newHeight = lua_tointeger(L, 3);
- inst->resizeRenderTexture(newWidth, newHeight);
- return 0;
- }
- static int Polycode_SceneRenderTexture_getTargetScene(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneRenderTexture *inst = (SceneRenderTexture*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getTargetScene();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneRenderTexture_getTargetCamera(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneRenderTexture *inst = (SceneRenderTexture*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getTargetCamera();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneSound(lua_State *L) {
- luaL_checktype(L, 1, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number referenceDistance = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number maxDistance = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool directionalSound = lua_toboolean(L, 4) != 0;
- SceneSound *inst = new SceneSound(fileName, referenceDistance, maxDistance, directionalSound);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.SceneSound");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_SceneSound_Update(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSound *inst = (SceneSound*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Update();
- return 0;
- }
- static int Polycode_SceneSound_Clone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSound *inst = (SceneSound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 2) != 0;
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 3) != 0;
- PolyBase *ptrRetVal = (PolyBase*)inst->Clone(deepClone, ignoreEditorOnly);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneSound_applyClone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSound *inst = (SceneSound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* clone = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 3) != 0;
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 4) != 0;
- inst->applyClone(clone, deepClone, ignoreEditorOnly);
- return 0;
- }
- static int Polycode_SceneSound_isDirectionalSound(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSound *inst = (SceneSound*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->isDirectionalSound());
- return 1;
- }
- static int Polycode_SceneSound_setDirectionalSound(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSound *inst = (SceneSound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->setDirectionalSound(val);
- return 0;
- }
- static int Polycode_SceneSound_getSound(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSound *inst = (SceneSound*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getSound();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneSound_setLoopOnLoad(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSound *inst = (SceneSound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->setLoopOnLoad(val);
- return 0;
- }
- static int Polycode_SceneSound_getLoopOnLoad(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSound *inst = (SceneSound*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->getLoopOnLoad());
- return 1;
- }
- static int Polycode_SceneSoundListener(lua_State *L) {
- SceneSoundListener *inst = new SceneSoundListener();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.SceneSoundListener");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_SceneSoundListener_Update(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSoundListener *inst = (SceneSoundListener*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Update();
- return 0;
- }
- static int Polycode_SceneSprite(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteSet* spriteSet = (SpriteSet*) *((PolyBase**)lua_touserdata(L, 1));
- SceneSprite *inst = new SceneSprite(spriteSet);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.SceneSprite");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_SceneSprite_Clone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSprite *inst = (SceneSprite*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 2) != 0;
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 3) != 0;
- PolyBase *ptrRetVal = (PolyBase*)inst->Clone(deepClone, ignoreEditorOnly);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneSprite_applyClone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSprite *inst = (SceneSprite*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Entity* clone = (Entity*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool deepClone = lua_toboolean(L, 3) != 0;
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool ignoreEditorOnly = lua_toboolean(L, 4) != 0;
- inst->applyClone(clone, deepClone, ignoreEditorOnly);
- return 0;
- }
- static int Polycode_SceneSprite_getSpriteSet(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSprite *inst = (SceneSprite*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getSpriteSet();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneSprite_getCurrentSprite(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSprite *inst = (SceneSprite*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getCurrentSprite();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneSprite_setSpriteSet(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSprite *inst = (SceneSprite*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- SpriteSet* spriteSet = (SpriteSet*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setSpriteSet(spriteSet);
- return 0;
- }
- static int Polycode_SceneSprite_setSpriteByName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSprite *inst = (SceneSprite*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String spriteName = String(lua_tostring(L, 2));
- inst->setSpriteByName(spriteName);
- return 0;
- }
- static int Polycode_SceneSprite_setCurrentFrame(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSprite *inst = (SceneSprite*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int frameIndex = lua_tointeger(L, 2);
- inst->setCurrentFrame(frameIndex);
- return 0;
- }
- static int Polycode_SceneSprite_getCurrentFrame(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSprite *inst = (SceneSprite*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getCurrentFrame());
- return 1;
- }
- static int Polycode_SceneSprite_Update(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSprite *inst = (SceneSprite*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Update();
- return 0;
- }
- static int Polycode_SceneSprite_Render(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSprite *inst = (SceneSprite*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- GPUDrawBuffer* buffer = (GPUDrawBuffer*) *((PolyBase**)lua_touserdata(L, 2));
- inst->Render(buffer);
- return 0;
- }
- static int Polycode_SceneSprite_getSpriteBoundingBox(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSprite *inst = (SceneSprite*) *((PolyBase**)lua_touserdata(L, 1));
- Vector3 *retInst = new Vector3();
- *retInst = inst->getSpriteBoundingBox();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_SceneSprite_setPaused(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSprite *inst = (SceneSprite*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->setPaused(val);
- return 0;
- }
- static int Polycode_SceneSprite_isPaused(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSprite *inst = (SceneSprite*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->isPaused());
- return 1;
- }
- static int Polycode_SceneSprite_setSprite(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSprite *inst = (SceneSprite*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Sprite* spriteEntry = (Sprite*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setSprite(spriteEntry);
- return 0;
- }
- static int Polycode_SceneSprite_setSpriteState(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSprite *inst = (SceneSprite*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- SpriteState* spriteState = (SpriteState*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int startingFrame = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool playOnce = lua_toboolean(L, 4) != 0;
- inst->setSpriteState(spriteState, startingFrame, playOnce);
- return 0;
- }
- static int Polycode_SceneSprite_setSpriteStateByName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSprite *inst = (SceneSprite*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int startingFrame = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool playOnce = lua_toboolean(L, 4) != 0;
- inst->setSpriteStateByName(name, startingFrame, playOnce);
- return 0;
- }
- static int Polycode_SceneSprite_getCurrentSpriteState(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSprite *inst = (SceneSprite*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getCurrentSpriteState();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SceneSprite_getStartOnRandomFrame(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSprite *inst = (SceneSprite*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->getStartOnRandomFrame());
- return 1;
- }
- static int Polycode_SceneSprite_setStartOnRandomFrame(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SceneSprite *inst = (SceneSprite*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->setStartOnRandomFrame(val);
- return 0;
- }
- static int Polycode_Sprite(lua_State *L) {
- luaL_checktype(L, 1, LUA_TSTRING);
- String name = String(lua_tostring(L, 1));
- Sprite *inst = new Sprite(name);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Sprite");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Sprite_getName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sprite *inst = (Sprite*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->getName().c_str());
- return 1;
- }
- static int Polycode_Sprite_setName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sprite *inst = (Sprite*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- inst->setName(name);
- return 0;
- }
- static int Polycode_Sprite_addSpriteState(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sprite *inst = (Sprite*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- SpriteState* state = (SpriteState*) *((PolyBase**)lua_touserdata(L, 2));
- inst->addSpriteState(state);
- return 0;
- }
- static int Polycode_Sprite_removeSpriteState(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sprite *inst = (Sprite*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- SpriteState* state = (SpriteState*) *((PolyBase**)lua_touserdata(L, 2));
- inst->removeSpriteState(state);
- return 0;
- }
- static int Polycode_Sprite_getNumStates(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sprite *inst = (Sprite*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumStates());
- return 1;
- }
- static int Polycode_Sprite_getState(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sprite *inst = (Sprite*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getState(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Sprite_getStateByName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sprite *inst = (Sprite*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->getStateByName(name);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Sprite_setParentSpritSet(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sprite *inst = (Sprite*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- SpriteSet* spriteSet = (SpriteSet*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setParentSpritSet(spriteSet);
- return 0;
- }
- static int Polycode_Sprite_getParentSpriteSet(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sprite *inst = (Sprite*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getParentSpriteSet();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SpriteSet(lua_State *L) {
- luaL_checktype(L, 1, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ResourcePool* parentPool = (ResourcePool*) *((PolyBase**)lua_touserdata(L, 2));
- SpriteSet *inst = new SpriteSet(fileName, parentPool);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.SpriteSet");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_SpriteSet_setTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteSet *inst = (SpriteSet*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Texture* texture = (Texture*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setTexture(texture);
- return 0;
- }
- static int Polycode_SpriteSet_getTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteSet *inst = (SpriteSet*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getTexture();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SpriteSet_loadTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteSet *inst = (SpriteSet*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String imageFileName = String(lua_tostring(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->loadTexture(imageFileName);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SpriteSet_addSpriteEntry(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteSet *inst = (SpriteSet*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Sprite* newEntry = (Sprite*) *((PolyBase**)lua_touserdata(L, 2));
- inst->addSpriteEntry(newEntry);
- return 0;
- }
- static int Polycode_SpriteSet_getNumSpriteEntries(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteSet *inst = (SpriteSet*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumSpriteEntries());
- return 1;
- }
- static int Polycode_SpriteSet_getSpriteEntry(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteSet *inst = (SpriteSet*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getSpriteEntry(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SpriteSet_removeSprite(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteSet *inst = (SpriteSet*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Sprite* sprite = (Sprite*) *((PolyBase**)lua_touserdata(L, 2));
- inst->removeSprite(sprite);
- return 0;
- }
- static int Polycode_SpriteSet_loadSpriteSet(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteSet *inst = (SpriteSet*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- inst->loadSpriteSet(fileName);
- return 0;
- }
- static int Polycode_SpriteSet_addSpriteFrame(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteSet *inst = (SpriteSet*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- SpriteFrame frame = *(SpriteFrame*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool assignID = lua_toboolean(L, 3) != 0;
- inst->addSpriteFrame(frame, assignID);
- return 0;
- }
- static int Polycode_SpriteSet_getNumFrames(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteSet *inst = (SpriteSet*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumFrames());
- return 1;
- }
- static int Polycode_SpriteSet_getSpriteFrame(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteSet *inst = (SpriteSet*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- SpriteFrame *retInst = new SpriteFrame();
- *retInst = inst->getSpriteFrame(index);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.SpriteFrame");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_SpriteSet_getSpriteFrameByID(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteSet *inst = (SpriteSet*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int frameID = lua_tointeger(L, 2);
- SpriteFrame *retInst = new SpriteFrame();
- *retInst = inst->getSpriteFrameByID(frameID);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.SpriteFrame");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_SpriteSet_removeFrameByID(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteSet *inst = (SpriteSet*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int frameID = lua_tointeger(L, 2);
- inst->removeFrameByID(frameID);
- return 0;
- }
- static int Polycode_SpriteSet_setSpriteFrame(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteSet *inst = (SpriteSet*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- SpriteFrame frame = *(SpriteFrame*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setSpriteFrame(frame);
- return 0;
- }
- static int Polycode_SpriteSet_clearFrames(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteSet *inst = (SpriteSet*) *((PolyBase**)lua_touserdata(L, 1));
- inst->clearFrames();
- return 0;
- }
- static int Polycode_SpriteSet_createGridFrames(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteSet *inst = (SpriteSet*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int xCount = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int yCount = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TUSERDATA);
- Vector2 defaultAnchor = *(Vector2*) *((PolyBase**)lua_touserdata(L, 4));
- inst->createGridFrames(xCount, yCount, defaultAnchor);
- return 0;
- }
- static int Polycode_SpriteSet_createFramesFromIslands(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteSet *inst = (SpriteSet*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int minDistance = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Vector2 defaultAnchor = *(Vector2*) *((PolyBase**)lua_touserdata(L, 3));
- inst->createFramesFromIslands(minDistance, defaultAnchor);
- return 0;
- }
- static int Polycode_SpriteSet_getSpriteByName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteSet *inst = (SpriteSet*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String spriteName = String(lua_tostring(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->getSpriteByName(spriteName);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SpriteState(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteSet* spriteSet = (SpriteSet*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- SpriteState *inst = new SpriteState(spriteSet, name);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.SpriteState");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_SpriteState_setName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteState *inst = (SpriteState*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- inst->setName(name);
- return 0;
- }
- static int Polycode_SpriteState_getName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteState *inst = (SpriteState*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->getName().c_str());
- return 1;
- }
- static int Polycode_SpriteState_getNumFrameIDs(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteState *inst = (SpriteState*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumFrameIDs());
- return 1;
- }
- static int Polycode_SpriteState_getFrameIDAtIndex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteState *inst = (SpriteState*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- lua_pushinteger(L, inst->getFrameIDAtIndex(index));
- return 1;
- }
- static int Polycode_SpriteState_getMeshForFrameIndex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteState *inst = (SpriteState*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getMeshForFrameIndex(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SpriteState_insertFrame(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteState *inst = (SpriteState*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int frameID = lua_tointeger(L, 3);
- inst->insertFrame(index, frameID);
- return 0;
- }
- static int Polycode_SpriteState_removeFrameByIndex(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteState *inst = (SpriteState*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int frameIndex = lua_tointeger(L, 2);
- inst->removeFrameByIndex(frameIndex);
- return 0;
- }
- static int Polycode_SpriteState_clearFrames(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteState *inst = (SpriteState*) *((PolyBase**)lua_touserdata(L, 1));
- inst->clearFrames();
- return 0;
- }
- static int Polycode_SpriteState_setPixelsPerUnit(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteState *inst = (SpriteState*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number ppu = lua_tonumber(L, 2);
- inst->setPixelsPerUnit(ppu);
- return 0;
- }
- static int Polycode_SpriteState_getPixelsPerUnit(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteState *inst = (SpriteState*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getPixelsPerUnit());
- return 1;
- }
- static int Polycode_SpriteState_rebuildStateMeshes(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteState *inst = (SpriteState*) *((PolyBase**)lua_touserdata(L, 1));
- inst->rebuildStateMeshes();
- return 0;
- }
- static int Polycode_SpriteState_setStateFPS(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteState *inst = (SpriteState*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number fps = lua_tonumber(L, 2);
- inst->setStateFPS(fps);
- return 0;
- }
- static int Polycode_SpriteState_getStateFPS(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteState *inst = (SpriteState*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getStateFPS());
- return 1;
- }
- static int Polycode_SpriteState_getLargestFrameBoundingBox(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteState *inst = (SpriteState*) *((PolyBase**)lua_touserdata(L, 1));
- Vector3 *retInst = new Vector3();
- *retInst = inst->getLargestFrameBoundingBox();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_SpriteState_setBoundingBox(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteState *inst = (SpriteState*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector2 boundingBox = *(Vector2*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setBoundingBox(boundingBox);
- return 0;
- }
- static int Polycode_SpriteState_getBoundingBox(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteState *inst = (SpriteState*) *((PolyBase**)lua_touserdata(L, 1));
- Vector2 *retInst = new Vector2();
- *retInst = inst->getBoundingBox();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector2");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_SpriteState_getSpriteOffset(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteState *inst = (SpriteState*) *((PolyBase**)lua_touserdata(L, 1));
- Vector2 *retInst = new Vector2();
- *retInst = inst->getSpriteOffset();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector2");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_SpriteState_setSpriteOffset(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SpriteState *inst = (SpriteState*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector2 offset = *(Vector2*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setSpriteOffset(offset);
- return 0;
- }
- static int Polycode_ProgramParam(lua_State *L) {
- ProgramParam *inst = new ProgramParam();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.ProgramParam");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_ProgramParam_createParamData(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ProgramParam *inst = (ProgramParam*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int type = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->createParamData(type);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ProgramAttribute(lua_State *L) {
- ProgramAttribute *inst = new ProgramAttribute();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.ProgramAttribute");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_ShaderRenderTarget(lua_State *L) {
- ShaderRenderTarget *inst = new ShaderRenderTarget();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.ShaderRenderTarget");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Shader_getType(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Shader *inst = (Shader*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getType());
- return 1;
- }
- static int Polycode_Shader_setName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Shader *inst = (Shader*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- inst->setName(name);
- return 0;
- }
- static int Polycode_Shader_getName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Shader *inst = (Shader*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->getName().c_str());
- return 1;
- }
- static int Polycode_Shader_getParamPointer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Shader *inst = (Shader*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->getParamPointer(name);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Shader_getAttribPointer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Shader *inst = (Shader*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->getAttribPointer(name);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Shader_reload(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Shader *inst = (Shader*) *((PolyBase**)lua_touserdata(L, 1));
- inst->reload();
- return 0;
- }
- static int Polycode_Shader_getExpectedParamType(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Shader *inst = (Shader*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- lua_pushinteger(L, inst->getExpectedParamType(name));
- return 1;
- }
- static int Polycode_Shader_setVertexProgram(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Shader *inst = (Shader*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ShaderProgram* vp = (ShaderProgram*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setVertexProgram(vp);
- return 0;
- }
- static int Polycode_Shader_setFragmentProgram(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Shader *inst = (Shader*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ShaderProgram* fp = (ShaderProgram*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setFragmentProgram(fp);
- return 0;
- }
- static int Polycode_LocalShaderParam(lua_State *L) {
- LocalShaderParam *inst = new LocalShaderParam();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.LocalShaderParam");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_LocalShaderParam_Copy(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- LocalShaderParam *inst = (LocalShaderParam*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->Copy();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_LocalShaderParam_getNumber(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- LocalShaderParam *inst = (LocalShaderParam*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getNumber());
- return 1;
- }
- static int Polycode_LocalShaderParam_getVector2(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- LocalShaderParam *inst = (LocalShaderParam*) *((PolyBase**)lua_touserdata(L, 1));
- Vector2 *retInst = new Vector2();
- *retInst = inst->getVector2();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector2");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_LocalShaderParam_getVector3(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- LocalShaderParam *inst = (LocalShaderParam*) *((PolyBase**)lua_touserdata(L, 1));
- Vector3 *retInst = new Vector3();
- *retInst = inst->getVector3();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_LocalShaderParam_getMatrix4(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- LocalShaderParam *inst = (LocalShaderParam*) *((PolyBase**)lua_touserdata(L, 1));
- Matrix4 *retInst = new Matrix4();
- *retInst = inst->getMatrix4();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Matrix4");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_LocalShaderParam_getColor(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- LocalShaderParam *inst = (LocalShaderParam*) *((PolyBase**)lua_touserdata(L, 1));
- Color *retInst = new Color();
- *retInst = inst->getColor();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Color");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_LocalShaderParam_setNumber(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- LocalShaderParam *inst = (LocalShaderParam*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- inst->setNumber(x);
- return 0;
- }
- static int Polycode_LocalShaderParam_setVector2(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- LocalShaderParam *inst = (LocalShaderParam*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector2 x = *(Vector2*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setVector2(x);
- return 0;
- }
- static int Polycode_LocalShaderParam_setVector3(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- LocalShaderParam *inst = (LocalShaderParam*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 x = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setVector3(x);
- return 0;
- }
- static int Polycode_LocalShaderParam_setMatrix4(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- LocalShaderParam *inst = (LocalShaderParam*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Matrix4 x = *(Matrix4*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setMatrix4(x);
- return 0;
- }
- static int Polycode_LocalShaderParam_setColor(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- LocalShaderParam *inst = (LocalShaderParam*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Color x = *(Color*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setColor(x);
- return 0;
- }
- static int Polycode_LocalShaderParam_setTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- LocalShaderParam *inst = (LocalShaderParam*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Texture* texture = (Texture*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setTexture(texture);
- return 0;
- }
- static int Polycode_LocalShaderParam_getTexture(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- LocalShaderParam *inst = (LocalShaderParam*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getTexture();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_LocalShaderParam_setCubemap(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- LocalShaderParam *inst = (LocalShaderParam*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Cubemap* cubemap = (Cubemap*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setCubemap(cubemap);
- return 0;
- }
- static int Polycode_LocalShaderParam_getCubemap(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- LocalShaderParam *inst = (LocalShaderParam*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getCubemap();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_LocalShaderParam_setParamValueFromString(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- LocalShaderParam *inst = (LocalShaderParam*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int type = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TSTRING);
- String pvalue = String(lua_tostring(L, 3));
- inst->setParamValueFromString(type, pvalue);
- return 0;
- }
- static int Polycode_ShaderProgram(lua_State *L) {
- luaL_checktype(L, 1, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 1));
- ShaderProgram *inst = new ShaderProgram(fileName);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.ShaderProgram");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_ShaderProgram_reloadProgram(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderProgram *inst = (ShaderProgram*) *((PolyBase**)lua_touserdata(L, 1));
- inst->reloadProgram();
- return 0;
- }
- static int Polycode_ShaderProgram_reloadResource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderProgram *inst = (ShaderProgram*) *((PolyBase**)lua_touserdata(L, 1));
- inst->reloadResource();
- return 0;
- }
- static int Polycode_AttributeBinding(lua_State *L) {
- AttributeBinding *inst = new AttributeBinding();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.AttributeBinding");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_ShaderBinding(lua_State *L) {
- ShaderBinding *inst = new ShaderBinding();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.ShaderBinding");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_ShaderBinding_copyTo(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- ShaderBinding* targetBinding = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 2));
- inst->copyTo(targetBinding);
- return 0;
- }
- static int Polycode_ShaderBinding_addParam(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int type = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TSTRING);
- String name = String(lua_tostring(L, 3));
- PolyBase *ptrRetVal = (PolyBase*)inst->addParam(type, name);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ShaderBinding_addParamPointer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int type = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TSTRING);
- String name = String(lua_tostring(L, 3));
- luaL_checktype(L, 4, LUA_TUSERDATA);
- void* ptr = (void*) *((PolyBase**)lua_touserdata(L, 4));
- PolyBase *ptrRetVal = (PolyBase*)inst->addParamPointer(type, name, ptr);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ShaderBinding_getNumLocalParams(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumLocalParams());
- return 1;
- }
- static int Polycode_ShaderBinding_getLocalParam(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getLocalParam(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ShaderBinding_getLocalParamByName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->getLocalParamByName(name);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ShaderBinding_removeParam(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- inst->removeParam(name);
- return 0;
- }
- static int Polycode_ShaderBinding_loadTextureForParam(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String paramName = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 3));
- PolyBase *ptrRetVal = (PolyBase*)inst->loadTextureForParam(paramName, fileName);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ShaderBinding_setTextureForParam(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String paramName = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Texture* texture = (Texture*) *((PolyBase**)lua_touserdata(L, 3));
- inst->setTextureForParam(paramName, texture);
- return 0;
- }
- static int Polycode_ShaderBinding_setCubemapForParam(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String paramName = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Cubemap* cubemap = (Cubemap*) *((PolyBase**)lua_touserdata(L, 3));
- inst->setCubemapForParam(paramName, cubemap);
- return 0;
- }
- static int Polycode_ShaderBinding_getNumAttributeBindings(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumAttributeBindings());
- return 1;
- }
- static int Polycode_ShaderBinding_getAttributeBinding(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getAttributeBinding(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ShaderBinding_addAttributeBinding(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- VertexDataArray* dataArray = (VertexDataArray*) *((PolyBase**)lua_touserdata(L, 3));
- PolyBase *ptrRetVal = (PolyBase*)inst->addAttributeBinding(name, dataArray);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ShaderBinding_getAttributeBindingByName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->getAttributeBindingByName(name);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ShaderBinding_addRenderTargetBinding(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- RenderTargetBinding* binding = (RenderTargetBinding*) *((PolyBase**)lua_touserdata(L, 2));
- inst->addRenderTargetBinding(binding);
- return 0;
- }
- static int Polycode_ShaderBinding_removeRenderTargetBinding(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- RenderTargetBinding* binding = (RenderTargetBinding*) *((PolyBase**)lua_touserdata(L, 2));
- inst->removeRenderTargetBinding(binding);
- return 0;
- }
- static int Polycode_ShaderBinding_getNumRenderTargetBindings(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumRenderTargetBindings());
- return 1;
- }
- static int Polycode_ShaderBinding_getRenderTargetBinding(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getRenderTargetBinding(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ShaderBinding_getNumInTargetBindings(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumInTargetBindings());
- return 1;
- }
- static int Polycode_ShaderBinding_getInTargetBinding(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getInTargetBinding(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ShaderBinding_getNumColorTargetBindings(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumColorTargetBindings());
- return 1;
- }
- static int Polycode_ShaderBinding_getColorTargetBinding(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getColorTargetBinding(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ShaderBinding_getNumDepthTargetBindings(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumDepthTargetBindings());
- return 1;
- }
- static int Polycode_ShaderBinding_getDepthTargetBinding(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getDepthTargetBinding(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_ShaderBinding_getNumOutTargetBindings(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumOutTargetBindings());
- return 1;
- }
- static int Polycode_ShaderBinding_getOutTargetBinding(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- ShaderBinding *inst = (ShaderBinding*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getOutTargetBinding(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SkeletonAnimation(lua_State *L) {
- luaL_checktype(L, 1, LUA_TSTRING);
- String name = String(lua_tostring(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number duration = lua_tonumber(L, 2);
- SkeletonAnimation *inst = new SkeletonAnimation(name, duration);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.SkeletonAnimation");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_SkeletonAnimation_addBoneTrack(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SkeletonAnimation *inst = (SkeletonAnimation*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- BoneTrack* boneTrack = (BoneTrack*) *((PolyBase**)lua_touserdata(L, 2));
- inst->addBoneTrack(boneTrack);
- return 0;
- }
- static int Polycode_SkeletonAnimation_getName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SkeletonAnimation *inst = (SkeletonAnimation*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->getName().c_str());
- return 1;
- }
- static int Polycode_SkeletonAnimation_Play(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SkeletonAnimation *inst = (SkeletonAnimation*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool once = lua_toboolean(L, 2) != 0;
- inst->Play(once);
- return 0;
- }
- static int Polycode_SkeletonAnimation_Stop(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SkeletonAnimation *inst = (SkeletonAnimation*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Stop();
- return 0;
- }
- static int Polycode_SkeletonAnimation_Reset(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SkeletonAnimation *inst = (SkeletonAnimation*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Reset();
- return 0;
- }
- static int Polycode_SkeletonAnimation_Update(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SkeletonAnimation *inst = (SkeletonAnimation*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Update();
- return 0;
- }
- static int Polycode_SkeletonAnimation_setSpeed(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SkeletonAnimation *inst = (SkeletonAnimation*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number speed = lua_tonumber(L, 2);
- inst->setSpeed(speed);
- return 0;
- }
- static int Polycode_SkeletonAnimation_setWeight(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SkeletonAnimation *inst = (SkeletonAnimation*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number newWeight = lua_tonumber(L, 2);
- inst->setWeight(newWeight);
- return 0;
- }
- static int Polycode_SkeletonAnimation_getWeight(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SkeletonAnimation *inst = (SkeletonAnimation*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getWeight());
- return 1;
- }
- static int Polycode_SkeletonAnimation_isPlaying(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SkeletonAnimation *inst = (SkeletonAnimation*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->isPlaying());
- return 1;
- }
- static int Polycode_Skeleton(lua_State *L) {
- luaL_checktype(L, 1, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 1));
- Skeleton *inst = new Skeleton(fileName);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Skeleton");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Skeleton_BlankSkeleton(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Skeleton *inst = (Skeleton*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->BlankSkeleton();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Skeleton_loadSkeleton(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Skeleton *inst = (Skeleton*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- inst->loadSkeleton(fileName);
- return 0;
- }
- static int Polycode_Skeleton_playAnimationByName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Skeleton *inst = (Skeleton*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String animName = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number weight = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool once = lua_toboolean(L, 4) != 0;
- luaL_checktype(L, 5, LUA_TBOOLEAN);
- bool restartIfPlaying = lua_toboolean(L, 5) != 0;
- inst->playAnimationByName(animName, weight, once, restartIfPlaying);
- return 0;
- }
- static int Polycode_Skeleton_playAnimation(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Skeleton *inst = (Skeleton*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- SkeletonAnimation* animation = (SkeletonAnimation*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number weight = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool once = lua_toboolean(L, 4) != 0;
- luaL_checktype(L, 5, LUA_TBOOLEAN);
- bool restartIfPlaying = lua_toboolean(L, 5) != 0;
- inst->playAnimation(animation, weight, once, restartIfPlaying);
- return 0;
- }
- static int Polycode_Skeleton_setBaseAnimationByName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Skeleton *inst = (Skeleton*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String animName = String(lua_tostring(L, 2));
- inst->setBaseAnimationByName(animName);
- return 0;
- }
- static int Polycode_Skeleton_setBaseAnimation(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Skeleton *inst = (Skeleton*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- SkeletonAnimation* animation = (SkeletonAnimation*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setBaseAnimation(animation);
- return 0;
- }
- static int Polycode_Skeleton_stopAllAnimations(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Skeleton *inst = (Skeleton*) *((PolyBase**)lua_touserdata(L, 1));
- inst->stopAllAnimations();
- return 0;
- }
- static int Polycode_Skeleton_getBaseAnimation(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Skeleton *inst = (Skeleton*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getBaseAnimation();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Skeleton_addAnimation(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Skeleton *inst = (Skeleton*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 3));
- inst->addAnimation(name, fileName);
- return 0;
- }
- static int Polycode_Skeleton_getAnimation(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Skeleton *inst = (Skeleton*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->getAnimation(name);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Skeleton_stopAnimationByName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Skeleton *inst = (Skeleton*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- inst->stopAnimationByName(name);
- return 0;
- }
- static int Polycode_Skeleton_stopAnimation(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Skeleton *inst = (Skeleton*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- SkeletonAnimation* animation = (SkeletonAnimation*) *((PolyBase**)lua_touserdata(L, 2));
- inst->stopAnimation(animation);
- return 0;
- }
- static int Polycode_Skeleton_Update(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Skeleton *inst = (Skeleton*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Update();
- return 0;
- }
- static int Polycode_Skeleton_getBoneByName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Skeleton *inst = (Skeleton*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String name = String(lua_tostring(L, 2));
- PolyBase *ptrRetVal = (PolyBase*)inst->getBoneByName(name);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Skeleton_bonesVisible(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Skeleton *inst = (Skeleton*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool val = lua_toboolean(L, 2) != 0;
- inst->bonesVisible(val);
- return 0;
- }
- static int Polycode_Skeleton_getNumBones(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Skeleton *inst = (Skeleton*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumBones());
- return 1;
- }
- static int Polycode_Skeleton_getBone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Skeleton *inst = (Skeleton*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int index = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getBone(index);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Skeleton_addBone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Skeleton *inst = (Skeleton*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Bone* bone = (Bone*) *((PolyBase**)lua_touserdata(L, 2));
- inst->addBone(bone);
- return 0;
- }
- static int Polycode_Skeleton_removeBone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Skeleton *inst = (Skeleton*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Bone* bone = (Bone*) *((PolyBase**)lua_touserdata(L, 2));
- inst->removeBone(bone);
- return 0;
- }
- static int Polycode_Skeleton_getBoneIndexByBone(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Skeleton *inst = (Skeleton*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Bone* bone = (Bone*) *((PolyBase**)lua_touserdata(L, 2));
- lua_pushinteger(L, inst->getBoneIndexByBone(bone));
- return 1;
- }
- static int Polycode_BoneTrack(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Bone* bone = (Bone*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number length = lua_tonumber(L, 2);
- BoneTrack *inst = new BoneTrack(bone, length);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.BoneTrack");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_BoneTrack_Play(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BoneTrack *inst = (BoneTrack*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool once = lua_toboolean(L, 2) != 0;
- inst->Play(once);
- return 0;
- }
- static int Polycode_BoneTrack_Stop(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BoneTrack *inst = (BoneTrack*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Stop();
- return 0;
- }
- static int Polycode_BoneTrack_Update(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BoneTrack *inst = (BoneTrack*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number elapsed = lua_tonumber(L, 2);
- inst->Update(elapsed);
- return 0;
- }
- static int Polycode_BoneTrack_Reset(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BoneTrack *inst = (BoneTrack*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Reset();
- return 0;
- }
- static int Polycode_BoneTrack_setSpeed(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- BoneTrack *inst = (BoneTrack*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number speed = lua_tonumber(L, 2);
- inst->setSpeed(speed);
- return 0;
- }
- static int Polycode_Sound(lua_State *L) {
- luaL_checktype(L, 1, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 1));
- Sound *inst = new Sound(fileName);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Sound");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Sound_getSampleAsNumber(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int offset = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int channel = lua_tointeger(L, 3);
- lua_pushnumber(L, inst->getSampleAsNumber(offset, channel));
- return 1;
- }
- static int Polycode_Sound_loadFile(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- inst->loadFile(fileName);
- return 0;
- }
- static int Polycode_Sound_Play(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool loop = lua_toboolean(L, 2) != 0;
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool restartSound = lua_toboolean(L, 3) != 0;
- inst->Play(loop, restartSound);
- return 0;
- }
- static int Polycode_Sound_Stop(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Stop();
- return 0;
- }
- static int Polycode_Sound_setVolume(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number newVolume = lua_tonumber(L, 2);
- inst->setVolume(newVolume);
- return 0;
- }
- static int Polycode_Sound_getVolume(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getVolume());
- return 1;
- }
- static int Polycode_Sound_setPitch(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number newPitch = lua_tonumber(L, 2);
- inst->setPitch(newPitch);
- return 0;
- }
- static int Polycode_Sound_getPitch(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getPitch());
- return 1;
- }
- static int Polycode_Sound_isPlaying(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->isPlaying());
- return 1;
- }
- static int Polycode_Sound_isLooped(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->isLooped());
- return 1;
- }
- static int Polycode_Sound_setIsPositional(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool isPositional = lua_toboolean(L, 2) != 0;
- inst->setIsPositional(isPositional);
- return 0;
- }
- static int Polycode_Sound_setSoundPosition(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 position = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setSoundPosition(position);
- return 0;
- }
- static int Polycode_Sound_setSoundVelocity(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 velocity = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setSoundVelocity(velocity);
- return 0;
- }
- static int Polycode_Sound_setSoundDirection(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 direction = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setSoundDirection(direction);
- return 0;
- }
- static int Polycode_Sound_setOffset(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int offset = lua_tointeger(L, 2);
- inst->setOffset(offset);
- return 0;
- }
- static int Polycode_Sound_getFileName(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->getFileName().c_str());
- return 1;
- }
- static int Polycode_Sound_getPlaybackDuration(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getPlaybackDuration());
- return 1;
- }
- static int Polycode_Sound_getPlaybackTime(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getPlaybackTime());
- return 1;
- }
- static int Polycode_Sound_seekTo(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number time = lua_tonumber(L, 2);
- inst->seekTo(time);
- return 0;
- }
- static int Polycode_Sound_getOffset(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getOffset());
- return 1;
- }
- static int Polycode_Sound_getSampleLength(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getSampleLength());
- return 1;
- }
- static int Polycode_Sound_getFrequency(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getFrequency());
- return 1;
- }
- static int Polycode_Sound_setPositionalProperties(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number referenceDistance = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number maxDistance = lua_tonumber(L, 3);
- inst->setPositionalProperties(referenceDistance, maxDistance);
- return 0;
- }
- static int Polycode_Sound_setReferenceDistance(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number referenceDistance = lua_tonumber(L, 2);
- inst->setReferenceDistance(referenceDistance);
- return 0;
- }
- static int Polycode_Sound_setMaxDistance(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number maxDistance = lua_tonumber(L, 2);
- inst->setMaxDistance(maxDistance);
- return 0;
- }
- static int Polycode_Sound_getReferenceDistance(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getReferenceDistance());
- return 1;
- }
- static int Polycode_Sound_getMaxDistance(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getMaxDistance());
- return 1;
- }
- static int Polycode_Sound_loadBytes(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- char* data = (char*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int size = lua_tointeger(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- int channels = lua_tointeger(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- int freq = lua_tointeger(L, 5);
- luaL_checktype(L, 6, LUA_TUSERDATA);
- SoundFormat format = *(SoundFormat*) *((PolyBase**)lua_touserdata(L, 6));
- lua_pushboolean(L, inst->loadBytes(data, size, channels, freq, format));
- return 1;
- }
- static int Polycode_Sound_loadWAV(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- lua_pushboolean(L, inst->loadWAV(fileName));
- return 1;
- }
- static int Polycode_Sound_loadOGG(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String fileName = String(lua_tostring(L, 2));
- lua_pushboolean(L, inst->loadOGG(fileName));
- return 1;
- }
- static int Polycode_Sound_soundCheck(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool result = lua_toboolean(L, 2) != 0;
- luaL_checktype(L, 3, LUA_TSTRING);
- String err = String(lua_tostring(L, 3));
- inst->soundCheck(result, err);
- return 0;
- }
- static int Polycode_Sound_updateStream(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Sound *inst = (Sound*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int streamCount = lua_tointeger(L, 2);
- inst->updateStream(streamCount);
- return 0;
- }
- static int Polycode_AudioStreamingSource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TNUMBER);
- int channels = lua_tointeger(L, 1);
- luaL_checktype(L, 2, LUA_TNUMBER);
- int freq = lua_tointeger(L, 2);
- AudioStreamingSource *inst = new AudioStreamingSource(channels, freq);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.AudioStreamingSource");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_AudioStreamingSource_getNumChannels(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- AudioStreamingSource *inst = (AudioStreamingSource*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getNumChannels());
- return 1;
- }
- static int Polycode_AudioStreamingSource_getFrequency(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- AudioStreamingSource *inst = (AudioStreamingSource*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getFrequency());
- return 1;
- }
- static int Polycode_AudioMixer(lua_State *L) {
- AudioMixer *inst = new AudioMixer();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.AudioMixer");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_AudioMixer_mixIntoBuffer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- AudioMixer *inst = (AudioMixer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- int16_t* buffer = (int16_t*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int numSamples = lua_tointeger(L, 3);
- inst->mixIntoBuffer(buffer, numSamples);
- return 0;
- }
- static int Polycode_SoundManager(lua_State *L) {
- SoundManager *inst = new SoundManager();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.SoundManager");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_SoundManager_setListenerPosition(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SoundManager *inst = (SoundManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 position = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setListenerPosition(position);
- return 0;
- }
- static int Polycode_SoundManager_setListenerOrientation(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SoundManager *inst = (SoundManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 orientation = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- Vector3 upVector = *(Vector3*) *((PolyBase**)lua_touserdata(L, 3));
- inst->setListenerOrientation(orientation, upVector);
- return 0;
- }
- static int Polycode_SoundManager_recordSound(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SoundManager *inst = (SoundManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int rate = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int sampleSize = lua_tointeger(L, 3);
- lua_pushboolean(L, inst->recordSound(rate, sampleSize));
- return 1;
- }
- static int Polycode_SoundManager_stopRecording(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SoundManager *inst = (SoundManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool generateFloatBuffer = lua_toboolean(L, 2) != 0;
- PolyBase *ptrRetVal = (PolyBase*)inst->stopRecording(generateFloatBuffer);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_SoundManager_setAudioInterface(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SoundManager *inst = (SoundManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- AudioInterface* audioInterface = (AudioInterface*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setAudioInterface(audioInterface);
- return 0;
- }
- static int Polycode_SoundManager_Update(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SoundManager *inst = (SoundManager*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Update();
- return 0;
- }
- static int Polycode_SoundManager_setGlobalVolume(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SoundManager *inst = (SoundManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number globalVolume = lua_tonumber(L, 2);
- inst->setGlobalVolume(globalVolume);
- return 0;
- }
- static int Polycode_SoundManager_registerSound(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SoundManager *inst = (SoundManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Sound* sound = (Sound*) *((PolyBase**)lua_touserdata(L, 2));
- inst->registerSound(sound);
- return 0;
- }
- static int Polycode_SoundManager_unregisterSound(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- SoundManager *inst = (SoundManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Sound* sound = (Sound*) *((PolyBase**)lua_touserdata(L, 2));
- inst->unregisterSound(sound);
- return 0;
- }
- static int Polycode_String(lua_State *L) {
- String *inst = new String();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.String");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_String_size(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- String *inst = (String*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->size());
- return 1;
- }
- static int Polycode_String_length(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- String *inst = (String*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->length());
- return 1;
- }
- static int Polycode_String_substr(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- String *inst = (String*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- size_t pos = *(size_t*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- size_t n = *(size_t*) *((PolyBase**)lua_touserdata(L, 3));
- lua_pushstring(L, inst->substr(pos, n).c_str());
- return 1;
- }
- static int Polycode_String_rfind(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- String *inst = (String*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String str = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- size_t pos = *(size_t*) *((PolyBase**)lua_touserdata(L, 3));
- lua_pushinteger(L, inst->rfind(str, pos));
- return 1;
- }
- static int Polycode_String_find(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- String *inst = (String*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String str = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- size_t pos = *(size_t*) *((PolyBase**)lua_touserdata(L, 3));
- lua_pushinteger(L, inst->find(str, pos));
- return 1;
- }
- static int Polycode_String_find_last_of(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- String *inst = (String*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String str = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- size_t pos = *(size_t*) *((PolyBase**)lua_touserdata(L, 3));
- lua_pushinteger(L, inst->find_last_of(str, pos));
- return 1;
- }
- static int Polycode_String_find_first_of(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- String *inst = (String*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String str = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TUSERDATA);
- size_t pos = *(size_t*) *((PolyBase**)lua_touserdata(L, 3));
- lua_pushinteger(L, inst->find_first_of(str, pos));
- return 1;
- }
- static int Polycode_String_toLowerCase(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- String *inst = (String*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->toLowerCase().c_str());
- return 1;
- }
- static int Polycode_String_toUpperCase(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- String *inst = (String*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushstring(L, inst->toUpperCase().c_str());
- return 1;
- }
- static int Polycode_String_split(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- String *inst = (String*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String delim = String(lua_tostring(L, 2));
- }
- static int Polycode_String_replace(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- String *inst = (String*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TSTRING);
- String what = String(lua_tostring(L, 2));
- luaL_checktype(L, 3, LUA_TSTRING);
- String withWhat = String(lua_tostring(L, 3));
- lua_pushstring(L, inst->replace(what, withWhat).c_str());
- return 1;
- }
- static int Polycode_String_NumberToString(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- String *inst = (String*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number value = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- int precision = lua_tointeger(L, 3);
- lua_pushstring(L, inst->NumberToString(value, precision).c_str());
- return 1;
- }
- static int Polycode_String_toNumber(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- String *inst = (String*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->toNumber());
- return 1;
- }
- static int Polycode_String_toInteger(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- String *inst = (String*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->toInteger());
- return 1;
- }
- static int Polycode_String_IntToString(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- String *inst = (String*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int value = lua_tointeger(L, 2);
- lua_pushstring(L, inst->IntToString(value).c_str());
- return 1;
- }
- static int Polycode_String_c_str(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- String *inst = (String*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->c_str();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_String_getDataWithEncoding(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- String *inst = (String*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int encoding = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getDataWithEncoding(encoding);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_String_getWDataWithEncoding(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- String *inst = (String*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int encoding = lua_tointeger(L, 2);
- PolyBase *ptrRetVal = (PolyBase*)inst->getWDataWithEncoding(encoding);
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_String_append(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- String *inst = (String*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- char c = *(char*) *((PolyBase**)lua_touserdata(L, 2));
- inst->append(c);
- return 0;
- }
- static int Polycode_String_getDataSizeWithEncoding(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- String *inst = (String*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int encoding = lua_tointeger(L, 2);
- lua_pushinteger(L, inst->getDataSizeWithEncoding(encoding));
- return 1;
- }
- static int Polycode_String_setDataWithEncoding(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- String *inst = (String*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- char* data = (char*) *((PolyBase**)lua_touserdata(L, 2));
- luaL_checktype(L, 3, LUA_TNUMBER);
- int encoding = lua_tointeger(L, 3);
- inst->setDataWithEncoding(data, encoding);
- return 0;
- }
- static int Polycode_String_isNumber(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- String *inst = (String*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->isNumber());
- return 1;
- }
- static int Polycode_RenderBuffer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TNUMBER);
- int width = lua_tointeger(L, 1);
- luaL_checktype(L, 2, LUA_TNUMBER);
- int height = lua_tointeger(L, 2);
- luaL_checktype(L, 3, LUA_TBOOLEAN);
- bool attachDepthBuffer = lua_toboolean(L, 3) != 0;
- luaL_checktype(L, 4, LUA_TBOOLEAN);
- bool floatingPoint = lua_toboolean(L, 4) != 0;
- RenderBuffer *inst = new RenderBuffer(width, height, attachDepthBuffer, floatingPoint);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.RenderBuffer");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_RenderBuffer_getWidth(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- RenderBuffer *inst = (RenderBuffer*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getWidth());
- return 1;
- }
- static int Polycode_RenderBuffer_getHeight(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- RenderBuffer *inst = (RenderBuffer*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getHeight());
- return 1;
- }
- static int Polycode_Texture_reloadResource(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Texture *inst = (Texture*) *((PolyBase**)lua_touserdata(L, 1));
- inst->reloadResource();
- return 0;
- }
- static int Polycode_Texture_setImageData(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Texture *inst = (Texture*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Image* data = (Image*) *((PolyBase**)lua_touserdata(L, 2));
- inst->setImageData(data);
- return 0;
- }
- static int Polycode_Texture_getTextureData(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Texture *inst = (Texture*) *((PolyBase**)lua_touserdata(L, 1));
- PolyBase *ptrRetVal = (PolyBase*)inst->getTextureData();
- if(ptrRetVal == NULL) {
- lua_pushnil(L);
- } else {
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = ptrRetVal;
- }
- return 1;
- }
- static int Polycode_Texture_getWidth(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Texture *inst = (Texture*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getWidth());
- return 1;
- }
- static int Polycode_Texture_getHeight(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Texture *inst = (Texture*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getHeight());
- return 1;
- }
- static int Polycode_Texture_setCreateMipmaps(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Texture *inst = (Texture*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool createMipmapsIn = lua_toboolean(L, 2) != 0;
- inst->setCreateMipmaps(createMipmapsIn);
- return 0;
- }
- static int Polycode_Texture_getCreateMipmaps(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Texture *inst = (Texture*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->getCreateMipmaps());
- return 1;
- }
- static int Polycode_Timer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TBOOLEAN);
- bool triggerMode = lua_toboolean(L, 1) != 0;
- luaL_checktype(L, 2, LUA_TNUMBER);
- int msecs = lua_tointeger(L, 2);
- Timer *inst = new Timer(triggerMode, msecs);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Timer");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Timer_Pause(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Timer *inst = (Timer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TBOOLEAN);
- bool paused = lua_toboolean(L, 2) != 0;
- inst->Pause(paused);
- return 0;
- }
- static int Polycode_Timer_isPaused(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Timer *inst = (Timer*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->isPaused());
- return 1;
- }
- static int Polycode_Timer_getTicks(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Timer *inst = (Timer*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushinteger(L, inst->getTicks());
- return 1;
- }
- static int Polycode_Timer_Update(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Timer *inst = (Timer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int ticks = lua_tointeger(L, 2);
- inst->Update(ticks);
- return 0;
- }
- static int Polycode_Timer_Reset(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Timer *inst = (Timer*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Reset();
- return 0;
- }
- static int Polycode_Timer_hasElapsed(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Timer *inst = (Timer*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushboolean(L, inst->hasElapsed());
- return 1;
- }
- static int Polycode_Timer_getElapsedf(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Timer *inst = (Timer*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->getElapsedf());
- return 1;
- }
- static int Polycode_Timer_setTimerInterval(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Timer *inst = (Timer*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- int msecs = lua_tointeger(L, 2);
- inst->setTimerInterval(msecs);
- return 0;
- }
- static int Polycode_TimerManager(lua_State *L) {
- TimerManager *inst = new TimerManager();
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.TimerManager");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_TimerManager_removeTimer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- TimerManager *inst = (TimerManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Timer* timer = (Timer*) *((PolyBase**)lua_touserdata(L, 2));
- inst->removeTimer(timer);
- return 0;
- }
- static int Polycode_TimerManager_addTimer(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- TimerManager *inst = (TimerManager*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Timer* timer = (Timer*) *((PolyBase**)lua_touserdata(L, 2));
- inst->addTimer(timer);
- return 0;
- }
- static int Polycode_TimerManager_Update(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- TimerManager *inst = (TimerManager*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Update();
- return 0;
- }
- static int Polycode_Vector2(lua_State *L) {
- luaL_checktype(L, 1, LUA_TNUMBER);
- Number x = lua_tonumber(L, 1);
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number y = lua_tonumber(L, 2);
- Vector2 *inst = new Vector2(x, y);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Vector2");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Vector2_set(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Vector2 *inst = (Vector2*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- inst->set(x, y);
- return 0;
- }
- static int Polycode_Vector2_distance(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Vector2 *inst = (Vector2*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector2 vec2 = *(Vector2*) *((PolyBase**)lua_touserdata(L, 2));
- lua_pushnumber(L, inst->distance(vec2));
- return 1;
- }
- static int Polycode_Vector2_length(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Vector2 *inst = (Vector2*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->length());
- return 1;
- }
- static int Polycode_Vector2_dot(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Vector2 *inst = (Vector2*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector2 u = *(Vector2*) *((PolyBase**)lua_touserdata(L, 2));
- lua_pushnumber(L, inst->dot(u));
- return 1;
- }
- static int Polycode_Vector2_crossProduct(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Vector2 *inst = (Vector2*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector2 vec2 = *(Vector2*) *((PolyBase**)lua_touserdata(L, 2));
- lua_pushnumber(L, inst->crossProduct(vec2));
- return 1;
- }
- static int Polycode_Vector2_angle(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Vector2 *inst = (Vector2*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector2 vec2 = *(Vector2*) *((PolyBase**)lua_touserdata(L, 2));
- lua_pushnumber(L, inst->angle(vec2));
- return 1;
- }
- static int Polycode_Vector2_Normalize(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Vector2 *inst = (Vector2*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Normalize();
- return 0;
- }
- static int Polycode_Vector3(lua_State *L) {
- luaL_checktype(L, 1, LUA_TNUMBER);
- Number x = lua_tonumber(L, 1);
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number y = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number z = lua_tonumber(L, 3);
- Vector3 *inst = new Vector3(x, y, z);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Vector3_set(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Vector3 *inst = (Vector3*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number z = lua_tonumber(L, 4);
- inst->set(x, y, z);
- return 0;
- }
- static int Polycode_Vector3_distance(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Vector3 *inst = (Vector3*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 vec2 = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- lua_pushnumber(L, inst->distance(vec2));
- return 1;
- }
- static int Polycode_Vector3_angleBetween(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Vector3 *inst = (Vector3*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 dest = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- lua_pushnumber(L, inst->angleBetween(dest));
- return 1;
- }
- static int Polycode_Vector3_length(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Vector3 *inst = (Vector3*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->length());
- return 1;
- }
- static int Polycode_Vector3_lengthSquared(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Vector3 *inst = (Vector3*) *((PolyBase**)lua_touserdata(L, 1));
- lua_pushnumber(L, inst->lengthSquared());
- return 1;
- }
- static int Polycode_Vector3_setLength(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Vector3 *inst = (Vector3*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number newLength = lua_tonumber(L, 2);
- Vector3 *retInst = new Vector3();
- *retInst = inst->setLength(newLength);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Vector3_dot(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Vector3 *inst = (Vector3*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 u = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- lua_pushnumber(L, inst->dot(u));
- return 1;
- }
- static int Polycode_Vector3_crossProduct(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Vector3 *inst = (Vector3*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector3 vec2 = *(Vector3*) *((PolyBase**)lua_touserdata(L, 2));
- Vector3 *retInst = new Vector3();
- *retInst = inst->crossProduct(vec2);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- luaL_getmetatable(L, "Polycode.Vector3");
- lua_setmetatable(L, -2);
- *userdataPtr = (PolyBase*)retInst;
- return 1;
- }
- static int Polycode_Vector3_Normalize(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Vector3 *inst = (Vector3*) *((PolyBase**)lua_touserdata(L, 1));
- inst->Normalize();
- return 0;
- }
- static int Polycode_Vector4(lua_State *L) {
- luaL_checktype(L, 1, LUA_TNUMBER);
- Number x = lua_tonumber(L, 1);
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number y = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number z = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number w = lua_tonumber(L, 4);
- Vector4 *inst = new Vector4(x, y, z, w);
- PolyBase **userdataPtr = (PolyBase**)lua_newuserdata(L, sizeof(PolyBase*));
- *userdataPtr = (PolyBase*)inst;
- luaL_getmetatable(L, "Polycode.Vector4");
- lua_setmetatable(L, -2);
- return 1;
- }
- static int Polycode_Vector4_set(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Vector4 *inst = (Vector4*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TNUMBER);
- Number x = lua_tonumber(L, 2);
- luaL_checktype(L, 3, LUA_TNUMBER);
- Number y = lua_tonumber(L, 3);
- luaL_checktype(L, 4, LUA_TNUMBER);
- Number z = lua_tonumber(L, 4);
- luaL_checktype(L, 5, LUA_TNUMBER);
- Number w = lua_tonumber(L, 5);
- inst->set(x, y, z, w);
- return 0;
- }
- static int Polycode_Vector4_dot(lua_State *L) {
- luaL_checktype(L, 1, LUA_TUSERDATA);
- Vector4 *inst = (Vector4*) *((PolyBase**)lua_touserdata(L, 1));
- luaL_checktype(L, 2, LUA_TUSERDATA);
- Vector4 u = *(Vector4*) *((PolyBase**)lua_touserdata(L, 2));
- lua_pushnumber(L, inst->dot(u));
- return 1;
- }
- }
|