PolycodeJSWrappers.h 253 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978
  1. #pragma once
  2. extern "C" {
  3. #include <stdio.h>
  4. #include "duktape.h"
  5. }
  6. using namespace std;
  7. namespace Polycode {
  8. duk_ret_t Polycode_BezierCurve_getControlPoint(duk_context *context) {
  9. BezierCurve *inst = (BezierCurve*)duk_to_pointer(context, -1);
  10. int index = duk_to_int(context, 0);
  11. inst->getControlPoint(index);
  12. return 0;
  13. }
  14. duk_ret_t Polycode_BezierCurve_getNumControlPoints(duk_context *context) {
  15. BezierCurve *inst = (BezierCurve*)duk_to_pointer(context, -1);
  16. inst->getNumControlPoints();
  17. return 0;
  18. }
  19. duk_ret_t Polycode_BezierCurve_addControlPoint(duk_context *context) {
  20. BezierCurve *inst = (BezierCurve*)duk_to_pointer(context, -1);
  21. Number p1x = duk_to_number(context, 0);
  22. Number p1y = duk_to_number(context, 1);
  23. Number p1z = duk_to_number(context, 2);
  24. Number p2x = duk_to_number(context, 3);
  25. Number p2y = duk_to_number(context, 4);
  26. Number p2z = duk_to_number(context, 5);
  27. Number p3x = duk_to_number(context, 6);
  28. Number p3y = duk_to_number(context, 7);
  29. Number p3z = duk_to_number(context, 8);
  30. inst->addControlPoint(p1x,p1y,p1z,p2x,p2y,p2z,p3x,p3y,p3z);
  31. return 0;
  32. }
  33. duk_ret_t Polycode_BezierCurve_addControlPoint3dWithHandles(duk_context *context) {
  34. BezierCurve *inst = (BezierCurve*)duk_to_pointer(context, -1);
  35. Number p1x = duk_to_number(context, 0);
  36. Number p1y = duk_to_number(context, 1);
  37. Number p1z = duk_to_number(context, 2);
  38. Number p2x = duk_to_number(context, 3);
  39. Number p2y = duk_to_number(context, 4);
  40. Number p2z = duk_to_number(context, 5);
  41. Number p3x = duk_to_number(context, 6);
  42. Number p3y = duk_to_number(context, 7);
  43. Number p3z = duk_to_number(context, 8);
  44. inst->addControlPoint3dWithHandles(p1x,p1y,p1z,p2x,p2y,p2z,p3x,p3y,p3z);
  45. return 0;
  46. }
  47. duk_ret_t Polycode_BezierCurve_addControlPoint3d(duk_context *context) {
  48. BezierCurve *inst = (BezierCurve*)duk_to_pointer(context, -1);
  49. Number x = duk_to_number(context, 0);
  50. Number y = duk_to_number(context, 1);
  51. Number z = duk_to_number(context, 2);
  52. inst->addControlPoint3d(x,y,z);
  53. return 0;
  54. }
  55. duk_ret_t Polycode_BezierCurve_addControlPoint2dWithHandles(duk_context *context) {
  56. BezierCurve *inst = (BezierCurve*)duk_to_pointer(context, -1);
  57. Number p1x = duk_to_number(context, 0);
  58. Number p1y = duk_to_number(context, 1);
  59. Number p2x = duk_to_number(context, 2);
  60. Number p2y = duk_to_number(context, 3);
  61. Number p3x = duk_to_number(context, 4);
  62. Number p3y = duk_to_number(context, 5);
  63. inst->addControlPoint2dWithHandles(p1x,p1y,p2x,p2y,p3x,p3y);
  64. return 0;
  65. }
  66. duk_ret_t Polycode_BezierCurve_addControlPoint2d(duk_context *context) {
  67. BezierCurve *inst = (BezierCurve*)duk_to_pointer(context, -1);
  68. Number x = duk_to_number(context, 0);
  69. Number y = duk_to_number(context, 1);
  70. inst->addControlPoint2d(x,y);
  71. return 0;
  72. }
  73. duk_ret_t Polycode_BezierCurve_getPointAt(duk_context *context) {
  74. BezierCurve *inst = (BezierCurve*)duk_to_pointer(context, -1);
  75. Number a = duk_to_number(context, 0);
  76. inst->getPointAt(a);
  77. return 0;
  78. }
  79. duk_ret_t Polycode_BezierCurve_getPointBetween(duk_context *context) {
  80. BezierCurve *inst = (BezierCurve*)duk_to_pointer(context, -1);
  81. Number a = duk_to_number(context, 0);
  82. BezierPoint* bp1 = (BezierPoint*)duk_to_pointer(context, 1);
  83. BezierPoint* bp2 = (BezierPoint*)duk_to_pointer(context, 2);
  84. inst->getPointBetween(a,bp1,bp2);
  85. return 0;
  86. }
  87. duk_ret_t Polycode_BezierCurve_clearControlPoints(duk_context *context) {
  88. BezierCurve *inst = (BezierCurve*)duk_to_pointer(context, -1);
  89. inst->clearControlPoints();
  90. return 0;
  91. }
  92. duk_ret_t Polycode_BezierCurve_getYValueAtX(duk_context *context) {
  93. BezierCurve *inst = (BezierCurve*)duk_to_pointer(context, -1);
  94. Number x = duk_to_number(context, 0);
  95. inst->getYValueAtX(x);
  96. return 0;
  97. }
  98. duk_ret_t Polycode_BezierCurve_getTValueAtX(duk_context *context) {
  99. BezierCurve *inst = (BezierCurve*)duk_to_pointer(context, -1);
  100. Number x = duk_to_number(context, 0);
  101. inst->getTValueAtX(x);
  102. return 0;
  103. }
  104. duk_ret_t Polycode_BezierCurve_removePoint(duk_context *context) {
  105. BezierCurve *inst = (BezierCurve*)duk_to_pointer(context, -1);
  106. BezierPoint* point = (BezierPoint*)duk_to_pointer(context, 0);
  107. inst->removePoint(point);
  108. return 0;
  109. }
  110. duk_ret_t Polycode_BezierCurve_setHeightCacheResolution(duk_context *context) {
  111. BezierCurve *inst = (BezierCurve*)duk_to_pointer(context, -1);
  112. Number resolution = duk_to_number(context, 0);
  113. inst->setHeightCacheResolution(resolution);
  114. return 0;
  115. }
  116. duk_ret_t Polycode_BezierCurve_rebuildHeightCache(duk_context *context) {
  117. BezierCurve *inst = (BezierCurve*)duk_to_pointer(context, -1);
  118. inst->rebuildHeightCache();
  119. return 0;
  120. }
  121. duk_ret_t Polycode_BezierCurve_recalculateDistances(duk_context *context) {
  122. BezierCurve *inst = (BezierCurve*)duk_to_pointer(context, -1);
  123. inst->recalculateDistances();
  124. return 0;
  125. }
  126. duk_ret_t Polycode_Bone_getName(duk_context *context) {
  127. Bone *inst = (Bone*)duk_to_pointer(context, -1);
  128. inst->getName();
  129. return 0;
  130. }
  131. duk_ret_t Polycode_Bone_setParentBone(duk_context *context) {
  132. Bone *inst = (Bone*)duk_to_pointer(context, -1);
  133. Bone* bone = (Bone*)duk_to_pointer(context, 0);
  134. inst->setParentBone(bone);
  135. return 0;
  136. }
  137. duk_ret_t Polycode_Bone_addChildBone(duk_context *context) {
  138. Bone *inst = (Bone*)duk_to_pointer(context, -1);
  139. Bone* bone = (Bone*)duk_to_pointer(context, 0);
  140. inst->addChildBone(bone);
  141. return 0;
  142. }
  143. duk_ret_t Polycode_Bone_getParentBone(duk_context *context) {
  144. Bone *inst = (Bone*)duk_to_pointer(context, -1);
  145. inst->getParentBone();
  146. return 0;
  147. }
  148. duk_ret_t Polycode_Bone_getNumChildBones(duk_context *context) {
  149. Bone *inst = (Bone*)duk_to_pointer(context, -1);
  150. inst->getNumChildBones();
  151. return 0;
  152. }
  153. duk_ret_t Polycode_Bone_getChildBone(duk_context *context) {
  154. Bone *inst = (Bone*)duk_to_pointer(context, -1);
  155. int index = duk_to_int(context, 0);
  156. inst->getChildBone(index);
  157. return 0;
  158. }
  159. duk_ret_t Polycode_Bone_getBoneMatrix(duk_context *context) {
  160. Bone *inst = (Bone*)duk_to_pointer(context, -1);
  161. inst->getBoneMatrix();
  162. return 0;
  163. }
  164. duk_ret_t Polycode_Bone_setBoneMatrix(duk_context *context) {
  165. Bone *inst = (Bone*)duk_to_pointer(context, -1);
  166. Matrix4 matrix = *(Matrix4*)duk_to_pointer(context, 0);
  167. inst->setBoneMatrix(matrix);
  168. return 0;
  169. }
  170. duk_ret_t Polycode_Bone_getRestMatrix(duk_context *context) {
  171. Bone *inst = (Bone*)duk_to_pointer(context, -1);
  172. inst->getRestMatrix();
  173. return 0;
  174. }
  175. duk_ret_t Polycode_Bone_getFullRestMatrix(duk_context *context) {
  176. Bone *inst = (Bone*)duk_to_pointer(context, -1);
  177. inst->getFullRestMatrix();
  178. return 0;
  179. }
  180. duk_ret_t Polycode_Bone_getParentRestMatrix(duk_context *context) {
  181. Bone *inst = (Bone*)duk_to_pointer(context, -1);
  182. inst->getParentRestMatrix();
  183. return 0;
  184. }
  185. duk_ret_t Polycode_Bone_getFinalMatrix(duk_context *context) {
  186. Bone *inst = (Bone*)duk_to_pointer(context, -1);
  187. inst->getFinalMatrix();
  188. return 0;
  189. }
  190. duk_ret_t Polycode_Bone_setRestMatrix(duk_context *context) {
  191. Bone *inst = (Bone*)duk_to_pointer(context, -1);
  192. Matrix4 matrix = *(Matrix4*)duk_to_pointer(context, 0);
  193. inst->setRestMatrix(matrix);
  194. return 0;
  195. }
  196. duk_ret_t Polycode_Bone_setBaseMatrix(duk_context *context) {
  197. Bone *inst = (Bone*)duk_to_pointer(context, -1);
  198. Matrix4 matrix = *(Matrix4*)duk_to_pointer(context, 0);
  199. inst->setBaseMatrix(matrix);
  200. return 0;
  201. }
  202. duk_ret_t Polycode_Bone_getBaseMatrix(duk_context *context) {
  203. Bone *inst = (Bone*)duk_to_pointer(context, -1);
  204. inst->getBaseMatrix();
  205. return 0;
  206. }
  207. duk_ret_t Polycode_Bone_getFullBaseMatrix(duk_context *context) {
  208. Bone *inst = (Bone*)duk_to_pointer(context, -1);
  209. inst->getFullBaseMatrix();
  210. return 0;
  211. }
  212. duk_ret_t Polycode_Bone_rebuildFinalMatrix(duk_context *context) {
  213. Bone *inst = (Bone*)duk_to_pointer(context, -1);
  214. inst->rebuildFinalMatrix();
  215. return 0;
  216. }
  217. duk_ret_t Polycode_Bone_buildFinalMatrix(duk_context *context) {
  218. Bone *inst = (Bone*)duk_to_pointer(context, -1);
  219. inst->buildFinalMatrix();
  220. return 0;
  221. }
  222. duk_ret_t Polycode_Bone_intializeBone(duk_context *context) {
  223. Bone *inst = (Bone*)duk_to_pointer(context, -1);
  224. Vector3 basePosition = *(Vector3*)duk_to_pointer(context, 0);
  225. Vector3 baseScale = *(Vector3*)duk_to_pointer(context, 1);
  226. Quaternion baseRotation = *(Quaternion*)duk_to_pointer(context, 2);
  227. Vector3 restPosition = *(Vector3*)duk_to_pointer(context, 3);
  228. Vector3 restScale = *(Vector3*)duk_to_pointer(context, 4);
  229. Quaternion restRotation = *(Quaternion*)duk_to_pointer(context, 5);
  230. inst->intializeBone(basePosition,baseScale,baseRotation,restPosition,restScale,restRotation);
  231. return 0;
  232. }
  233. duk_ret_t Polycode_Camera_buildFrustumPlanes(duk_context *context) {
  234. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  235. inst->buildFrustumPlanes();
  236. return 0;
  237. }
  238. duk_ret_t Polycode_Camera_isSphereInFrustum(duk_context *context) {
  239. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  240. Vector3 pos = *(Vector3*)duk_to_pointer(context, 0);
  241. Number fRadius = duk_to_number(context, 1);
  242. inst->isSphereInFrustum(pos,fRadius);
  243. return 0;
  244. }
  245. duk_ret_t Polycode_Camera_isAABBInFrustum(duk_context *context) {
  246. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  247. AABB aabb = *(AABB*)duk_to_pointer(context, 0);
  248. inst->isAABBInFrustum(aabb);
  249. return 0;
  250. }
  251. duk_ret_t Polycode_Camera_setOrthoMode(duk_context *context) {
  252. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  253. bool mode = duk_to_boolean(context, 0);
  254. inst->setOrthoMode(mode);
  255. return 0;
  256. }
  257. duk_ret_t Polycode_Camera_setOrthoSize(duk_context *context) {
  258. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  259. Number orthoSizeX = duk_to_number(context, 0);
  260. Number orthoSizeY = duk_to_number(context, 1);
  261. inst->setOrthoSize(orthoSizeX,orthoSizeY);
  262. return 0;
  263. }
  264. duk_ret_t Polycode_Camera_setFrustumMode(duk_context *context) {
  265. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  266. Number left = duk_to_number(context, 0);
  267. Number right = duk_to_number(context, 1);
  268. Number bottom = duk_to_number(context, 2);
  269. Number top = duk_to_number(context, 3);
  270. Number front = duk_to_number(context, 4);
  271. Number back = duk_to_number(context, 5);
  272. inst->setFrustumMode(left,right,bottom,top,front,back);
  273. return 0;
  274. }
  275. duk_ret_t Polycode_Camera_getOrthoMode(duk_context *context) {
  276. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  277. inst->getOrthoMode();
  278. return 0;
  279. }
  280. duk_ret_t Polycode_Camera_getOrthoSizeX(duk_context *context) {
  281. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  282. inst->getOrthoSizeX();
  283. return 0;
  284. }
  285. duk_ret_t Polycode_Camera_getOrthoSizeY(duk_context *context) {
  286. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  287. inst->getOrthoSizeY();
  288. return 0;
  289. }
  290. duk_ret_t Polycode_Camera_setFOV(duk_context *context) {
  291. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  292. Number fov = duk_to_number(context, 0);
  293. inst->setFOV(fov);
  294. return 0;
  295. }
  296. duk_ret_t Polycode_Camera_getFOV(duk_context *context) {
  297. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  298. inst->getFOV();
  299. return 0;
  300. }
  301. duk_ret_t Polycode_Camera_setClippingPlanes(duk_context *context) {
  302. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  303. Number nearClipPlane = duk_to_number(context, 0);
  304. Number farClipPlane = duk_to_number(context, 1);
  305. inst->setClippingPlanes(nearClipPlane,farClipPlane);
  306. return 0;
  307. }
  308. duk_ret_t Polycode_Camera_getNearClippingPlane(duk_context *context) {
  309. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  310. inst->getNearClippingPlane();
  311. return 0;
  312. }
  313. duk_ret_t Polycode_Camera_getFarClippingPlane(duk_context *context) {
  314. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  315. inst->getFarClippingPlane();
  316. return 0;
  317. }
  318. duk_ret_t Polycode_Camera_setParentScene(duk_context *context) {
  319. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  320. Scene* parentScene = (Scene*)duk_to_pointer(context, 0);
  321. inst->setParentScene(parentScene);
  322. return 0;
  323. }
  324. duk_ret_t Polycode_Camera_getParentScene(duk_context *context) {
  325. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  326. inst->getParentScene();
  327. return 0;
  328. }
  329. duk_ret_t Polycode_Camera_createProjectionMatrix(duk_context *context) {
  330. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  331. inst->createProjectionMatrix();
  332. return 0;
  333. }
  334. duk_ret_t Polycode_Camera_hasFilterShader(duk_context *context) {
  335. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  336. inst->hasFilterShader();
  337. return 0;
  338. }
  339. duk_ret_t Polycode_Camera_drawFilter(duk_context *context) {
  340. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  341. RenderBuffer* targetBuffer = (RenderBuffer*)duk_to_pointer(context, 0);
  342. inst->drawFilter(targetBuffer);
  343. return 0;
  344. }
  345. duk_ret_t Polycode_Camera_setPostFilter(duk_context *context) {
  346. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  347. Material* material = (Material*)duk_to_pointer(context, 0);
  348. inst->setPostFilter(material);
  349. return 0;
  350. }
  351. duk_ret_t Polycode_Camera_setPostFilterByName(duk_context *context) {
  352. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  353. String shaderName = duk_to_string(context, 0);
  354. inst->setPostFilterByName(shaderName);
  355. return 0;
  356. }
  357. duk_ret_t Polycode_Camera_removePostFilter(duk_context *context) {
  358. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  359. inst->removePostFilter();
  360. return 0;
  361. }
  362. duk_ret_t Polycode_Camera_getScreenShaderMaterial(duk_context *context) {
  363. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  364. inst->getScreenShaderMaterial();
  365. return 0;
  366. }
  367. duk_ret_t Polycode_Camera_Clone(duk_context *context) {
  368. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  369. bool deepClone = duk_to_boolean(context, 0);
  370. bool ignoreEditorOnly = duk_to_boolean(context, 1);
  371. inst->Clone(deepClone,ignoreEditorOnly);
  372. return 0;
  373. }
  374. duk_ret_t Polycode_Camera_applyClone(duk_context *context) {
  375. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  376. Entity* clone = (Entity*)duk_to_pointer(context, 0);
  377. bool deepClone = duk_to_boolean(context, 1);
  378. bool ignoreEditorOnly = duk_to_boolean(context, 2);
  379. inst->applyClone(clone,deepClone,ignoreEditorOnly);
  380. return 0;
  381. }
  382. duk_ret_t Polycode_Camera_getProjectionMatrix(duk_context *context) {
  383. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  384. inst->getProjectionMatrix();
  385. return 0;
  386. }
  387. duk_ret_t Polycode_Camera_setCustomProjectionMatrix(duk_context *context) {
  388. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  389. Matrix4 matrix = *(Matrix4*)duk_to_pointer(context, 0);
  390. inst->setCustomProjectionMatrix(matrix);
  391. return 0;
  392. }
  393. duk_ret_t Polycode_Camera_getViewport(duk_context *context) {
  394. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  395. inst->getViewport();
  396. return 0;
  397. }
  398. duk_ret_t Polycode_Camera_setViewport(duk_context *context) {
  399. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  400. Rectangle viewport = *(Rectangle*)duk_to_pointer(context, 0);
  401. inst->setViewport(viewport);
  402. return 0;
  403. }
  404. duk_ret_t Polycode_Camera_setOrthoSizeMode(duk_context *context) {
  405. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  406. int orthoSizeMode = duk_to_int(context, 0);
  407. inst->setOrthoSizeMode(orthoSizeMode);
  408. return 0;
  409. }
  410. duk_ret_t Polycode_Camera_getOrthoSizeMode(duk_context *context) {
  411. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  412. inst->getOrthoSizeMode();
  413. return 0;
  414. }
  415. duk_ret_t Polycode_Camera_setProjectionMode(duk_context *context) {
  416. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  417. int mode = duk_to_int(context, 0);
  418. inst->setProjectionMode(mode);
  419. return 0;
  420. }
  421. duk_ret_t Polycode_Camera_getProjectionMode(duk_context *context) {
  422. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  423. inst->getProjectionMode();
  424. return 0;
  425. }
  426. duk_ret_t Polycode_Camera_projectRayFrom2DCoordinate(duk_context *context) {
  427. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  428. Vector2 coordinate = *(Vector2*)duk_to_pointer(context, 0);
  429. Rectangle viewport = *(Rectangle*)duk_to_pointer(context, 1);
  430. inst->projectRayFrom2DCoordinate(coordinate,viewport);
  431. return 0;
  432. }
  433. duk_ret_t Polycode_Camera_renderFullScreenQuad(duk_context *context) {
  434. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  435. GPUDrawBuffer* drawBuffer = (GPUDrawBuffer*)duk_to_pointer(context, 0);
  436. int shaderPass = duk_to_int(context, 1);
  437. inst->renderFullScreenQuad(drawBuffer,shaderPass);
  438. return 0;
  439. }
  440. duk_ret_t Polycode_Camera_getShaderPass(duk_context *context) {
  441. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  442. int index = duk_to_int(context, 0);
  443. inst->getShaderPass(index);
  444. return 0;
  445. }
  446. duk_ret_t Polycode_Camera_getNumShaderPasses(duk_context *context) {
  447. Camera *inst = (Camera*)duk_to_pointer(context, -1);
  448. inst->getNumShaderPasses();
  449. return 0;
  450. }
  451. duk_ret_t Polycode_Color_setColorHex(duk_context *context) {
  452. Color *inst = (Color*)duk_to_pointer(context, -1);
  453. int hex = duk_to_int(context, 0);
  454. inst->setColorHex(hex);
  455. return 0;
  456. }
  457. duk_ret_t Polycode_Color_setColorHexRGB(duk_context *context) {
  458. Color *inst = (Color*)duk_to_pointer(context, -1);
  459. int hex = duk_to_int(context, 0);
  460. inst->setColorHexRGB(hex);
  461. return 0;
  462. }
  463. duk_ret_t Polycode_Color_setColorHexFromString(duk_context *context) {
  464. Color *inst = (Color*)duk_to_pointer(context, -1);
  465. String hex = duk_to_string(context, 0);
  466. inst->setColorHexFromString(hex);
  467. return 0;
  468. }
  469. duk_ret_t Polycode_Color_setColorHexRGBFromString(duk_context *context) {
  470. Color *inst = (Color*)duk_to_pointer(context, -1);
  471. String hex = duk_to_string(context, 0);
  472. inst->setColorHexRGBFromString(hex);
  473. return 0;
  474. }
  475. duk_ret_t Polycode_Color_setColorHSV(duk_context *context) {
  476. Color *inst = (Color*)duk_to_pointer(context, -1);
  477. Number h = duk_to_number(context, 0);
  478. Number s = duk_to_number(context, 1);
  479. Number v = duk_to_number(context, 2);
  480. inst->setColorHSV(h,s,v);
  481. return 0;
  482. }
  483. duk_ret_t Polycode_Color_setColorRGBA(duk_context *context) {
  484. Color *inst = (Color*)duk_to_pointer(context, -1);
  485. int r = duk_to_int(context, 0);
  486. int g = duk_to_int(context, 1);
  487. int b = duk_to_int(context, 2);
  488. int a = duk_to_int(context, 3);
  489. inst->setColorRGBA(r,g,b,a);
  490. return 0;
  491. }
  492. duk_ret_t Polycode_Color_setColorRGB(duk_context *context) {
  493. Color *inst = (Color*)duk_to_pointer(context, -1);
  494. int r = duk_to_int(context, 0);
  495. int g = duk_to_int(context, 1);
  496. int b = duk_to_int(context, 2);
  497. inst->setColorRGB(r,g,b);
  498. return 0;
  499. }
  500. duk_ret_t Polycode_Color_setColor(duk_context *context) {
  501. Color *inst = (Color*)duk_to_pointer(context, -1);
  502. Number r = duk_to_number(context, 0);
  503. Number g = duk_to_number(context, 1);
  504. Number b = duk_to_number(context, 2);
  505. Number a = duk_to_number(context, 3);
  506. inst->setColor(r,g,b,a);
  507. return 0;
  508. }
  509. duk_ret_t Polycode_Color_blendColor(duk_context *context) {
  510. Color *inst = (Color*)duk_to_pointer(context, -1);
  511. Color c2 = *(Color*)duk_to_pointer(context, 0);
  512. int mode = duk_to_int(context, 1);
  513. Number amount = duk_to_number(context, 2);
  514. Color c3 = *(Color*)duk_to_pointer(context, 3);
  515. inst->blendColor(c2,mode,amount,c3);
  516. return 0;
  517. }
  518. duk_ret_t Polycode_Color_Random(duk_context *context) {
  519. Color *inst = (Color*)duk_to_pointer(context, -1);
  520. inst->Random();
  521. return 0;
  522. }
  523. duk_ret_t Polycode_Color_getBrightness(duk_context *context) {
  524. Color *inst = (Color*)duk_to_pointer(context, -1);
  525. inst->getBrightness();
  526. return 0;
  527. }
  528. duk_ret_t Polycode_Color_getHue(duk_context *context) {
  529. Color *inst = (Color*)duk_to_pointer(context, -1);
  530. inst->getHue();
  531. return 0;
  532. }
  533. duk_ret_t Polycode_Color_getSaturation(duk_context *context) {
  534. Color *inst = (Color*)duk_to_pointer(context, -1);
  535. inst->getSaturation();
  536. return 0;
  537. }
  538. duk_ret_t Polycode_Color_getValue(duk_context *context) {
  539. Color *inst = (Color*)duk_to_pointer(context, -1);
  540. inst->getValue();
  541. return 0;
  542. }
  543. duk_ret_t Polycode_Color_getUint(duk_context *context) {
  544. Color *inst = (Color*)duk_to_pointer(context, -1);
  545. inst->getUint();
  546. return 0;
  547. }
  548. duk_ret_t Polycode_Config_loadConfig(duk_context *context) {
  549. Config *inst = (Config*)duk_to_pointer(context, -1);
  550. String configNamespace = duk_to_string(context, 0);
  551. String fileName = duk_to_string(context, 1);
  552. inst->loadConfig(configNamespace,fileName);
  553. return 0;
  554. }
  555. duk_ret_t Polycode_Config_saveConfig(duk_context *context) {
  556. Config *inst = (Config*)duk_to_pointer(context, -1);
  557. String configNamespace = duk_to_string(context, 0);
  558. String fileName = duk_to_string(context, 1);
  559. inst->saveConfig(configNamespace,fileName);
  560. return 0;
  561. }
  562. duk_ret_t Polycode_Config_getEntry(duk_context *context) {
  563. Config *inst = (Config*)duk_to_pointer(context, -1);
  564. String configNamespace = duk_to_string(context, 0);
  565. String key = duk_to_string(context, 1);
  566. inst->getEntry(configNamespace,key);
  567. return 0;
  568. }
  569. duk_ret_t Polycode_Config_setStringValue(duk_context *context) {
  570. Config *inst = (Config*)duk_to_pointer(context, -1);
  571. String configNamespace = duk_to_string(context, 0);
  572. String key = duk_to_string(context, 1);
  573. String value = duk_to_string(context, 2);
  574. inst->setStringValue(configNamespace,key,value);
  575. return 0;
  576. }
  577. duk_ret_t Polycode_Config_setNumericValue(duk_context *context) {
  578. Config *inst = (Config*)duk_to_pointer(context, -1);
  579. String configNamespace = duk_to_string(context, 0);
  580. String key = duk_to_string(context, 1);
  581. Number value = duk_to_number(context, 2);
  582. inst->setNumericValue(configNamespace,key,value);
  583. return 0;
  584. }
  585. duk_ret_t Polycode_Config_getNumericValue(duk_context *context) {
  586. Config *inst = (Config*)duk_to_pointer(context, -1);
  587. String configNamespace = duk_to_string(context, 0);
  588. String key = duk_to_string(context, 1);
  589. inst->getNumericValue(configNamespace,key);
  590. return 0;
  591. }
  592. duk_ret_t Polycode_Config_getStringValue(duk_context *context) {
  593. Config *inst = (Config*)duk_to_pointer(context, -1);
  594. String configNamespace = duk_to_string(context, 0);
  595. String key = duk_to_string(context, 1);
  596. inst->getStringValue(configNamespace,key);
  597. return 0;
  598. }
  599. duk_ret_t Polycode_Config_setBoolValue(duk_context *context) {
  600. Config *inst = (Config*)duk_to_pointer(context, -1);
  601. String configNamespace = duk_to_string(context, 0);
  602. String key = duk_to_string(context, 1);
  603. bool value = duk_to_boolean(context, 2);
  604. inst->setBoolValue(configNamespace,key,value);
  605. return 0;
  606. }
  607. duk_ret_t Polycode_Config_getBoolValue(duk_context *context) {
  608. Config *inst = (Config*)duk_to_pointer(context, -1);
  609. String configNamespace = duk_to_string(context, 0);
  610. String key = duk_to_string(context, 1);
  611. inst->getBoolValue(configNamespace,key);
  612. return 0;
  613. }
  614. duk_ret_t Polycode_Core_Update(duk_context *context) {
  615. Core *inst = (Core*)duk_to_pointer(context, -1);
  616. inst->Update();
  617. return 0;
  618. }
  619. duk_ret_t Polycode_Core_Render(duk_context *context) {
  620. Core *inst = (Core*)duk_to_pointer(context, -1);
  621. inst->Render();
  622. return 0;
  623. }
  624. duk_ret_t Polycode_Core_fixedUpdate(duk_context *context) {
  625. Core *inst = (Core*)duk_to_pointer(context, -1);
  626. inst->fixedUpdate();
  627. return 0;
  628. }
  629. duk_ret_t Polycode_Core_systemUpdate(duk_context *context) {
  630. Core *inst = (Core*)duk_to_pointer(context, -1);
  631. inst->systemUpdate();
  632. return 0;
  633. }
  634. duk_ret_t Polycode_Core_updateAndRender(duk_context *context) {
  635. Core *inst = (Core*)duk_to_pointer(context, -1);
  636. inst->updateAndRender();
  637. return 0;
  638. }
  639. duk_ret_t Polycode_Core_enableMouse(duk_context *context) {
  640. Core *inst = (Core*)duk_to_pointer(context, -1);
  641. bool newval = duk_to_boolean(context, 0);
  642. inst->enableMouse(newval);
  643. return 0;
  644. }
  645. duk_ret_t Polycode_Core_captureMouse(duk_context *context) {
  646. Core *inst = (Core*)duk_to_pointer(context, -1);
  647. bool newval = duk_to_boolean(context, 0);
  648. inst->captureMouse(newval);
  649. return 0;
  650. }
  651. duk_ret_t Polycode_Core_setCursor(duk_context *context) {
  652. Core *inst = (Core*)duk_to_pointer(context, -1);
  653. int cursorType = duk_to_int(context, 0);
  654. inst->setCursor(cursorType);
  655. return 0;
  656. }
  657. duk_ret_t Polycode_Core_warpCursor(duk_context *context) {
  658. Core *inst = (Core*)duk_to_pointer(context, -1);
  659. int x = duk_to_int(context, 0);
  660. int y = duk_to_int(context, 1);
  661. inst->warpCursor(x,y);
  662. return 0;
  663. }
  664. duk_ret_t Polycode_Core_createThread(duk_context *context) {
  665. Core *inst = (Core*)duk_to_pointer(context, -1);
  666. Threaded* target = (Threaded*)duk_to_pointer(context, 0);
  667. inst->createThread(target);
  668. return 0;
  669. }
  670. duk_ret_t Polycode_Core_lockMutex(duk_context *context) {
  671. Core *inst = (Core*)duk_to_pointer(context, -1);
  672. CoreMutex* mutex = (CoreMutex*)duk_to_pointer(context, 0);
  673. inst->lockMutex(mutex);
  674. return 0;
  675. }
  676. duk_ret_t Polycode_Core_unlockMutex(duk_context *context) {
  677. Core *inst = (Core*)duk_to_pointer(context, -1);
  678. CoreMutex* mutex = (CoreMutex*)duk_to_pointer(context, 0);
  679. inst->unlockMutex(mutex);
  680. return 0;
  681. }
  682. duk_ret_t Polycode_Core_createMutex(duk_context *context) {
  683. Core *inst = (Core*)duk_to_pointer(context, -1);
  684. inst->createMutex();
  685. return 0;
  686. }
  687. duk_ret_t Polycode_Core_copyStringToClipboard(duk_context *context) {
  688. Core *inst = (Core*)duk_to_pointer(context, -1);
  689. String str = duk_to_string(context, 0);
  690. inst->copyStringToClipboard(str);
  691. return 0;
  692. }
  693. duk_ret_t Polycode_Core_getClipboardString(duk_context *context) {
  694. Core *inst = (Core*)duk_to_pointer(context, -1);
  695. inst->getClipboardString();
  696. return 0;
  697. }
  698. duk_ret_t Polycode_Core_getServices(duk_context *context) {
  699. Core *inst = (Core*)duk_to_pointer(context, -1);
  700. inst->getServices();
  701. return 0;
  702. }
  703. duk_ret_t Polycode_Core_getFPS(duk_context *context) {
  704. Core *inst = (Core*)duk_to_pointer(context, -1);
  705. inst->getFPS();
  706. return 0;
  707. }
  708. duk_ret_t Polycode_Core_Shutdown(duk_context *context) {
  709. Core *inst = (Core*)duk_to_pointer(context, -1);
  710. inst->Shutdown();
  711. return 0;
  712. }
  713. duk_ret_t Polycode_Core_isFullscreen(duk_context *context) {
  714. Core *inst = (Core*)duk_to_pointer(context, -1);
  715. inst->isFullscreen();
  716. return 0;
  717. }
  718. duk_ret_t Polycode_Core_getAALevel(duk_context *context) {
  719. Core *inst = (Core*)duk_to_pointer(context, -1);
  720. inst->getAALevel();
  721. return 0;
  722. }
  723. duk_ret_t Polycode_Core_getInput(duk_context *context) {
  724. Core *inst = (Core*)duk_to_pointer(context, -1);
  725. inst->getInput();
  726. return 0;
  727. }
  728. duk_ret_t Polycode_Core_getXRes(duk_context *context) {
  729. Core *inst = (Core*)duk_to_pointer(context, -1);
  730. inst->getXRes();
  731. return 0;
  732. }
  733. duk_ret_t Polycode_Core_getYRes(duk_context *context) {
  734. Core *inst = (Core*)duk_to_pointer(context, -1);
  735. inst->getYRes();
  736. return 0;
  737. }
  738. duk_ret_t Polycode_Core_getBackingXRes(duk_context *context) {
  739. Core *inst = (Core*)duk_to_pointer(context, -1);
  740. inst->getBackingXRes();
  741. return 0;
  742. }
  743. duk_ret_t Polycode_Core_getBackingYRes(duk_context *context) {
  744. Core *inst = (Core*)duk_to_pointer(context, -1);
  745. inst->getBackingYRes();
  746. return 0;
  747. }
  748. duk_ret_t Polycode_Core_getScreenWidth(duk_context *context) {
  749. Core *inst = (Core*)duk_to_pointer(context, -1);
  750. inst->getScreenWidth();
  751. return 0;
  752. }
  753. duk_ret_t Polycode_Core_getScreenHeight(duk_context *context) {
  754. Core *inst = (Core*)duk_to_pointer(context, -1);
  755. inst->getScreenHeight();
  756. return 0;
  757. }
  758. duk_ret_t Polycode_Core_createFolder(duk_context *context) {
  759. Core *inst = (Core*)duk_to_pointer(context, -1);
  760. String folderPath = duk_to_string(context, 0);
  761. inst->createFolder(folderPath);
  762. return 0;
  763. }
  764. duk_ret_t Polycode_Core_copyDiskItem(duk_context *context) {
  765. Core *inst = (Core*)duk_to_pointer(context, -1);
  766. String itemPath = duk_to_string(context, 0);
  767. String destItemPath = duk_to_string(context, 1);
  768. inst->copyDiskItem(itemPath,destItemPath);
  769. return 0;
  770. }
  771. duk_ret_t Polycode_Core_moveDiskItem(duk_context *context) {
  772. Core *inst = (Core*)duk_to_pointer(context, -1);
  773. String itemPath = duk_to_string(context, 0);
  774. String destItemPath = duk_to_string(context, 1);
  775. inst->moveDiskItem(itemPath,destItemPath);
  776. return 0;
  777. }
  778. duk_ret_t Polycode_Core_removeDiskItem(duk_context *context) {
  779. Core *inst = (Core*)duk_to_pointer(context, -1);
  780. String itemPath = duk_to_string(context, 0);
  781. inst->removeDiskItem(itemPath);
  782. return 0;
  783. }
  784. duk_ret_t Polycode_Core_openFolderPicker(duk_context *context) {
  785. Core *inst = (Core*)duk_to_pointer(context, -1);
  786. inst->openFolderPicker();
  787. return 0;
  788. }
  789. duk_ret_t Polycode_Core_setFramerate(duk_context *context) {
  790. Core *inst = (Core*)duk_to_pointer(context, -1);
  791. int frameRate = duk_to_int(context, 0);
  792. int maxFixedCycles = duk_to_int(context, 1);
  793. inst->setFramerate(frameRate,maxFixedCycles);
  794. return 0;
  795. }
  796. duk_ret_t Polycode_Core_openFilePicker(duk_context *context) {
  797. Core *inst = (Core*)duk_to_pointer(context, -1);
  798. vector<CoreFileExtension> extensions = *(vector<CoreFileExtension>*)duk_to_pointer(context, 0);
  799. bool allowMultiple = duk_to_boolean(context, 1);
  800. inst->openFilePicker(extensions,allowMultiple);
  801. return 0;
  802. }
  803. duk_ret_t Polycode_Core_saveFilePicker(duk_context *context) {
  804. Core *inst = (Core*)duk_to_pointer(context, -1);
  805. vector<CoreFileExtension> extensions = *(vector<CoreFileExtension>*)duk_to_pointer(context, 0);
  806. inst->saveFilePicker(extensions);
  807. return 0;
  808. }
  809. duk_ret_t Polycode_Core_handleVideoModeChange(duk_context *context) {
  810. Core *inst = (Core*)duk_to_pointer(context, -1);
  811. VideoModeChangeInfo* modeInfo = (VideoModeChangeInfo*)duk_to_pointer(context, 0);
  812. inst->handleVideoModeChange(modeInfo);
  813. return 0;
  814. }
  815. duk_ret_t Polycode_Core_flushRenderContext(duk_context *context) {
  816. Core *inst = (Core*)duk_to_pointer(context, -1);
  817. inst->flushRenderContext();
  818. return 0;
  819. }
  820. duk_ret_t Polycode_Core_prepareRenderContext(duk_context *context) {
  821. Core *inst = (Core*)duk_to_pointer(context, -1);
  822. inst->prepareRenderContext();
  823. return 0;
  824. }
  825. duk_ret_t Polycode_Core_openFile(duk_context *context) {
  826. Core *inst = (Core*)duk_to_pointer(context, -1);
  827. String fileName = duk_to_string(context, 0);
  828. String opts = duk_to_string(context, 1);
  829. inst->openFile(fileName,opts);
  830. return 0;
  831. }
  832. duk_ret_t Polycode_Core_closeFile(duk_context *context) {
  833. Core *inst = (Core*)duk_to_pointer(context, -1);
  834. CoreFile* file = (CoreFile*)duk_to_pointer(context, 0);
  835. inst->closeFile(file);
  836. return 0;
  837. }
  838. duk_ret_t Polycode_Core_addFileSource(duk_context *context) {
  839. Core *inst = (Core*)duk_to_pointer(context, -1);
  840. String type = duk_to_string(context, 0);
  841. String source = duk_to_string(context, 1);
  842. inst->addFileSource(type,source);
  843. return 0;
  844. }
  845. duk_ret_t Polycode_Core_removeFileSource(duk_context *context) {
  846. Core *inst = (Core*)duk_to_pointer(context, -1);
  847. String type = duk_to_string(context, 0);
  848. String source = duk_to_string(context, 1);
  849. inst->removeFileSource(type,source);
  850. return 0;
  851. }
  852. duk_ret_t Polycode_Core_parseFolder(duk_context *context) {
  853. Core *inst = (Core*)duk_to_pointer(context, -1);
  854. String pathString = duk_to_string(context, 0);
  855. bool showHidden = duk_to_boolean(context, 1);
  856. inst->parseFolder(pathString,showHidden);
  857. return 0;
  858. }
  859. duk_ret_t Polycode_Core_systemParseFolder(duk_context *context) {
  860. Core *inst = (Core*)duk_to_pointer(context, -1);
  861. String pathString = duk_to_string(context, 0);
  862. bool showHidden = duk_to_boolean(context, 1);
  863. vector<OSFileEntry> targetVector = *(vector<OSFileEntry>*)duk_to_pointer(context, 2);
  864. inst->systemParseFolder(pathString,showHidden,targetVector);
  865. return 0;
  866. }
  867. duk_ret_t Polycode_Core_getResourcePathForFile(duk_context *context) {
  868. Core *inst = (Core*)duk_to_pointer(context, -1);
  869. String fileName = duk_to_string(context, 0);
  870. inst->getResourcePathForFile(fileName);
  871. return 0;
  872. }
  873. duk_ret_t Polycode_Core_setVideoMode(duk_context *context) {
  874. Core *inst = (Core*)duk_to_pointer(context, -1);
  875. int xRes = duk_to_int(context, 0);
  876. int yRes = duk_to_int(context, 1);
  877. bool fullScreen = duk_to_boolean(context, 2);
  878. bool vSync = duk_to_boolean(context, 3);
  879. int aaLevel = duk_to_int(context, 4);
  880. int anisotropyLevel = duk_to_int(context, 5);
  881. bool retinaSupport = duk_to_boolean(context, 6);
  882. inst->setVideoMode(xRes,yRes,fullScreen,vSync,aaLevel,anisotropyLevel,retinaSupport);
  883. return 0;
  884. }
  885. duk_ret_t Polycode_Core_resizeTo(duk_context *context) {
  886. Core *inst = (Core*)duk_to_pointer(context, -1);
  887. int xRes = duk_to_int(context, 0);
  888. int yRes = duk_to_int(context, 1);
  889. inst->resizeTo(xRes,yRes);
  890. return 0;
  891. }
  892. duk_ret_t Polycode_Core_doSleep(duk_context *context) {
  893. Core *inst = (Core*)duk_to_pointer(context, -1);
  894. inst->doSleep();
  895. return 0;
  896. }
  897. duk_ret_t Polycode_Core_openURL(duk_context *context) {
  898. Core *inst = (Core*)duk_to_pointer(context, -1);
  899. String url = duk_to_string(context, 0);
  900. inst->openURL(url);
  901. return 0;
  902. }
  903. duk_ret_t Polycode_Core_getElapsed(duk_context *context) {
  904. Core *inst = (Core*)duk_to_pointer(context, -1);
  905. inst->getElapsed();
  906. return 0;
  907. }
  908. duk_ret_t Polycode_Core_getTicks(duk_context *context) {
  909. Core *inst = (Core*)duk_to_pointer(context, -1);
  910. inst->getTicks();
  911. return 0;
  912. }
  913. duk_ret_t Polycode_Core_getRefreshIntervalMs(duk_context *context) {
  914. Core *inst = (Core*)duk_to_pointer(context, -1);
  915. inst->getRefreshIntervalMs();
  916. return 0;
  917. }
  918. duk_ret_t Polycode_Core_getTimeSleptMs(duk_context *context) {
  919. Core *inst = (Core*)duk_to_pointer(context, -1);
  920. inst->getTimeSleptMs();
  921. return 0;
  922. }
  923. duk_ret_t Polycode_Core_getFixedTimestep(duk_context *context) {
  924. Core *inst = (Core*)duk_to_pointer(context, -1);
  925. inst->getFixedTimestep();
  926. return 0;
  927. }
  928. duk_ret_t Polycode_Core_getTicksFloat(duk_context *context) {
  929. Core *inst = (Core*)duk_to_pointer(context, -1);
  930. inst->getTicksFloat();
  931. return 0;
  932. }
  933. duk_ret_t Polycode_Core_setUserPointer(duk_context *context) {
  934. Core *inst = (Core*)duk_to_pointer(context, -1);
  935. void* ptr = (void*)duk_to_pointer(context, 0);
  936. inst->setUserPointer(ptr);
  937. return 0;
  938. }
  939. duk_ret_t Polycode_Core_getUserPointer(duk_context *context) {
  940. Core *inst = (Core*)duk_to_pointer(context, -1);
  941. inst->getUserPointer();
  942. return 0;
  943. }
  944. duk_ret_t Polycode_Core_executeExternalCommand(duk_context *context) {
  945. Core *inst = (Core*)duk_to_pointer(context, -1);
  946. String command = duk_to_string(context, 0);
  947. String args = duk_to_string(context, 1);
  948. String inDirectory = duk_to_string(context, 2);
  949. inst->executeExternalCommand(command,args,inDirectory);
  950. return 0;
  951. }
  952. duk_ret_t Polycode_Core_getDefaultWorkingDirectory(duk_context *context) {
  953. Core *inst = (Core*)duk_to_pointer(context, -1);
  954. inst->getDefaultWorkingDirectory();
  955. return 0;
  956. }
  957. duk_ret_t Polycode_Core_getUserHomeDirectory(duk_context *context) {
  958. Core *inst = (Core*)duk_to_pointer(context, -1);
  959. inst->getUserHomeDirectory();
  960. return 0;
  961. }
  962. duk_ret_t Polycode_Core_makeApplicationMain(duk_context *context) {
  963. Core *inst = (Core*)duk_to_pointer(context, -1);
  964. inst->makeApplicationMain();
  965. return 0;
  966. }
  967. duk_ret_t Polycode_Core_getEventMutex(duk_context *context) {
  968. Core *inst = (Core*)duk_to_pointer(context, -1);
  969. inst->getEventMutex();
  970. return 0;
  971. }
  972. duk_ret_t Polycode_Core_removeThread(duk_context *context) {
  973. Core *inst = (Core*)duk_to_pointer(context, -1);
  974. Threaded* thread = (Threaded*)duk_to_pointer(context, 0);
  975. inst->removeThread(thread);
  976. return 0;
  977. }
  978. duk_ret_t Polycode_DummyCore_Render(duk_context *context) {
  979. DummyCore *inst = (DummyCore*)duk_to_pointer(context, -1);
  980. inst->Render();
  981. return 0;
  982. }
  983. duk_ret_t Polycode_DummyCore_systemUpdate(duk_context *context) {
  984. DummyCore *inst = (DummyCore*)duk_to_pointer(context, -1);
  985. inst->systemUpdate();
  986. return 0;
  987. }
  988. duk_ret_t Polycode_DummyCore_setCursor(duk_context *context) {
  989. DummyCore *inst = (DummyCore*)duk_to_pointer(context, -1);
  990. int cursorType = duk_to_int(context, 0);
  991. inst->setCursor(cursorType);
  992. return 0;
  993. }
  994. duk_ret_t Polycode_DummyCore_createThread(duk_context *context) {
  995. DummyCore *inst = (DummyCore*)duk_to_pointer(context, -1);
  996. Threaded* target = (Threaded*)duk_to_pointer(context, 0);
  997. inst->createThread(target);
  998. return 0;
  999. }
  1000. duk_ret_t Polycode_DummyCore_createMutex(duk_context *context) {
  1001. DummyCore *inst = (DummyCore*)duk_to_pointer(context, -1);
  1002. inst->createMutex();
  1003. return 0;
  1004. }
  1005. duk_ret_t Polycode_DummyCore_copyStringToClipboard(duk_context *context) {
  1006. DummyCore *inst = (DummyCore*)duk_to_pointer(context, -1);
  1007. String str = duk_to_string(context, 0);
  1008. inst->copyStringToClipboard(str);
  1009. return 0;
  1010. }
  1011. duk_ret_t Polycode_DummyCore_getClipboardString(duk_context *context) {
  1012. DummyCore *inst = (DummyCore*)duk_to_pointer(context, -1);
  1013. inst->getClipboardString();
  1014. return 0;
  1015. }
  1016. duk_ret_t Polycode_DummyCore_createFolder(duk_context *context) {
  1017. DummyCore *inst = (DummyCore*)duk_to_pointer(context, -1);
  1018. String folderPath = duk_to_string(context, 0);
  1019. inst->createFolder(folderPath);
  1020. return 0;
  1021. }
  1022. duk_ret_t Polycode_DummyCore_copyDiskItem(duk_context *context) {
  1023. DummyCore *inst = (DummyCore*)duk_to_pointer(context, -1);
  1024. String itemPath = duk_to_string(context, 0);
  1025. String destItemPath = duk_to_string(context, 1);
  1026. inst->copyDiskItem(itemPath,destItemPath);
  1027. return 0;
  1028. }
  1029. duk_ret_t Polycode_DummyCore_moveDiskItem(duk_context *context) {
  1030. DummyCore *inst = (DummyCore*)duk_to_pointer(context, -1);
  1031. String itemPath = duk_to_string(context, 0);
  1032. String destItemPath = duk_to_string(context, 1);
  1033. inst->moveDiskItem(itemPath,destItemPath);
  1034. return 0;
  1035. }
  1036. duk_ret_t Polycode_DummyCore_removeDiskItem(duk_context *context) {
  1037. DummyCore *inst = (DummyCore*)duk_to_pointer(context, -1);
  1038. String itemPath = duk_to_string(context, 0);
  1039. inst->removeDiskItem(itemPath);
  1040. return 0;
  1041. }
  1042. duk_ret_t Polycode_DummyCore_openFolderPicker(duk_context *context) {
  1043. DummyCore *inst = (DummyCore*)duk_to_pointer(context, -1);
  1044. inst->openFolderPicker();
  1045. return 0;
  1046. }
  1047. duk_ret_t Polycode_DummyCore_openFilePicker(duk_context *context) {
  1048. DummyCore *inst = (DummyCore*)duk_to_pointer(context, -1);
  1049. vector<CoreFileExtension> extensions = *(vector<CoreFileExtension>*)duk_to_pointer(context, 0);
  1050. bool allowMultiple = duk_to_boolean(context, 1);
  1051. inst->openFilePicker(extensions,allowMultiple);
  1052. return 0;
  1053. }
  1054. duk_ret_t Polycode_DummyCore_saveFilePicker(duk_context *context) {
  1055. DummyCore *inst = (DummyCore*)duk_to_pointer(context, -1);
  1056. vector<CoreFileExtension> extensions = *(vector<CoreFileExtension>*)duk_to_pointer(context, 0);
  1057. inst->saveFilePicker(extensions);
  1058. return 0;
  1059. }
  1060. duk_ret_t Polycode_DummyCore_handleVideoModeChange(duk_context *context) {
  1061. DummyCore *inst = (DummyCore*)duk_to_pointer(context, -1);
  1062. VideoModeChangeInfo* modeInfo = (VideoModeChangeInfo*)duk_to_pointer(context, 0);
  1063. inst->handleVideoModeChange(modeInfo);
  1064. return 0;
  1065. }
  1066. duk_ret_t Polycode_DummyCore_flushRenderContext(duk_context *context) {
  1067. DummyCore *inst = (DummyCore*)duk_to_pointer(context, -1);
  1068. inst->flushRenderContext();
  1069. return 0;
  1070. }
  1071. duk_ret_t Polycode_DummyCore_openURL(duk_context *context) {
  1072. DummyCore *inst = (DummyCore*)duk_to_pointer(context, -1);
  1073. String url = duk_to_string(context, 0);
  1074. inst->openURL(url);
  1075. return 0;
  1076. }
  1077. duk_ret_t Polycode_DummyCore_getTicks(duk_context *context) {
  1078. DummyCore *inst = (DummyCore*)duk_to_pointer(context, -1);
  1079. inst->getTicks();
  1080. return 0;
  1081. }
  1082. duk_ret_t Polycode_DummyCore_executeExternalCommand(duk_context *context) {
  1083. DummyCore *inst = (DummyCore*)duk_to_pointer(context, -1);
  1084. String command = duk_to_string(context, 0);
  1085. String args = duk_to_string(context, 1);
  1086. String inDirectory = duk_to_string(context, 2);
  1087. inst->executeExternalCommand(command,args,inDirectory);
  1088. return 0;
  1089. }
  1090. duk_ret_t Polycode_DummyCore_systemParseFolder(duk_context *context) {
  1091. DummyCore *inst = (DummyCore*)duk_to_pointer(context, -1);
  1092. String pathString = duk_to_string(context, 0);
  1093. bool showHidden = duk_to_boolean(context, 1);
  1094. vector<OSFileEntry> targetVector = *(vector<OSFileEntry>*)duk_to_pointer(context, 2);
  1095. inst->systemParseFolder(pathString,showHidden,targetVector);
  1096. return 0;
  1097. }
  1098. duk_ret_t Polycode_CoreMutex_lock(duk_context *context) {
  1099. CoreMutex *inst = (CoreMutex*)duk_to_pointer(context, -1);
  1100. inst->lock();
  1101. return 0;
  1102. }
  1103. duk_ret_t Polycode_CoreMutex_unlock(duk_context *context) {
  1104. CoreMutex *inst = (CoreMutex*)duk_to_pointer(context, -1);
  1105. inst->unlock();
  1106. return 0;
  1107. }
  1108. duk_ret_t Polycode_OSFileEntry_init(duk_context *context) {
  1109. OSFileEntry *inst = (OSFileEntry*)duk_to_pointer(context, -1);
  1110. String path = duk_to_string(context, 0);
  1111. String name = duk_to_string(context, 1);
  1112. int type = duk_to_int(context, 2);
  1113. inst->init(path,name,type);
  1114. return 0;
  1115. }
  1116. duk_ret_t Polycode_CoreInput_getMousePosition(duk_context *context) {
  1117. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1118. inst->getMousePosition();
  1119. return 0;
  1120. }
  1121. duk_ret_t Polycode_CoreInput_getKeyState(duk_context *context) {
  1122. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1123. PolyKEY keyCode = (PolyKEY)duk_to_int(context, 0);
  1124. inst->getKeyState(keyCode);
  1125. return 0;
  1126. }
  1127. duk_ret_t Polycode_CoreInput_getJoystickButtonState(duk_context *context) {
  1128. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1129. int joystickIndex = duk_to_int(context, 0);
  1130. int button = duk_to_int(context, 1);
  1131. inst->getJoystickButtonState(joystickIndex,button);
  1132. return 0;
  1133. }
  1134. duk_ret_t Polycode_CoreInput_getJoystickAxisValue(duk_context *context) {
  1135. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1136. int joystickIndex = duk_to_int(context, 0);
  1137. int axis = duk_to_int(context, 1);
  1138. inst->getJoystickAxisValue(joystickIndex,axis);
  1139. return 0;
  1140. }
  1141. duk_ret_t Polycode_CoreInput_getMouseDelta(duk_context *context) {
  1142. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1143. inst->getMouseDelta();
  1144. return 0;
  1145. }
  1146. duk_ret_t Polycode_CoreInput_getMouseButtonState(duk_context *context) {
  1147. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1148. int mouseButton = duk_to_int(context, 0);
  1149. inst->getMouseButtonState(mouseButton);
  1150. return 0;
  1151. }
  1152. duk_ret_t Polycode_CoreInput_getNumJoysticks(duk_context *context) {
  1153. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1154. inst->getNumJoysticks();
  1155. return 0;
  1156. }
  1157. duk_ret_t Polycode_CoreInput_getJoystickInfoByIndex(duk_context *context) {
  1158. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1159. int index = duk_to_int(context, 0);
  1160. inst->getJoystickInfoByIndex(index);
  1161. return 0;
  1162. }
  1163. duk_ret_t Polycode_CoreInput_getJoystickInfoByID(duk_context *context) {
  1164. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1165. int deviceID = duk_to_int(context, 0);
  1166. inst->getJoystickInfoByID(deviceID);
  1167. return 0;
  1168. }
  1169. duk_ret_t Polycode_CoreInput_addJoystick(duk_context *context) {
  1170. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1171. int deviceID = duk_to_int(context, 0);
  1172. inst->addJoystick(deviceID);
  1173. return 0;
  1174. }
  1175. duk_ret_t Polycode_CoreInput_removeJoystick(duk_context *context) {
  1176. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1177. int deviceID = duk_to_int(context, 0);
  1178. inst->removeJoystick(deviceID);
  1179. return 0;
  1180. }
  1181. duk_ret_t Polycode_CoreInput_joystickAxisMoved(duk_context *context) {
  1182. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1183. int axisID = duk_to_int(context, 0);
  1184. Number value = duk_to_number(context, 1);
  1185. int deviceID = duk_to_int(context, 2);
  1186. inst->joystickAxisMoved(axisID,value,deviceID);
  1187. return 0;
  1188. }
  1189. duk_ret_t Polycode_CoreInput_joystickButtonDown(duk_context *context) {
  1190. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1191. int buttonID = duk_to_int(context, 0);
  1192. int deviceID = duk_to_int(context, 1);
  1193. inst->joystickButtonDown(buttonID,deviceID);
  1194. return 0;
  1195. }
  1196. duk_ret_t Polycode_CoreInput_joystickButtonUp(duk_context *context) {
  1197. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1198. int buttonID = duk_to_int(context, 0);
  1199. int deviceID = duk_to_int(context, 1);
  1200. inst->joystickButtonUp(buttonID,deviceID);
  1201. return 0;
  1202. }
  1203. duk_ret_t Polycode_CoreInput_mouseWheelUp(duk_context *context) {
  1204. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1205. int ticks = duk_to_int(context, 0);
  1206. inst->mouseWheelUp(ticks);
  1207. return 0;
  1208. }
  1209. duk_ret_t Polycode_CoreInput_mouseWheelDown(duk_context *context) {
  1210. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1211. int ticks = duk_to_int(context, 0);
  1212. inst->mouseWheelDown(ticks);
  1213. return 0;
  1214. }
  1215. duk_ret_t Polycode_CoreInput_setMouseButtonState(duk_context *context) {
  1216. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1217. int mouseButton = duk_to_int(context, 0);
  1218. bool state = duk_to_boolean(context, 1);
  1219. int ticks = duk_to_int(context, 2);
  1220. inst->setMouseButtonState(mouseButton,state,ticks);
  1221. return 0;
  1222. }
  1223. duk_ret_t Polycode_CoreInput_setMousePosition(duk_context *context) {
  1224. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1225. int x = duk_to_int(context, 0);
  1226. int y = duk_to_int(context, 1);
  1227. int ticks = duk_to_int(context, 2);
  1228. inst->setMousePosition(x,y,ticks);
  1229. return 0;
  1230. }
  1231. duk_ret_t Polycode_CoreInput_setKeyState(duk_context *context) {
  1232. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1233. PolyKEY keyCode = (PolyKEY)duk_to_int(context, 0);
  1234. wchar_t code = *(wchar_t*)duk_to_pointer(context, 1);
  1235. bool newState = duk_to_boolean(context, 2);
  1236. int ticks = duk_to_int(context, 3);
  1237. inst->setKeyState(keyCode,code,newState,ticks);
  1238. return 0;
  1239. }
  1240. duk_ret_t Polycode_CoreInput_setDeltaPosition(duk_context *context) {
  1241. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1242. int x = duk_to_int(context, 0);
  1243. int y = duk_to_int(context, 1);
  1244. inst->setDeltaPosition(x,y);
  1245. return 0;
  1246. }
  1247. duk_ret_t Polycode_CoreInput_touchesBegan(duk_context *context) {
  1248. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1249. TouchInfo touch = *(TouchInfo*)duk_to_pointer(context, 0);
  1250. vector<TouchInfo> touches = *(vector<TouchInfo>*)duk_to_pointer(context, 1);
  1251. int ticks = duk_to_int(context, 2);
  1252. inst->touchesBegan(touch,touches,ticks);
  1253. return 0;
  1254. }
  1255. duk_ret_t Polycode_CoreInput_touchesMoved(duk_context *context) {
  1256. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1257. TouchInfo touch = *(TouchInfo*)duk_to_pointer(context, 0);
  1258. vector<TouchInfo> touches = *(vector<TouchInfo>*)duk_to_pointer(context, 1);
  1259. int ticks = duk_to_int(context, 2);
  1260. inst->touchesMoved(touch,touches,ticks);
  1261. return 0;
  1262. }
  1263. duk_ret_t Polycode_CoreInput_touchesEnded(duk_context *context) {
  1264. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1265. TouchInfo touch = *(TouchInfo*)duk_to_pointer(context, 0);
  1266. vector<TouchInfo> touches = *(vector<TouchInfo>*)duk_to_pointer(context, 1);
  1267. int ticks = duk_to_int(context, 2);
  1268. inst->touchesEnded(touch,touches,ticks);
  1269. return 0;
  1270. }
  1271. duk_ret_t Polycode_CoreInput_clearInput(duk_context *context) {
  1272. CoreInput *inst = (CoreInput*)duk_to_pointer(context, -1);
  1273. inst->clearInput();
  1274. return 0;
  1275. }
  1276. duk_ret_t Polycode_CoreServices_setRenderer(duk_context *context) {
  1277. CoreServices *inst = (CoreServices*)duk_to_pointer(context, -1);
  1278. Renderer* renderer = (Renderer*)duk_to_pointer(context, 0);
  1279. inst->setRenderer(renderer);
  1280. return 0;
  1281. }
  1282. duk_ret_t Polycode_CoreServices_getRenderer(duk_context *context) {
  1283. CoreServices *inst = (CoreServices*)duk_to_pointer(context, -1);
  1284. inst->getRenderer();
  1285. return 0;
  1286. }
  1287. duk_ret_t Polycode_CoreServices_Update(duk_context *context) {
  1288. CoreServices *inst = (CoreServices*)duk_to_pointer(context, -1);
  1289. int elapsed = duk_to_int(context, 0);
  1290. inst->Update(elapsed);
  1291. return 0;
  1292. }
  1293. duk_ret_t Polycode_CoreServices_fixedUpdate(duk_context *context) {
  1294. CoreServices *inst = (CoreServices*)duk_to_pointer(context, -1);
  1295. inst->fixedUpdate();
  1296. return 0;
  1297. }
  1298. duk_ret_t Polycode_CoreServices_Render(duk_context *context) {
  1299. CoreServices *inst = (CoreServices*)duk_to_pointer(context, -1);
  1300. Rectangle viewport = *(Rectangle*)duk_to_pointer(context, 0);
  1301. inst->Render(viewport);
  1302. return 0;
  1303. }
  1304. duk_ret_t Polycode_CoreServices_setCore(duk_context *context) {
  1305. CoreServices *inst = (CoreServices*)duk_to_pointer(context, -1);
  1306. Core* core = (Core*)duk_to_pointer(context, 0);
  1307. inst->setCore(core);
  1308. return 0;
  1309. }
  1310. duk_ret_t Polycode_CoreServices_getCore(duk_context *context) {
  1311. CoreServices *inst = (CoreServices*)duk_to_pointer(context, -1);
  1312. inst->getCore();
  1313. return 0;
  1314. }
  1315. duk_ret_t Polycode_CoreServices_getInput(duk_context *context) {
  1316. CoreServices *inst = (CoreServices*)duk_to_pointer(context, -1);
  1317. inst->getInput();
  1318. return 0;
  1319. }
  1320. duk_ret_t Polycode_CoreServices_getMaterialManager(duk_context *context) {
  1321. CoreServices *inst = (CoreServices*)duk_to_pointer(context, -1);
  1322. inst->getMaterialManager();
  1323. return 0;
  1324. }
  1325. duk_ret_t Polycode_CoreServices_getSceneManager(duk_context *context) {
  1326. CoreServices *inst = (CoreServices*)duk_to_pointer(context, -1);
  1327. inst->getSceneManager();
  1328. return 0;
  1329. }
  1330. duk_ret_t Polycode_CoreServices_getTimerManager(duk_context *context) {
  1331. CoreServices *inst = (CoreServices*)duk_to_pointer(context, -1);
  1332. inst->getTimerManager();
  1333. return 0;
  1334. }
  1335. duk_ret_t Polycode_CoreServices_getTweenManager(duk_context *context) {
  1336. CoreServices *inst = (CoreServices*)duk_to_pointer(context, -1);
  1337. inst->getTweenManager();
  1338. return 0;
  1339. }
  1340. duk_ret_t Polycode_CoreServices_getResourceManager(duk_context *context) {
  1341. CoreServices *inst = (CoreServices*)duk_to_pointer(context, -1);
  1342. inst->getResourceManager();
  1343. return 0;
  1344. }
  1345. duk_ret_t Polycode_CoreServices_getSoundManager(duk_context *context) {
  1346. CoreServices *inst = (CoreServices*)duk_to_pointer(context, -1);
  1347. inst->getSoundManager();
  1348. return 0;
  1349. }
  1350. duk_ret_t Polycode_CoreServices_getLogger(duk_context *context) {
  1351. CoreServices *inst = (CoreServices*)duk_to_pointer(context, -1);
  1352. inst->getLogger();
  1353. return 0;
  1354. }
  1355. duk_ret_t Polycode_CoreServices_getConfig(duk_context *context) {
  1356. CoreServices *inst = (CoreServices*)duk_to_pointer(context, -1);
  1357. inst->getConfig();
  1358. return 0;
  1359. }
  1360. duk_ret_t Polycode_Data_loadFromFile(duk_context *context) {
  1361. Data *inst = (Data*)duk_to_pointer(context, -1);
  1362. String fileName = duk_to_string(context, 0);
  1363. inst->loadFromFile(fileName);
  1364. return 0;
  1365. }
  1366. duk_ret_t Polycode_Data_getAsString(duk_context *context) {
  1367. Data *inst = (Data*)duk_to_pointer(context, -1);
  1368. int encoding = duk_to_int(context, 0);
  1369. inst->getAsString(encoding);
  1370. return 0;
  1371. }
  1372. duk_ret_t Polycode_Data_setFromString(duk_context *context) {
  1373. Data *inst = (Data*)duk_to_pointer(context, -1);
  1374. String str = duk_to_string(context, 0);
  1375. int encoding = duk_to_int(context, 1);
  1376. inst->setFromString(str,encoding);
  1377. return 0;
  1378. }
  1379. duk_ret_t Polycode_Data_saveToFile(duk_context *context) {
  1380. Data *inst = (Data*)duk_to_pointer(context, -1);
  1381. String fileName = duk_to_string(context, 0);
  1382. inst->saveToFile(fileName);
  1383. return 0;
  1384. }
  1385. duk_ret_t Polycode_Data_getData(duk_context *context) {
  1386. Data *inst = (Data*)duk_to_pointer(context, -1);
  1387. inst->getData();
  1388. return 0;
  1389. }
  1390. duk_ret_t Polycode_Entity_initEntity(duk_context *context) {
  1391. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1392. inst->initEntity();
  1393. return 0;
  1394. }
  1395. duk_ret_t Polycode_Entity_Render(duk_context *context) {
  1396. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1397. GPUDrawBuffer* buffer = (GPUDrawBuffer*)duk_to_pointer(context, 0);
  1398. inst->Render(buffer);
  1399. return 0;
  1400. }
  1401. duk_ret_t Polycode_Entity_Update(duk_context *context) {
  1402. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1403. inst->Update();
  1404. return 0;
  1405. }
  1406. duk_ret_t Polycode_Entity_fixedUpdate(duk_context *context) {
  1407. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1408. inst->fixedUpdate();
  1409. return 0;
  1410. }
  1411. duk_ret_t Polycode_Entity_transformAndRender(duk_context *context) {
  1412. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1413. GPUDrawBuffer* drawBuffer = (GPUDrawBuffer*)duk_to_pointer(context, 0);
  1414. Rectangle* parentScissorBox = (Rectangle*)duk_to_pointer(context, 1);
  1415. inst->transformAndRender(drawBuffer,parentScissorBox);
  1416. return 0;
  1417. }
  1418. duk_ret_t Polycode_Entity_renderChildren(duk_context *context) {
  1419. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1420. GPUDrawBuffer* buffer = (GPUDrawBuffer*)duk_to_pointer(context, 0);
  1421. Rectangle* parentScissorBox = (Rectangle*)duk_to_pointer(context, 1);
  1422. inst->renderChildren(buffer,parentScissorBox);
  1423. return 0;
  1424. }
  1425. duk_ret_t Polycode_Entity_Clone(duk_context *context) {
  1426. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1427. bool deepClone = duk_to_boolean(context, 0);
  1428. bool ignoreEditorOnly = duk_to_boolean(context, 1);
  1429. inst->Clone(deepClone,ignoreEditorOnly);
  1430. return 0;
  1431. }
  1432. duk_ret_t Polycode_Entity_applyClone(duk_context *context) {
  1433. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1434. Entity* clone = (Entity*)duk_to_pointer(context, 0);
  1435. bool deepClone = duk_to_boolean(context, 1);
  1436. bool ignoreEditorOnly = duk_to_boolean(context, 2);
  1437. inst->applyClone(clone,deepClone,ignoreEditorOnly);
  1438. return 0;
  1439. }
  1440. duk_ret_t Polycode_Entity_dirtyMatrix(duk_context *context) {
  1441. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1442. bool val = duk_to_boolean(context, 0);
  1443. inst->dirtyMatrix(val);
  1444. return 0;
  1445. }
  1446. duk_ret_t Polycode_Entity_rebuildTransformMatrix(duk_context *context) {
  1447. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1448. inst->rebuildTransformMatrix();
  1449. return 0;
  1450. }
  1451. duk_ret_t Polycode_Entity_updateEntityMatrix(duk_context *context) {
  1452. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1453. inst->updateEntityMatrix();
  1454. return 0;
  1455. }
  1456. duk_ret_t Polycode_Entity_getTransformMatrix(duk_context *context) {
  1457. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1458. inst->getTransformMatrix();
  1459. return 0;
  1460. }
  1461. duk_ret_t Polycode_Entity_getConcatenatedMatrix(duk_context *context) {
  1462. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1463. inst->getConcatenatedMatrix();
  1464. return 0;
  1465. }
  1466. duk_ret_t Polycode_Entity_getConcatenatedMatrixRelativeTo(duk_context *context) {
  1467. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1468. Entity* relativeEntity = (Entity*)duk_to_pointer(context, 0);
  1469. inst->getConcatenatedMatrixRelativeTo(relativeEntity);
  1470. return 0;
  1471. }
  1472. duk_ret_t Polycode_Entity_getAnchorAdjustedMatrix(duk_context *context) {
  1473. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1474. inst->getAnchorAdjustedMatrix();
  1475. return 0;
  1476. }
  1477. duk_ret_t Polycode_Entity_getConcatenatedRollMatrix(duk_context *context) {
  1478. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1479. inst->getConcatenatedRollMatrix();
  1480. return 0;
  1481. }
  1482. duk_ret_t Polycode_Entity_setTransformByMatrixPure(duk_context *context) {
  1483. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1484. Matrix4 matrix = *(Matrix4*)duk_to_pointer(context, 0);
  1485. inst->setTransformByMatrixPure(matrix);
  1486. return 0;
  1487. }
  1488. duk_ret_t Polycode_Entity_getLookAtMatrix(duk_context *context) {
  1489. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1490. Vector3 loc = *(Vector3*)duk_to_pointer(context, 0);
  1491. Vector3 upVector = *(Vector3*)duk_to_pointer(context, 1);
  1492. inst->getLookAtMatrix(loc,upVector);
  1493. return 0;
  1494. }
  1495. duk_ret_t Polycode_Entity_addChild(duk_context *context) {
  1496. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1497. Entity* newChild = (Entity*)duk_to_pointer(context, 0);
  1498. inst->addChild(newChild);
  1499. return 0;
  1500. }
  1501. duk_ret_t Polycode_Entity_removeChild(duk_context *context) {
  1502. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1503. Entity* entityToRemove = (Entity*)duk_to_pointer(context, 0);
  1504. inst->removeChild(entityToRemove);
  1505. return 0;
  1506. }
  1507. duk_ret_t Polycode_Entity_moveChildUp(duk_context *context) {
  1508. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1509. Entity* child = (Entity*)duk_to_pointer(context, 0);
  1510. inst->moveChildUp(child);
  1511. return 0;
  1512. }
  1513. duk_ret_t Polycode_Entity_moveChildDown(duk_context *context) {
  1514. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1515. Entity* child = (Entity*)duk_to_pointer(context, 0);
  1516. inst->moveChildDown(child);
  1517. return 0;
  1518. }
  1519. duk_ret_t Polycode_Entity_moveChildTop(duk_context *context) {
  1520. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1521. Entity* child = (Entity*)duk_to_pointer(context, 0);
  1522. inst->moveChildTop(child);
  1523. return 0;
  1524. }
  1525. duk_ret_t Polycode_Entity_moveChildBottom(duk_context *context) {
  1526. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1527. Entity* child = (Entity*)duk_to_pointer(context, 0);
  1528. inst->moveChildBottom(child);
  1529. return 0;
  1530. }
  1531. duk_ret_t Polycode_Entity_setParentEntity(duk_context *context) {
  1532. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1533. Entity* entity = (Entity*)duk_to_pointer(context, 0);
  1534. inst->setParentEntity(entity);
  1535. return 0;
  1536. }
  1537. duk_ret_t Polycode_Entity_getParentEntity(duk_context *context) {
  1538. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1539. inst->getParentEntity();
  1540. return 0;
  1541. }
  1542. duk_ret_t Polycode_Entity_getNumChildren(duk_context *context) {
  1543. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1544. inst->getNumChildren();
  1545. return 0;
  1546. }
  1547. duk_ret_t Polycode_Entity_getChildAtIndex(duk_context *context) {
  1548. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1549. int index = duk_to_int(context, 0);
  1550. inst->getChildAtIndex(index);
  1551. return 0;
  1552. }
  1553. duk_ret_t Polycode_Entity_setOwnsChildrenRecursive(duk_context *context) {
  1554. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1555. bool val = duk_to_boolean(context, 0);
  1556. inst->setOwnsChildrenRecursive(val);
  1557. return 0;
  1558. }
  1559. duk_ret_t Polycode_Entity_getPosition(duk_context *context) {
  1560. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1561. inst->getPosition();
  1562. return 0;
  1563. }
  1564. duk_ret_t Polycode_Entity_getPosition2D(duk_context *context) {
  1565. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1566. inst->getPosition2D();
  1567. return 0;
  1568. }
  1569. duk_ret_t Polycode_Entity_getCombinedPosition(duk_context *context) {
  1570. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1571. inst->getCombinedPosition();
  1572. return 0;
  1573. }
  1574. duk_ret_t Polycode_Entity_setPosition(duk_context *context) {
  1575. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1576. Number x = duk_to_number(context, 0);
  1577. Number y = duk_to_number(context, 1);
  1578. Number z = duk_to_number(context, 2);
  1579. inst->setPosition(x,y,z);
  1580. return 0;
  1581. }
  1582. duk_ret_t Polycode_Entity_setPositionX(duk_context *context) {
  1583. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1584. Number x = duk_to_number(context, 0);
  1585. inst->setPositionX(x);
  1586. return 0;
  1587. }
  1588. duk_ret_t Polycode_Entity_setPositionY(duk_context *context) {
  1589. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1590. Number y = duk_to_number(context, 0);
  1591. inst->setPositionY(y);
  1592. return 0;
  1593. }
  1594. duk_ret_t Polycode_Entity_Translate(duk_context *context) {
  1595. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1596. Number x = duk_to_number(context, 0);
  1597. Number y = duk_to_number(context, 1);
  1598. Number z = duk_to_number(context, 2);
  1599. inst->Translate(x,y,z);
  1600. return 0;
  1601. }
  1602. duk_ret_t Polycode_Entity_setPositionZ(duk_context *context) {
  1603. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1604. Number z = duk_to_number(context, 0);
  1605. inst->setPositionZ(z);
  1606. return 0;
  1607. }
  1608. duk_ret_t Polycode_Entity_setScaleX(duk_context *context) {
  1609. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1610. Number x = duk_to_number(context, 0);
  1611. inst->setScaleX(x);
  1612. return 0;
  1613. }
  1614. duk_ret_t Polycode_Entity_setScaleY(duk_context *context) {
  1615. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1616. Number y = duk_to_number(context, 0);
  1617. inst->setScaleY(y);
  1618. return 0;
  1619. }
  1620. duk_ret_t Polycode_Entity_setScaleZ(duk_context *context) {
  1621. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1622. Number z = duk_to_number(context, 0);
  1623. inst->setScaleZ(z);
  1624. return 0;
  1625. }
  1626. duk_ret_t Polycode_Entity_Scale(duk_context *context) {
  1627. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1628. Number x = duk_to_number(context, 0);
  1629. Number y = duk_to_number(context, 1);
  1630. Number z = duk_to_number(context, 2);
  1631. inst->Scale(x,y,z);
  1632. return 0;
  1633. }
  1634. duk_ret_t Polycode_Entity_setScale(duk_context *context) {
  1635. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1636. Number x = duk_to_number(context, 0);
  1637. Number y = duk_to_number(context, 1);
  1638. Number z = duk_to_number(context, 2);
  1639. inst->setScale(x,y,z);
  1640. return 0;
  1641. }
  1642. duk_ret_t Polycode_Entity_getCompoundScale(duk_context *context) {
  1643. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1644. inst->getCompoundScale();
  1645. return 0;
  1646. }
  1647. duk_ret_t Polycode_Entity_getScale(duk_context *context) {
  1648. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1649. inst->getScale();
  1650. return 0;
  1651. }
  1652. duk_ret_t Polycode_Entity_getRotationEuler(duk_context *context) {
  1653. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1654. inst->getRotationEuler();
  1655. return 0;
  1656. }
  1657. duk_ret_t Polycode_Entity_getCombinedPitch(duk_context *context) {
  1658. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1659. inst->getCombinedPitch();
  1660. return 0;
  1661. }
  1662. duk_ret_t Polycode_Entity_getCombinedYaw(duk_context *context) {
  1663. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1664. inst->getCombinedYaw();
  1665. return 0;
  1666. }
  1667. duk_ret_t Polycode_Entity_getCombinedRoll(duk_context *context) {
  1668. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1669. inst->getCombinedRoll();
  1670. return 0;
  1671. }
  1672. duk_ret_t Polycode_Entity_rebuildRotation(duk_context *context) {
  1673. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1674. inst->rebuildRotation();
  1675. return 0;
  1676. }
  1677. duk_ret_t Polycode_Entity_setRotationEuler(duk_context *context) {
  1678. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1679. Vector3 rotation = *(Vector3*)duk_to_pointer(context, 0);
  1680. inst->setRotationEuler(rotation);
  1681. return 0;
  1682. }
  1683. duk_ret_t Polycode_Entity_setPitch(duk_context *context) {
  1684. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1685. Number pitch = duk_to_number(context, 0);
  1686. inst->setPitch(pitch);
  1687. return 0;
  1688. }
  1689. duk_ret_t Polycode_Entity_setYaw(duk_context *context) {
  1690. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1691. Number yaw = duk_to_number(context, 0);
  1692. inst->setYaw(yaw);
  1693. return 0;
  1694. }
  1695. duk_ret_t Polycode_Entity_setRoll(duk_context *context) {
  1696. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1697. Number roll = duk_to_number(context, 0);
  1698. inst->setRoll(roll);
  1699. return 0;
  1700. }
  1701. duk_ret_t Polycode_Entity_Roll(duk_context *context) {
  1702. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1703. Number roll = duk_to_number(context, 0);
  1704. inst->Roll(roll);
  1705. return 0;
  1706. }
  1707. duk_ret_t Polycode_Entity_Yaw(duk_context *context) {
  1708. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1709. Number yaw = duk_to_number(context, 0);
  1710. inst->Yaw(yaw);
  1711. return 0;
  1712. }
  1713. duk_ret_t Polycode_Entity_Pitch(duk_context *context) {
  1714. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1715. Number pitch = duk_to_number(context, 0);
  1716. inst->Pitch(pitch);
  1717. return 0;
  1718. }
  1719. duk_ret_t Polycode_Entity_getPitch(duk_context *context) {
  1720. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1721. inst->getPitch();
  1722. return 0;
  1723. }
  1724. duk_ret_t Polycode_Entity_getYaw(duk_context *context) {
  1725. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1726. inst->getYaw();
  1727. return 0;
  1728. }
  1729. duk_ret_t Polycode_Entity_getRoll(duk_context *context) {
  1730. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1731. inst->getRoll();
  1732. return 0;
  1733. }
  1734. duk_ret_t Polycode_Entity_getWidth(duk_context *context) {
  1735. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1736. inst->getWidth();
  1737. return 0;
  1738. }
  1739. duk_ret_t Polycode_Entity_getHeight(duk_context *context) {
  1740. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1741. inst->getHeight();
  1742. return 0;
  1743. }
  1744. duk_ret_t Polycode_Entity_getDepth(duk_context *context) {
  1745. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1746. inst->getDepth();
  1747. return 0;
  1748. }
  1749. duk_ret_t Polycode_Entity_setWidth(duk_context *context) {
  1750. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1751. Number width = duk_to_number(context, 0);
  1752. inst->setWidth(width);
  1753. return 0;
  1754. }
  1755. duk_ret_t Polycode_Entity_setHeight(duk_context *context) {
  1756. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1757. Number height = duk_to_number(context, 0);
  1758. inst->setHeight(height);
  1759. return 0;
  1760. }
  1761. duk_ret_t Polycode_Entity_setDepth(duk_context *context) {
  1762. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1763. Number depth = duk_to_number(context, 0);
  1764. inst->setDepth(depth);
  1765. return 0;
  1766. }
  1767. duk_ret_t Polycode_Entity_setRotationQuat(duk_context *context) {
  1768. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1769. Number w = duk_to_number(context, 0);
  1770. Number x = duk_to_number(context, 1);
  1771. Number y = duk_to_number(context, 2);
  1772. Number z = duk_to_number(context, 3);
  1773. inst->setRotationQuat(w,x,y,z);
  1774. return 0;
  1775. }
  1776. duk_ret_t Polycode_Entity_setRotationByQuaternion(duk_context *context) {
  1777. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1778. Quaternion quaternion = *(Quaternion*)duk_to_pointer(context, 0);
  1779. inst->setRotationByQuaternion(quaternion);
  1780. return 0;
  1781. }
  1782. duk_ret_t Polycode_Entity_getRotationQuat(duk_context *context) {
  1783. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1784. inst->getRotationQuat();
  1785. return 0;
  1786. }
  1787. duk_ret_t Polycode_Entity_getConcatenatedQuat(duk_context *context) {
  1788. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1789. inst->getConcatenatedQuat();
  1790. return 0;
  1791. }
  1792. duk_ret_t Polycode_Entity_lookAt(duk_context *context) {
  1793. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1794. Vector3 loc = *(Vector3*)duk_to_pointer(context, 0);
  1795. Vector3 upVector = *(Vector3*)duk_to_pointer(context, 1);
  1796. inst->lookAt(loc,upVector);
  1797. return 0;
  1798. }
  1799. duk_ret_t Polycode_Entity_lookAtEntity(duk_context *context) {
  1800. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1801. Entity* entity = (Entity*)duk_to_pointer(context, 0);
  1802. Vector3 upVector = *(Vector3*)duk_to_pointer(context, 1);
  1803. inst->lookAtEntity(entity,upVector);
  1804. return 0;
  1805. }
  1806. duk_ret_t Polycode_Entity_getCombinedColor(duk_context *context) {
  1807. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1808. inst->getCombinedColor();
  1809. return 0;
  1810. }
  1811. duk_ret_t Polycode_Entity_setColor(duk_context *context) {
  1812. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1813. Number r = duk_to_number(context, 0);
  1814. Number g = duk_to_number(context, 1);
  1815. Number b = duk_to_number(context, 2);
  1816. Number a = duk_to_number(context, 3);
  1817. inst->setColor(r,g,b,a);
  1818. return 0;
  1819. }
  1820. duk_ret_t Polycode_Entity_setColorInt(duk_context *context) {
  1821. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1822. int r = duk_to_int(context, 0);
  1823. int g = duk_to_int(context, 1);
  1824. int b = duk_to_int(context, 2);
  1825. int a = duk_to_int(context, 3);
  1826. inst->setColorInt(r,g,b,a);
  1827. return 0;
  1828. }
  1829. duk_ret_t Polycode_Entity_setAnchorPoint(duk_context *context) {
  1830. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1831. Vector3 anchorPoint = *(Vector3*)duk_to_pointer(context, 0);
  1832. inst->setAnchorPoint(anchorPoint);
  1833. return 0;
  1834. }
  1835. duk_ret_t Polycode_Entity_getAnchorPoint(duk_context *context) {
  1836. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1837. inst->getAnchorPoint();
  1838. return 0;
  1839. }
  1840. duk_ret_t Polycode_Entity_onMouseDown(duk_context *context) {
  1841. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1842. Ray ray = *(Ray*)duk_to_pointer(context, 0);
  1843. int mouseButton = duk_to_int(context, 1);
  1844. int timestamp = duk_to_int(context, 2);
  1845. inst->onMouseDown(ray,mouseButton,timestamp);
  1846. return 0;
  1847. }
  1848. duk_ret_t Polycode_Entity_onMouseUp(duk_context *context) {
  1849. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1850. Ray ray = *(Ray*)duk_to_pointer(context, 0);
  1851. int mouseButton = duk_to_int(context, 1);
  1852. int timestamp = duk_to_int(context, 2);
  1853. inst->onMouseUp(ray,mouseButton,timestamp);
  1854. return 0;
  1855. }
  1856. duk_ret_t Polycode_Entity_onMouseMove(duk_context *context) {
  1857. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1858. Ray ray = *(Ray*)duk_to_pointer(context, 0);
  1859. int timestamp = duk_to_int(context, 1);
  1860. inst->onMouseMove(ray,timestamp);
  1861. return 0;
  1862. }
  1863. duk_ret_t Polycode_Entity_onMouseWheelUp(duk_context *context) {
  1864. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1865. Ray ray = *(Ray*)duk_to_pointer(context, 0);
  1866. int timestamp = duk_to_int(context, 1);
  1867. inst->onMouseWheelUp(ray,timestamp);
  1868. return 0;
  1869. }
  1870. duk_ret_t Polycode_Entity_onMouseWheelDown(duk_context *context) {
  1871. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1872. Ray ray = *(Ray*)duk_to_pointer(context, 0);
  1873. int timestamp = duk_to_int(context, 1);
  1874. inst->onMouseWheelDown(ray,timestamp);
  1875. return 0;
  1876. }
  1877. duk_ret_t Polycode_Entity_setDepthOnly(duk_context *context) {
  1878. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1879. bool val = duk_to_boolean(context, 0);
  1880. inst->setDepthOnly(val);
  1881. return 0;
  1882. }
  1883. duk_ret_t Polycode_Entity_getDepthOnly(duk_context *context) {
  1884. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1885. inst->getDepthOnly();
  1886. return 0;
  1887. }
  1888. duk_ret_t Polycode_Entity_setUserData(duk_context *context) {
  1889. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1890. void* userData = (void*)duk_to_pointer(context, 0);
  1891. inst->setUserData(userData);
  1892. return 0;
  1893. }
  1894. duk_ret_t Polycode_Entity_getUserData(duk_context *context) {
  1895. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1896. inst->getUserData();
  1897. return 0;
  1898. }
  1899. duk_ret_t Polycode_Entity_setBlendingMode(duk_context *context) {
  1900. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1901. int newBlendingMode = duk_to_int(context, 0);
  1902. inst->setBlendingMode(newBlendingMode);
  1903. return 0;
  1904. }
  1905. duk_ret_t Polycode_Entity_getBlendingMode(duk_context *context) {
  1906. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1907. inst->getBlendingMode();
  1908. return 0;
  1909. }
  1910. duk_ret_t Polycode_Entity_getEntityById(duk_context *context) {
  1911. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1912. String id = duk_to_string(context, 0);
  1913. bool recursive = duk_to_boolean(context, 1);
  1914. inst->getEntityById(id,recursive);
  1915. return 0;
  1916. }
  1917. duk_ret_t Polycode_Entity_getEntitiesByTag(duk_context *context) {
  1918. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1919. String tag = duk_to_string(context, 0);
  1920. bool recursive = duk_to_boolean(context, 1);
  1921. inst->getEntitiesByTag(tag,recursive);
  1922. return 0;
  1923. }
  1924. duk_ret_t Polycode_Entity_getEntitiesByLayerID(duk_context *context) {
  1925. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1926. char layerID = *(char*)duk_to_pointer(context, 0);
  1927. bool recursive = duk_to_boolean(context, 1);
  1928. inst->getEntitiesByLayerID(layerID,recursive);
  1929. return 0;
  1930. }
  1931. duk_ret_t Polycode_Entity_getEntityProp(duk_context *context) {
  1932. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1933. String propName = duk_to_string(context, 0);
  1934. inst->getEntityProp(propName);
  1935. return 0;
  1936. }
  1937. duk_ret_t Polycode_Entity_setEntityProp(duk_context *context) {
  1938. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1939. String propName = duk_to_string(context, 0);
  1940. String propValue = duk_to_string(context, 1);
  1941. inst->setEntityProp(propName,propValue);
  1942. return 0;
  1943. }
  1944. duk_ret_t Polycode_Entity_setInverseY(duk_context *context) {
  1945. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1946. bool val = duk_to_boolean(context, 0);
  1947. inst->setInverseY(val);
  1948. return 0;
  1949. }
  1950. duk_ret_t Polycode_Entity_getInverseY(duk_context *context) {
  1951. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1952. inst->getInverseY();
  1953. return 0;
  1954. }
  1955. duk_ret_t Polycode_Entity_doUpdates(duk_context *context) {
  1956. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1957. inst->doUpdates();
  1958. return 0;
  1959. }
  1960. duk_ret_t Polycode_Entity_doFixedUpdates(duk_context *context) {
  1961. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1962. inst->doFixedUpdates();
  1963. return 0;
  1964. }
  1965. duk_ret_t Polycode_Entity_buildPositionMatrix(duk_context *context) {
  1966. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1967. inst->buildPositionMatrix();
  1968. return 0;
  1969. }
  1970. duk_ret_t Polycode_Entity_setRenderer(duk_context *context) {
  1971. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1972. Renderer* renderer = (Renderer*)duk_to_pointer(context, 0);
  1973. inst->setRenderer(renderer);
  1974. return 0;
  1975. }
  1976. duk_ret_t Polycode_Entity_customHitDetection(duk_context *context) {
  1977. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1978. Ray ray = *(Ray*)duk_to_pointer(context, 0);
  1979. inst->customHitDetection(ray);
  1980. return 0;
  1981. }
  1982. duk_ret_t Polycode_Entity_getNumTags(duk_context *context) {
  1983. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1984. inst->getNumTags();
  1985. return 0;
  1986. }
  1987. duk_ret_t Polycode_Entity_getTagAtIndex(duk_context *context) {
  1988. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1989. int index = duk_to_int(context, 0);
  1990. inst->getTagAtIndex(index);
  1991. return 0;
  1992. }
  1993. duk_ret_t Polycode_Entity_hasTag(duk_context *context) {
  1994. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  1995. String tag = duk_to_string(context, 0);
  1996. inst->hasTag(tag);
  1997. return 0;
  1998. }
  1999. duk_ret_t Polycode_Entity_clearTags(duk_context *context) {
  2000. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  2001. inst->clearTags();
  2002. return 0;
  2003. }
  2004. duk_ret_t Polycode_Entity_addTag(duk_context *context) {
  2005. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  2006. String tag = duk_to_string(context, 0);
  2007. inst->addTag(tag);
  2008. return 0;
  2009. }
  2010. duk_ret_t Polycode_Entity_getScreenPosition(duk_context *context) {
  2011. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  2012. Matrix4 projectionMatrix = *(Matrix4*)duk_to_pointer(context, 0);
  2013. Matrix4 cameraMatrix = *(Matrix4*)duk_to_pointer(context, 1);
  2014. Rectangle viewport = *(Rectangle*)duk_to_pointer(context, 2);
  2015. inst->getScreenPosition(projectionMatrix,cameraMatrix,viewport);
  2016. return 0;
  2017. }
  2018. duk_ret_t Polycode_Entity_recalculateAABBAllChildren(duk_context *context) {
  2019. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  2020. inst->recalculateAABBAllChildren();
  2021. return 0;
  2022. }
  2023. duk_ret_t Polycode_Entity_recalculateAABB(duk_context *context) {
  2024. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  2025. inst->recalculateAABB();
  2026. return 0;
  2027. }
  2028. duk_ret_t Polycode_Entity_getWorldAABB(duk_context *context) {
  2029. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  2030. inst->getWorldAABB();
  2031. return 0;
  2032. }
  2033. duk_ret_t Polycode_Entity_getLocalBoundingBox(duk_context *context) {
  2034. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  2035. inst->getLocalBoundingBox();
  2036. return 0;
  2037. }
  2038. duk_ret_t Polycode_Entity_setLocalBoundingBox(duk_context *context) {
  2039. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  2040. Vector3 box = *(Vector3*)duk_to_pointer(context, 0);
  2041. inst->setLocalBoundingBox(box);
  2042. return 0;
  2043. }
  2044. duk_ret_t Polycode_Entity_setLocalBoundingBoxX(duk_context *context) {
  2045. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  2046. Number x = duk_to_number(context, 0);
  2047. inst->setLocalBoundingBoxX(x);
  2048. return 0;
  2049. }
  2050. duk_ret_t Polycode_Entity_setLocalBoundingBoxY(duk_context *context) {
  2051. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  2052. Number y = duk_to_number(context, 0);
  2053. inst->setLocalBoundingBoxY(y);
  2054. return 0;
  2055. }
  2056. duk_ret_t Polycode_Entity_setLocalBoundingBoxZ(duk_context *context) {
  2057. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  2058. Number z = duk_to_number(context, 0);
  2059. inst->setLocalBoundingBoxZ(z);
  2060. return 0;
  2061. }
  2062. duk_ret_t Polycode_Entity_setContainerScene(duk_context *context) {
  2063. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  2064. Scene* scene = (Scene*)duk_to_pointer(context, 0);
  2065. inst->setContainerScene(scene);
  2066. return 0;
  2067. }
  2068. duk_ret_t Polycode_Entity_getContainerScene(duk_context *context) {
  2069. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  2070. inst->getContainerScene();
  2071. return 0;
  2072. }
  2073. duk_ret_t Polycode_Entity_attachScript(duk_context *context) {
  2074. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  2075. Script* script = (Script*)duk_to_pointer(context, 0);
  2076. inst->attachScript(script);
  2077. return 0;
  2078. }
  2079. duk_ret_t Polycode_Entity_detachScript(duk_context *context) {
  2080. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  2081. Script* script = (Script*)duk_to_pointer(context, 0);
  2082. inst->detachScript(script);
  2083. return 0;
  2084. }
  2085. duk_ret_t Polycode_Entity_getNumScripts(duk_context *context) {
  2086. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  2087. inst->getNumScripts();
  2088. return 0;
  2089. }
  2090. duk_ret_t Polycode_Entity_getScriptAtIndex(duk_context *context) {
  2091. Entity *inst = (Entity*)duk_to_pointer(context, -1);
  2092. int index = duk_to_int(context, 0);
  2093. inst->getScriptAtIndex(index);
  2094. return 0;
  2095. }
  2096. duk_ret_t Polycode_Event_getEventCode(duk_context *context) {
  2097. Event *inst = (Event*)duk_to_pointer(context, -1);
  2098. inst->getEventCode();
  2099. return 0;
  2100. }
  2101. duk_ret_t Polycode_Event_getDispatcher(duk_context *context) {
  2102. Event *inst = (Event*)duk_to_pointer(context, -1);
  2103. inst->getDispatcher();
  2104. return 0;
  2105. }
  2106. duk_ret_t Polycode_Event_setEventCode(duk_context *context) {
  2107. Event *inst = (Event*)duk_to_pointer(context, -1);
  2108. int eventCode = duk_to_int(context, 0);
  2109. inst->setEventCode(eventCode);
  2110. return 0;
  2111. }
  2112. duk_ret_t Polycode_Event_setDispatcher(duk_context *context) {
  2113. Event *inst = (Event*)duk_to_pointer(context, -1);
  2114. EventDispatcher* dispatcher = (EventDispatcher*)duk_to_pointer(context, 0);
  2115. inst->setDispatcher(dispatcher);
  2116. return 0;
  2117. }
  2118. duk_ret_t Polycode_Event_getEventType(duk_context *context) {
  2119. Event *inst = (Event*)duk_to_pointer(context, -1);
  2120. inst->getEventType();
  2121. return 0;
  2122. }
  2123. duk_ret_t Polycode_Event_cancelEvent(duk_context *context) {
  2124. Event *inst = (Event*)duk_to_pointer(context, -1);
  2125. inst->cancelEvent();
  2126. return 0;
  2127. }
  2128. duk_ret_t Polycode_EventDispatcher_removeAllHandlers(duk_context *context) {
  2129. EventDispatcher *inst = (EventDispatcher*)duk_to_pointer(context, -1);
  2130. inst->removeAllHandlers();
  2131. return 0;
  2132. }
  2133. duk_ret_t Polycode_EventDispatcher_removeAllHandlersForListener(duk_context *context) {
  2134. EventDispatcher *inst = (EventDispatcher*)duk_to_pointer(context, -1);
  2135. EventHandler* handler = (EventHandler*)duk_to_pointer(context, 0);
  2136. inst->removeAllHandlersForListener(handler);
  2137. return 0;
  2138. }
  2139. duk_ret_t Polycode_EventDispatcher_addEventListener(duk_context *context) {
  2140. EventDispatcher *inst = (EventDispatcher*)duk_to_pointer(context, -1);
  2141. EventHandler* handler = (EventHandler*)duk_to_pointer(context, 0);
  2142. int eventCode = duk_to_int(context, 1);
  2143. inst->addEventListener(handler,eventCode);
  2144. return 0;
  2145. }
  2146. duk_ret_t Polycode_EventDispatcher_addEventListenerUnique(duk_context *context) {
  2147. EventDispatcher *inst = (EventDispatcher*)duk_to_pointer(context, -1);
  2148. EventHandler* handler = (EventHandler*)duk_to_pointer(context, 0);
  2149. int eventCode = duk_to_int(context, 1);
  2150. inst->addEventListenerUnique(handler,eventCode);
  2151. return 0;
  2152. }
  2153. duk_ret_t Polycode_EventDispatcher_hasEventListener(duk_context *context) {
  2154. EventDispatcher *inst = (EventDispatcher*)duk_to_pointer(context, -1);
  2155. EventHandler* handler = (EventHandler*)duk_to_pointer(context, 0);
  2156. int eventCode = duk_to_int(context, 1);
  2157. inst->hasEventListener(handler,eventCode);
  2158. return 0;
  2159. }
  2160. duk_ret_t Polycode_EventDispatcher_removeEventListener(duk_context *context) {
  2161. EventDispatcher *inst = (EventDispatcher*)duk_to_pointer(context, -1);
  2162. EventHandler* handler = (EventHandler*)duk_to_pointer(context, 0);
  2163. int eventCode = duk_to_int(context, 1);
  2164. inst->removeEventListener(handler,eventCode);
  2165. return 0;
  2166. }
  2167. duk_ret_t Polycode_EventDispatcher___dispatchEvent(duk_context *context) {
  2168. EventDispatcher *inst = (EventDispatcher*)duk_to_pointer(context, -1);
  2169. Event* event = (Event*)duk_to_pointer(context, 0);
  2170. int eventCode = duk_to_int(context, 1);
  2171. inst->__dispatchEvent(event,eventCode);
  2172. return 0;
  2173. }
  2174. duk_ret_t Polycode_EventDispatcher_dispatchEvent(duk_context *context) {
  2175. EventDispatcher *inst = (EventDispatcher*)duk_to_pointer(context, -1);
  2176. Event* event = (Event*)duk_to_pointer(context, 0);
  2177. int eventCode = duk_to_int(context, 1);
  2178. inst->dispatchEvent(event,eventCode);
  2179. return 0;
  2180. }
  2181. duk_ret_t Polycode_EventDispatcher_dispatchEventNoDelete(duk_context *context) {
  2182. EventDispatcher *inst = (EventDispatcher*)duk_to_pointer(context, -1);
  2183. Event* event = (Event*)duk_to_pointer(context, 0);
  2184. int eventCode = duk_to_int(context, 1);
  2185. inst->dispatchEventNoDelete(event,eventCode);
  2186. return 0;
  2187. }
  2188. duk_ret_t Polycode_Font_getFace(duk_context *context) {
  2189. Font *inst = (Font*)duk_to_pointer(context, -1);
  2190. inst->getFace();
  2191. return 0;
  2192. }
  2193. duk_ret_t Polycode_Font_isValid(duk_context *context) {
  2194. Font *inst = (Font*)duk_to_pointer(context, -1);
  2195. inst->isValid();
  2196. return 0;
  2197. }
  2198. duk_ret_t Polycode_Font_setFontName(duk_context *context) {
  2199. Font *inst = (Font*)duk_to_pointer(context, -1);
  2200. String fontName = duk_to_string(context, 0);
  2201. inst->setFontName(fontName);
  2202. return 0;
  2203. }
  2204. duk_ret_t Polycode_Font_getFontName(duk_context *context) {
  2205. Font *inst = (Font*)duk_to_pointer(context, -1);
  2206. inst->getFontName();
  2207. return 0;
  2208. }
  2209. duk_ret_t Polycode_Font_getFontPath(duk_context *context) {
  2210. Font *inst = (Font*)duk_to_pointer(context, -1);
  2211. inst->getFontPath();
  2212. return 0;
  2213. }
  2214. duk_ret_t Polycode_Image_loadImage(duk_context *context) {
  2215. Image *inst = (Image*)duk_to_pointer(context, -1);
  2216. String fileName = duk_to_string(context, 0);
  2217. inst->loadImage(fileName);
  2218. return 0;
  2219. }
  2220. duk_ret_t Polycode_Image_saveImage(duk_context *context) {
  2221. Image *inst = (Image*)duk_to_pointer(context, -1);
  2222. String fileName = duk_to_string(context, 0);
  2223. inst->saveImage(fileName);
  2224. return 0;
  2225. }
  2226. duk_ret_t Polycode_Image_pasteImage(duk_context *context) {
  2227. Image *inst = (Image*)duk_to_pointer(context, -1);
  2228. Image* image = (Image*)duk_to_pointer(context, 0);
  2229. int x = duk_to_int(context, 1);
  2230. int y = duk_to_int(context, 2);
  2231. int blendingMode = duk_to_int(context, 3);
  2232. Number blendAmount = duk_to_number(context, 4);
  2233. Color blendColor = *(Color*)duk_to_pointer(context, 5);
  2234. inst->pasteImage(image,x,y,blendingMode,blendAmount,blendColor);
  2235. return 0;
  2236. }
  2237. duk_ret_t Polycode_Image_createEmpty(duk_context *context) {
  2238. Image *inst = (Image*)duk_to_pointer(context, -1);
  2239. int width = duk_to_int(context, 0);
  2240. int height = duk_to_int(context, 1);
  2241. Color fillColor = *(Color*)duk_to_pointer(context, 2);
  2242. inst->createEmpty(width,height,fillColor);
  2243. return 0;
  2244. }
  2245. duk_ret_t Polycode_Image_fill(duk_context *context) {
  2246. Image *inst = (Image*)duk_to_pointer(context, -1);
  2247. Color color = *(Color*)duk_to_pointer(context, 0);
  2248. inst->fill(color);
  2249. return 0;
  2250. }
  2251. duk_ret_t Polycode_Image_setPixel(duk_context *context) {
  2252. Image *inst = (Image*)duk_to_pointer(context, -1);
  2253. int x = duk_to_int(context, 0);
  2254. int y = duk_to_int(context, 1);
  2255. Number r = duk_to_number(context, 2);
  2256. Number g = duk_to_number(context, 3);
  2257. Number b = duk_to_number(context, 4);
  2258. Number a = duk_to_number(context, 5);
  2259. inst->setPixel(x,y,r,g,b,a);
  2260. return 0;
  2261. }
  2262. duk_ret_t Polycode_Image_getPixel(duk_context *context) {
  2263. Image *inst = (Image*)duk_to_pointer(context, -1);
  2264. int x = duk_to_int(context, 0);
  2265. int y = duk_to_int(context, 1);
  2266. inst->getPixel(x,y);
  2267. return 0;
  2268. }
  2269. duk_ret_t Polycode_Image_swap(duk_context *context) {
  2270. Image *inst = (Image*)duk_to_pointer(context, -1);
  2271. int* v1 = (int*)duk_to_pointer(context, 0);
  2272. int* v2 = (int*)duk_to_pointer(context, 1);
  2273. inst->swap(v1,v2);
  2274. return 0;
  2275. }
  2276. duk_ret_t Polycode_Image_drawLine(duk_context *context) {
  2277. Image *inst = (Image*)duk_to_pointer(context, -1);
  2278. int x0 = duk_to_int(context, 0);
  2279. int y0 = duk_to_int(context, 1);
  2280. int x1 = duk_to_int(context, 2);
  2281. int y1 = duk_to_int(context, 3);
  2282. Color col = *(Color*)duk_to_pointer(context, 4);
  2283. inst->drawLine(x0,y0,x1,y1,col);
  2284. return 0;
  2285. }
  2286. duk_ret_t Polycode_Image_moveBrushTo(duk_context *context) {
  2287. Image *inst = (Image*)duk_to_pointer(context, -1);
  2288. int x = duk_to_int(context, 0);
  2289. int y = duk_to_int(context, 1);
  2290. inst->moveBrushTo(x,y);
  2291. return 0;
  2292. }
  2293. duk_ret_t Polycode_Image_moveBrush(duk_context *context) {
  2294. Image *inst = (Image*)duk_to_pointer(context, -1);
  2295. int x = duk_to_int(context, 0);
  2296. int y = duk_to_int(context, 1);
  2297. inst->moveBrush(x,y);
  2298. return 0;
  2299. }
  2300. duk_ret_t Polycode_Image_drawLineTo(duk_context *context) {
  2301. Image *inst = (Image*)duk_to_pointer(context, -1);
  2302. int x = duk_to_int(context, 0);
  2303. int y = duk_to_int(context, 1);
  2304. Color col = *(Color*)duk_to_pointer(context, 2);
  2305. inst->drawLineTo(x,y,col);
  2306. return 0;
  2307. }
  2308. duk_ret_t Polycode_Image_fillRect(duk_context *context) {
  2309. Image *inst = (Image*)duk_to_pointer(context, -1);
  2310. int x = duk_to_int(context, 0);
  2311. int y = duk_to_int(context, 1);
  2312. int w = duk_to_int(context, 2);
  2313. int h = duk_to_int(context, 3);
  2314. Color col = *(Color*)duk_to_pointer(context, 4);
  2315. inst->fillRect(x,y,w,h,col);
  2316. return 0;
  2317. }
  2318. duk_ret_t Polycode_Image_perlinNoise(duk_context *context) {
  2319. Image *inst = (Image*)duk_to_pointer(context, -1);
  2320. int seed = duk_to_int(context, 0);
  2321. bool alpha = duk_to_boolean(context, 1);
  2322. inst->perlinNoise(seed,alpha);
  2323. return 0;
  2324. }
  2325. duk_ret_t Polycode_Image_fastBlur(duk_context *context) {
  2326. Image *inst = (Image*)duk_to_pointer(context, -1);
  2327. int blurSize = duk_to_int(context, 0);
  2328. inst->fastBlur(blurSize);
  2329. return 0;
  2330. }
  2331. duk_ret_t Polycode_Image_fastBlurVert(duk_context *context) {
  2332. Image *inst = (Image*)duk_to_pointer(context, -1);
  2333. int blurSize = duk_to_int(context, 0);
  2334. inst->fastBlurVert(blurSize);
  2335. return 0;
  2336. }
  2337. duk_ret_t Polycode_Image_fastBlurHor(duk_context *context) {
  2338. Image *inst = (Image*)duk_to_pointer(context, -1);
  2339. int blurSize = duk_to_int(context, 0);
  2340. inst->fastBlurHor(blurSize);
  2341. return 0;
  2342. }
  2343. duk_ret_t Polycode_Image_getPixelsInRect(duk_context *context) {
  2344. Image *inst = (Image*)duk_to_pointer(context, -1);
  2345. int x = duk_to_int(context, 0);
  2346. int y = duk_to_int(context, 1);
  2347. int width = duk_to_int(context, 2);
  2348. int height = duk_to_int(context, 3);
  2349. inst->getPixelsInRect(x,y,width,height);
  2350. return 0;
  2351. }
  2352. duk_ret_t Polycode_Image_getImagePart(duk_context *context) {
  2353. Image *inst = (Image*)duk_to_pointer(context, -1);
  2354. Rectangle subRect = *(Rectangle*)duk_to_pointer(context, 0);
  2355. inst->getImagePart(subRect);
  2356. return 0;
  2357. }
  2358. duk_ret_t Polycode_Image_getBrushX(duk_context *context) {
  2359. Image *inst = (Image*)duk_to_pointer(context, -1);
  2360. inst->getBrushX();
  2361. return 0;
  2362. }
  2363. duk_ret_t Polycode_Image_getBrushY(duk_context *context) {
  2364. Image *inst = (Image*)duk_to_pointer(context, -1);
  2365. inst->getBrushY();
  2366. return 0;
  2367. }
  2368. duk_ret_t Polycode_Image_isLoaded(duk_context *context) {
  2369. Image *inst = (Image*)duk_to_pointer(context, -1);
  2370. inst->isLoaded();
  2371. return 0;
  2372. }
  2373. duk_ret_t Polycode_Image_getType(duk_context *context) {
  2374. Image *inst = (Image*)duk_to_pointer(context, -1);
  2375. inst->getType();
  2376. return 0;
  2377. }
  2378. duk_ret_t Polycode_Image_getWidth(duk_context *context) {
  2379. Image *inst = (Image*)duk_to_pointer(context, -1);
  2380. inst->getWidth();
  2381. return 0;
  2382. }
  2383. duk_ret_t Polycode_Image_getHeight(duk_context *context) {
  2384. Image *inst = (Image*)duk_to_pointer(context, -1);
  2385. inst->getHeight();
  2386. return 0;
  2387. }
  2388. duk_ret_t Polycode_Image_getPixels(duk_context *context) {
  2389. Image *inst = (Image*)duk_to_pointer(context, -1);
  2390. inst->getPixels();
  2391. return 0;
  2392. }
  2393. duk_ret_t Polycode_Image_premultiplyAlpha(duk_context *context) {
  2394. Image *inst = (Image*)duk_to_pointer(context, -1);
  2395. inst->premultiplyAlpha();
  2396. return 0;
  2397. }
  2398. duk_ret_t Polycode_Image_savePNG(duk_context *context) {
  2399. Image *inst = (Image*)duk_to_pointer(context, -1);
  2400. String fileName = duk_to_string(context, 0);
  2401. inst->savePNG(fileName);
  2402. return 0;
  2403. }
  2404. duk_ret_t Polycode_InputEvent_getMousePosition(duk_context *context) {
  2405. InputEvent *inst = (InputEvent*)duk_to_pointer(context, -1);
  2406. inst->getMousePosition();
  2407. return 0;
  2408. }
  2409. duk_ret_t Polycode_InputEvent_getKey(duk_context *context) {
  2410. InputEvent *inst = (InputEvent*)duk_to_pointer(context, -1);
  2411. inst->getKey();
  2412. return 0;
  2413. }
  2414. duk_ret_t Polycode_InputEvent_getMouseButton(duk_context *context) {
  2415. InputEvent *inst = (InputEvent*)duk_to_pointer(context, -1);
  2416. inst->getMouseButton();
  2417. return 0;
  2418. }
  2419. duk_ret_t Polycode_InputEvent_getCharCode(duk_context *context) {
  2420. InputEvent *inst = (InputEvent*)duk_to_pointer(context, -1);
  2421. inst->getCharCode();
  2422. return 0;
  2423. }
  2424. duk_ret_t Polycode_InputEvent_keyCode(duk_context *context) {
  2425. InputEvent *inst = (InputEvent*)duk_to_pointer(context, -1);
  2426. inst->keyCode();
  2427. return 0;
  2428. }
  2429. duk_ret_t Polycode_GlyphData_clearData(duk_context *context) {
  2430. GlyphData *inst = (GlyphData*)duk_to_pointer(context, -1);
  2431. inst->clearData();
  2432. return 0;
  2433. }
  2434. duk_ret_t Polycode_Label_setText(duk_context *context) {
  2435. Label *inst = (Label*)duk_to_pointer(context, -1);
  2436. String text = duk_to_string(context, 0);
  2437. inst->setText(text);
  2438. return 0;
  2439. }
  2440. duk_ret_t Polycode_Label_getText(duk_context *context) {
  2441. Label *inst = (Label*)duk_to_pointer(context, -1);
  2442. inst->getText();
  2443. return 0;
  2444. }
  2445. duk_ret_t Polycode_Label_getTextWidthForString(duk_context *context) {
  2446. Label *inst = (Label*)duk_to_pointer(context, -1);
  2447. String text = duk_to_string(context, 0);
  2448. inst->getTextWidthForString(text);
  2449. return 0;
  2450. }
  2451. duk_ret_t Polycode_Label_getTextHeightForString(duk_context *context) {
  2452. Label *inst = (Label*)duk_to_pointer(context, -1);
  2453. String text = duk_to_string(context, 0);
  2454. inst->getTextHeightForString(text);
  2455. return 0;
  2456. }
  2457. duk_ret_t Polycode_Label_getTextWidth(duk_context *context) {
  2458. Label *inst = (Label*)duk_to_pointer(context, -1);
  2459. inst->getTextWidth();
  2460. return 0;
  2461. }
  2462. duk_ret_t Polycode_Label_getTextHeight(duk_context *context) {
  2463. Label *inst = (Label*)duk_to_pointer(context, -1);
  2464. inst->getTextHeight();
  2465. return 0;
  2466. }
  2467. duk_ret_t Polycode_Label_setColorForRange(duk_context *context) {
  2468. Label *inst = (Label*)duk_to_pointer(context, -1);
  2469. Color color = *(Color*)duk_to_pointer(context, 0);
  2470. int rangeStart = duk_to_int(context, 1);
  2471. int rangeEnd = duk_to_int(context, 2);
  2472. inst->setColorForRange(color,rangeStart,rangeEnd);
  2473. return 0;
  2474. }
  2475. duk_ret_t Polycode_Label_clearColors(duk_context *context) {
  2476. Label *inst = (Label*)duk_to_pointer(context, -1);
  2477. inst->clearColors();
  2478. return 0;
  2479. }
  2480. duk_ret_t Polycode_Label_getColorForIndex(duk_context *context) {
  2481. Label *inst = (Label*)duk_to_pointer(context, -1);
  2482. int index = duk_to_int(context, 0);
  2483. inst->getColorForIndex(index);
  2484. return 0;
  2485. }
  2486. duk_ret_t Polycode_Label_getPremultiplyAlpha(duk_context *context) {
  2487. Label *inst = (Label*)duk_to_pointer(context, -1);
  2488. inst->getPremultiplyAlpha();
  2489. return 0;
  2490. }
  2491. duk_ret_t Polycode_Label_setPremultiplyAlpha(duk_context *context) {
  2492. Label *inst = (Label*)duk_to_pointer(context, -1);
  2493. bool val = duk_to_boolean(context, 0);
  2494. inst->setPremultiplyAlpha(val);
  2495. return 0;
  2496. }
  2497. duk_ret_t Polycode_Label_setFont(duk_context *context) {
  2498. Label *inst = (Label*)duk_to_pointer(context, -1);
  2499. Font* newFont = (Font*)duk_to_pointer(context, 0);
  2500. inst->setFont(newFont);
  2501. return 0;
  2502. }
  2503. duk_ret_t Polycode_Label_getFont(duk_context *context) {
  2504. Label *inst = (Label*)duk_to_pointer(context, -1);
  2505. inst->getFont();
  2506. return 0;
  2507. }
  2508. duk_ret_t Polycode_Label_setSize(duk_context *context) {
  2509. Label *inst = (Label*)duk_to_pointer(context, -1);
  2510. int newSize = duk_to_int(context, 0);
  2511. inst->setSize(newSize);
  2512. return 0;
  2513. }
  2514. duk_ret_t Polycode_Label_getSize(duk_context *context) {
  2515. Label *inst = (Label*)duk_to_pointer(context, -1);
  2516. inst->getSize();
  2517. return 0;
  2518. }
  2519. duk_ret_t Polycode_Label_getAntialiasMode(duk_context *context) {
  2520. Label *inst = (Label*)duk_to_pointer(context, -1);
  2521. inst->getAntialiasMode();
  2522. return 0;
  2523. }
  2524. duk_ret_t Polycode_Label_setAntialiasMode(duk_context *context) {
  2525. Label *inst = (Label*)duk_to_pointer(context, -1);
  2526. int newMode = duk_to_int(context, 0);
  2527. inst->setAntialiasMode(newMode);
  2528. return 0;
  2529. }
  2530. duk_ret_t Polycode_Label_getBaselineAdjust(duk_context *context) {
  2531. Label *inst = (Label*)duk_to_pointer(context, -1);
  2532. inst->getBaselineAdjust();
  2533. return 0;
  2534. }
  2535. duk_ret_t Polycode_Label_setBackgroundColor(duk_context *context) {
  2536. Label *inst = (Label*)duk_to_pointer(context, -1);
  2537. Color color = *(Color*)duk_to_pointer(context, 0);
  2538. inst->setBackgroundColor(color);
  2539. return 0;
  2540. }
  2541. duk_ret_t Polycode_Label_setForegroundColor(duk_context *context) {
  2542. Label *inst = (Label*)duk_to_pointer(context, -1);
  2543. Color color = *(Color*)duk_to_pointer(context, 0);
  2544. inst->setForegroundColor(color);
  2545. return 0;
  2546. }
  2547. duk_ret_t Polycode_Label_setColors(duk_context *context) {
  2548. Label *inst = (Label*)duk_to_pointer(context, -1);
  2549. Color backgroundColor = *(Color*)duk_to_pointer(context, 0);
  2550. Color foregroundColor = *(Color*)duk_to_pointer(context, 1);
  2551. inst->setColors(backgroundColor,foregroundColor);
  2552. return 0;
  2553. }
  2554. duk_ret_t Polycode_Label_getBackgroundColor(duk_context *context) {
  2555. Label *inst = (Label*)duk_to_pointer(context, -1);
  2556. inst->getBackgroundColor();
  2557. return 0;
  2558. }
  2559. duk_ret_t Polycode_Label_getForegroundColor(duk_context *context) {
  2560. Label *inst = (Label*)duk_to_pointer(context, -1);
  2561. inst->getForegroundColor();
  2562. return 0;
  2563. }
  2564. duk_ret_t Polycode_Label_optionsChanged(duk_context *context) {
  2565. Label *inst = (Label*)duk_to_pointer(context, -1);
  2566. inst->optionsChanged();
  2567. return 0;
  2568. }
  2569. duk_ret_t Polycode_Material_addShaderPass(duk_context *context) {
  2570. Material *inst = (Material*)duk_to_pointer(context, -1);
  2571. ShaderPass pass = *(ShaderPass*)duk_to_pointer(context, 0);
  2572. inst->addShaderPass(pass);
  2573. return 0;
  2574. }
  2575. duk_ret_t Polycode_Material_addShaderPassAtIndex(duk_context *context) {
  2576. Material *inst = (Material*)duk_to_pointer(context, -1);
  2577. ShaderPass pass = *(ShaderPass*)duk_to_pointer(context, 0);
  2578. int shaderIndex = duk_to_int(context, 1);
  2579. inst->addShaderPassAtIndex(pass,shaderIndex);
  2580. return 0;
  2581. }
  2582. duk_ret_t Polycode_Material_addShader(duk_context *context) {
  2583. Material *inst = (Material*)duk_to_pointer(context, -1);
  2584. Shader* shader = (Shader*)duk_to_pointer(context, 0);
  2585. ShaderBinding* shaderBinding = (ShaderBinding*)duk_to_pointer(context, 1);
  2586. inst->addShader(shader,shaderBinding);
  2587. return 0;
  2588. }
  2589. duk_ret_t Polycode_Material_addShaderAtIndex(duk_context *context) {
  2590. Material *inst = (Material*)duk_to_pointer(context, -1);
  2591. Shader* shader = (Shader*)duk_to_pointer(context, 0);
  2592. ShaderBinding* shaderBinding = (ShaderBinding*)duk_to_pointer(context, 1);
  2593. int shaderIndex = duk_to_int(context, 2);
  2594. inst->addShaderAtIndex(shader,shaderBinding,shaderIndex);
  2595. return 0;
  2596. }
  2597. duk_ret_t Polycode_Material_getNumShaderPasses(duk_context *context) {
  2598. Material *inst = (Material*)duk_to_pointer(context, -1);
  2599. inst->getNumShaderPasses();
  2600. return 0;
  2601. }
  2602. duk_ret_t Polycode_Material_removeShaderPass(duk_context *context) {
  2603. Material *inst = (Material*)duk_to_pointer(context, -1);
  2604. int shaderIndex = duk_to_int(context, 0);
  2605. inst->removeShaderPass(shaderIndex);
  2606. return 0;
  2607. }
  2608. duk_ret_t Polycode_Material_recreateExpectedShaderParams(duk_context *context) {
  2609. Material *inst = (Material*)duk_to_pointer(context, -1);
  2610. inst->recreateExpectedShaderParams();
  2611. return 0;
  2612. }
  2613. duk_ret_t Polycode_Material_addShaderRenderTarget(duk_context *context) {
  2614. Material *inst = (Material*)duk_to_pointer(context, -1);
  2615. ShaderRenderTarget* newTarget = (ShaderRenderTarget*)duk_to_pointer(context, 0);
  2616. inst->addShaderRenderTarget(newTarget);
  2617. return 0;
  2618. }
  2619. duk_ret_t Polycode_Material_getNumShaderRenderTargets(duk_context *context) {
  2620. Material *inst = (Material*)duk_to_pointer(context, -1);
  2621. inst->getNumShaderRenderTargets();
  2622. return 0;
  2623. }
  2624. duk_ret_t Polycode_Material_getShaderRenderTarget(duk_context *context) {
  2625. Material *inst = (Material*)duk_to_pointer(context, -1);
  2626. int index = duk_to_int(context, 0);
  2627. inst->getShaderRenderTarget(index);
  2628. return 0;
  2629. }
  2630. duk_ret_t Polycode_Material_removeShaderRenderTarget(duk_context *context) {
  2631. Material *inst = (Material*)duk_to_pointer(context, -1);
  2632. int index = duk_to_int(context, 0);
  2633. inst->removeShaderRenderTarget(index);
  2634. return 0;
  2635. }
  2636. duk_ret_t Polycode_Material_recreateRenderTarget(duk_context *context) {
  2637. Material *inst = (Material*)duk_to_pointer(context, -1);
  2638. ShaderRenderTarget* renderTarget = (ShaderRenderTarget*)duk_to_pointer(context, 0);
  2639. inst->recreateRenderTarget(renderTarget);
  2640. return 0;
  2641. }
  2642. duk_ret_t Polycode_Material_recreateRenderTargets(duk_context *context) {
  2643. Material *inst = (Material*)duk_to_pointer(context, -1);
  2644. inst->recreateRenderTargets();
  2645. return 0;
  2646. }
  2647. duk_ret_t Polycode_Material_getName(duk_context *context) {
  2648. Material *inst = (Material*)duk_to_pointer(context, -1);
  2649. inst->getName();
  2650. return 0;
  2651. }
  2652. duk_ret_t Polycode_Material_getShaderPass(duk_context *context) {
  2653. Material *inst = (Material*)duk_to_pointer(context, -1);
  2654. int index = duk_to_int(context, 0);
  2655. inst->getShaderPass(index);
  2656. return 0;
  2657. }
  2658. duk_ret_t Polycode_Material_getShaderBinding(duk_context *context) {
  2659. Material *inst = (Material*)duk_to_pointer(context, -1);
  2660. int index = duk_to_int(context, 0);
  2661. inst->getShaderBinding(index);
  2662. return 0;
  2663. }
  2664. duk_ret_t Polycode_Material_getShader(duk_context *context) {
  2665. Material *inst = (Material*)duk_to_pointer(context, -1);
  2666. int index = duk_to_int(context, 0);
  2667. inst->getShader(index);
  2668. return 0;
  2669. }
  2670. duk_ret_t Polycode_Material_loadMaterial(duk_context *context) {
  2671. Material *inst = (Material*)duk_to_pointer(context, -1);
  2672. String fileName = duk_to_string(context, 0);
  2673. inst->loadMaterial(fileName);
  2674. return 0;
  2675. }
  2676. duk_ret_t Polycode_Material_setName(duk_context *context) {
  2677. Material *inst = (Material*)duk_to_pointer(context, -1);
  2678. String name = duk_to_string(context, 0);
  2679. inst->setName(name);
  2680. return 0;
  2681. }
  2682. duk_ret_t Polycode_Material_clearShaders(duk_context *context) {
  2683. Material *inst = (Material*)duk_to_pointer(context, -1);
  2684. inst->clearShaders();
  2685. return 0;
  2686. }
  2687. duk_ret_t Polycode_ShaderPass_setAttributeArraysFromMesh(duk_context *context) {
  2688. ShaderPass *inst = (ShaderPass*)duk_to_pointer(context, -1);
  2689. Mesh* mesh = (Mesh*)duk_to_pointer(context, 0);
  2690. inst->setAttributeArraysFromMesh(mesh);
  2691. return 0;
  2692. }
  2693. duk_ret_t Polycode_ShaderPass_setExpectedAttributes(duk_context *context) {
  2694. ShaderPass *inst = (ShaderPass*)duk_to_pointer(context, -1);
  2695. inst->setExpectedAttributes();
  2696. return 0;
  2697. }
  2698. duk_ret_t Polycode_MaterialManager_Update(duk_context *context) {
  2699. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2700. int elapsed = duk_to_int(context, 0);
  2701. inst->Update(elapsed);
  2702. return 0;
  2703. }
  2704. duk_ret_t Polycode_MaterialManager_createTexture(duk_context *context) {
  2705. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2706. int width = duk_to_int(context, 0);
  2707. int height = duk_to_int(context, 1);
  2708. char* imageData = (char*)duk_to_pointer(context, 2);
  2709. bool clamp = duk_to_boolean(context, 3);
  2710. bool createMipmaps = duk_to_boolean(context, 4);
  2711. int type = duk_to_int(context, 5);
  2712. inst->createTexture(width,height,imageData,clamp,createMipmaps,type);
  2713. return 0;
  2714. }
  2715. duk_ret_t Polycode_MaterialManager_createNewTexture(duk_context *context) {
  2716. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2717. int width = duk_to_int(context, 0);
  2718. int height = duk_to_int(context, 1);
  2719. bool clamp = duk_to_boolean(context, 2);
  2720. bool createMipmaps = duk_to_boolean(context, 3);
  2721. int type = duk_to_int(context, 4);
  2722. inst->createNewTexture(width,height,clamp,createMipmaps,type);
  2723. return 0;
  2724. }
  2725. duk_ret_t Polycode_MaterialManager_createTextureFromImage(duk_context *context) {
  2726. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2727. Image* image = (Image*)duk_to_pointer(context, 0);
  2728. bool clamp = duk_to_boolean(context, 1);
  2729. bool createMipmaps = duk_to_boolean(context, 2);
  2730. inst->createTextureFromImage(image,clamp,createMipmaps);
  2731. return 0;
  2732. }
  2733. duk_ret_t Polycode_MaterialManager_createTextureFromFile(duk_context *context) {
  2734. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2735. String fileName = duk_to_string(context, 0);
  2736. bool clamp = duk_to_boolean(context, 1);
  2737. bool createMipmaps = duk_to_boolean(context, 2);
  2738. ResourcePool* resourcePool = (ResourcePool*)duk_to_pointer(context, 3);
  2739. inst->createTextureFromFile(fileName,clamp,createMipmaps,resourcePool);
  2740. return 0;
  2741. }
  2742. duk_ret_t Polycode_MaterialManager_deleteTexture(duk_context *context) {
  2743. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2744. Texture* texture = (Texture*)duk_to_pointer(context, 0);
  2745. inst->deleteTexture(texture);
  2746. return 0;
  2747. }
  2748. duk_ret_t Polycode_MaterialManager_reloadTextures(duk_context *context) {
  2749. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2750. inst->reloadTextures();
  2751. return 0;
  2752. }
  2753. duk_ret_t Polycode_MaterialManager_reloadProgramsAndTextures(duk_context *context) {
  2754. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2755. inst->reloadProgramsAndTextures();
  2756. return 0;
  2757. }
  2758. duk_ret_t Polycode_MaterialManager_reloadPrograms(duk_context *context) {
  2759. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2760. inst->reloadPrograms();
  2761. return 0;
  2762. }
  2763. duk_ret_t Polycode_MaterialManager_getTextureByResourcePath(duk_context *context) {
  2764. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2765. String resourcePath = duk_to_string(context, 0);
  2766. inst->getTextureByResourcePath(resourcePath);
  2767. return 0;
  2768. }
  2769. duk_ret_t Polycode_MaterialManager_createProgramFromFile(duk_context *context) {
  2770. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2771. String programPath = duk_to_string(context, 0);
  2772. inst->createProgramFromFile(programPath);
  2773. return 0;
  2774. }
  2775. duk_ret_t Polycode_MaterialManager_loadMaterialLibraryIntoPool(duk_context *context) {
  2776. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2777. ResourcePool* pool = (ResourcePool*)duk_to_pointer(context, 0);
  2778. String materialFile = duk_to_string(context, 1);
  2779. inst->loadMaterialLibraryIntoPool(pool,materialFile);
  2780. return 0;
  2781. }
  2782. duk_ret_t Polycode_MaterialManager_cubemapFromXMLNode(duk_context *context) {
  2783. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2784. TiXmlNode* node = (TiXmlNode*)duk_to_pointer(context, 0);
  2785. inst->cubemapFromXMLNode(node);
  2786. return 0;
  2787. }
  2788. duk_ret_t Polycode_MaterialManager_materialFromXMLNode(duk_context *context) {
  2789. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2790. ResourcePool* resourcePool = (ResourcePool*)duk_to_pointer(context, 0);
  2791. TiXmlNode* node = (TiXmlNode*)duk_to_pointer(context, 1);
  2792. inst->materialFromXMLNode(resourcePool,node);
  2793. return 0;
  2794. }
  2795. duk_ret_t Polycode_MaterialManager_createMaterial(duk_context *context) {
  2796. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2797. ResourcePool* resourcePool = (ResourcePool*)duk_to_pointer(context, 0);
  2798. String materialName = duk_to_string(context, 1);
  2799. String shaderName = duk_to_string(context, 2);
  2800. inst->createMaterial(resourcePool,materialName,shaderName);
  2801. return 0;
  2802. }
  2803. duk_ret_t Polycode_MaterialManager_setShaderFromXMLNode(duk_context *context) {
  2804. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2805. ResourcePool* resourcePool = (ResourcePool*)duk_to_pointer(context, 0);
  2806. TiXmlNode* node = (TiXmlNode*)duk_to_pointer(context, 1);
  2807. inst->setShaderFromXMLNode(resourcePool,node);
  2808. return 0;
  2809. }
  2810. duk_ret_t Polycode_MaterialManager_createShaderFromXMLNode(duk_context *context) {
  2811. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2812. ResourcePool* resourcePool = (ResourcePool*)duk_to_pointer(context, 0);
  2813. TiXmlNode* node = (TiXmlNode*)duk_to_pointer(context, 1);
  2814. inst->createShaderFromXMLNode(resourcePool,node);
  2815. return 0;
  2816. }
  2817. duk_ret_t Polycode_MaterialManager_createShader(duk_context *context) {
  2818. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2819. ResourcePool* resourcePool = (ResourcePool*)duk_to_pointer(context, 0);
  2820. String shaderType = duk_to_string(context, 1);
  2821. String name = duk_to_string(context, 2);
  2822. String vpName = duk_to_string(context, 3);
  2823. String fpName = duk_to_string(context, 4);
  2824. bool screenShader = duk_to_boolean(context, 5);
  2825. inst->createShader(resourcePool,shaderType,name,vpName,fpName,screenShader);
  2826. return 0;
  2827. }
  2828. duk_ret_t Polycode_MaterialManager_loadMaterialsFromFile(duk_context *context) {
  2829. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2830. ResourcePool* resourcePool = (ResourcePool*)duk_to_pointer(context, 0);
  2831. String fileName = duk_to_string(context, 1);
  2832. inst->loadMaterialsFromFile(resourcePool,fileName);
  2833. return 0;
  2834. }
  2835. duk_ret_t Polycode_MaterialManager_loadShadersFromFile(duk_context *context) {
  2836. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2837. ResourcePool* resourcePool = (ResourcePool*)duk_to_pointer(context, 0);
  2838. String fileName = duk_to_string(context, 1);
  2839. inst->loadShadersFromFile(resourcePool,fileName);
  2840. return 0;
  2841. }
  2842. duk_ret_t Polycode_MaterialManager_loadCubemapsFromFile(duk_context *context) {
  2843. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2844. String fileName = duk_to_string(context, 0);
  2845. inst->loadCubemapsFromFile(fileName);
  2846. return 0;
  2847. }
  2848. duk_ret_t Polycode_MaterialManager_setAnisotropyAmount(duk_context *context) {
  2849. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2850. int anisotropy = duk_to_int(context, 0);
  2851. inst->setAnisotropyAmount(anisotropy);
  2852. return 0;
  2853. }
  2854. duk_ret_t Polycode_MaterialManager_setTextureFilteringMode(duk_context *context) {
  2855. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2856. int textureFilteringMode = duk_to_int(context, 0);
  2857. inst->setTextureFilteringMode(textureFilteringMode);
  2858. return 0;
  2859. }
  2860. duk_ret_t Polycode_MaterialManager_getTextureFilteringMode(duk_context *context) {
  2861. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2862. inst->getTextureFilteringMode();
  2863. return 0;
  2864. }
  2865. duk_ret_t Polycode_MaterialManager_addMaterial(duk_context *context) {
  2866. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2867. Material* material = (Material*)duk_to_pointer(context, 0);
  2868. inst->addMaterial(material);
  2869. return 0;
  2870. }
  2871. duk_ret_t Polycode_MaterialManager_addShader(duk_context *context) {
  2872. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2873. Shader* shader = (Shader*)duk_to_pointer(context, 0);
  2874. inst->addShader(shader);
  2875. return 0;
  2876. }
  2877. duk_ret_t Polycode_MaterialManager_getNumShaders(duk_context *context) {
  2878. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2879. inst->getNumShaders();
  2880. return 0;
  2881. }
  2882. duk_ret_t Polycode_MaterialManager_getShaderByIndex(duk_context *context) {
  2883. MaterialManager *inst = (MaterialManager*)duk_to_pointer(context, -1);
  2884. int index = duk_to_int(context, 0);
  2885. inst->getShaderByIndex(index);
  2886. return 0;
  2887. }
  2888. duk_ret_t Polycode_Matrix4_identity(duk_context *context) {
  2889. Matrix4 *inst = (Matrix4*)duk_to_pointer(context, -1);
  2890. inst->identity();
  2891. return 0;
  2892. }
  2893. duk_ret_t Polycode_Matrix4_rotateVector(duk_context *context) {
  2894. Matrix4 *inst = (Matrix4*)duk_to_pointer(context, -1);
  2895. Vector3 v2 = *(Vector3*)duk_to_pointer(context, 0);
  2896. inst->rotateVector(v2);
  2897. return 0;
  2898. }
  2899. duk_ret_t Polycode_Matrix4_getPosition(duk_context *context) {
  2900. Matrix4 *inst = (Matrix4*)duk_to_pointer(context, -1);
  2901. inst->getPosition();
  2902. return 0;
  2903. }
  2904. duk_ret_t Polycode_Matrix4_multiplyWithPerspective(duk_context *context) {
  2905. Matrix4 *inst = (Matrix4*)duk_to_pointer(context, -1);
  2906. Vector3 v2 = *(Vector3*)duk_to_pointer(context, 0);
  2907. inst->multiplyWithPerspective(v2);
  2908. return 0;
  2909. }
  2910. duk_ret_t Polycode_Matrix4_multVector3(duk_context *context) {
  2911. Matrix4 *inst = (Matrix4*)duk_to_pointer(context, -1);
  2912. Vector3 v2 = *(Vector3*)duk_to_pointer(context, 0);
  2913. inst->multVector3(v2);
  2914. return 0;
  2915. }
  2916. duk_ret_t Polycode_Matrix4_multVector4(duk_context *context) {
  2917. Matrix4 *inst = (Matrix4*)duk_to_pointer(context, -1);
  2918. Vector4 v2 = *(Vector4*)duk_to_pointer(context, 0);
  2919. inst->multVector4(v2);
  2920. return 0;
  2921. }
  2922. duk_ret_t Polycode_Matrix4_Translate(duk_context *context) {
  2923. Matrix4 *inst = (Matrix4*)duk_to_pointer(context, -1);
  2924. Number x = duk_to_number(context, 0);
  2925. Number y = duk_to_number(context, 1);
  2926. Number z = duk_to_number(context, 2);
  2927. inst->Translate(x,y,z);
  2928. return 0;
  2929. }
  2930. duk_ret_t Polycode_Matrix4_setPosition(duk_context *context) {
  2931. Matrix4 *inst = (Matrix4*)duk_to_pointer(context, -1);
  2932. Number x = duk_to_number(context, 0);
  2933. Number y = duk_to_number(context, 1);
  2934. Number z = duk_to_number(context, 2);
  2935. inst->setPosition(x,y,z);
  2936. return 0;
  2937. }
  2938. duk_ret_t Polycode_Matrix4_setScale(duk_context *context) {
  2939. Matrix4 *inst = (Matrix4*)duk_to_pointer(context, -1);
  2940. Vector3 scale = *(Vector3*)duk_to_pointer(context, 0);
  2941. inst->setScale(scale);
  2942. return 0;
  2943. }
  2944. duk_ret_t Polycode_Matrix4_getEulerAngles(duk_context *context) {
  2945. Matrix4 *inst = (Matrix4*)duk_to_pointer(context, -1);
  2946. Number* ax = (Number*)duk_to_pointer(context, 0);
  2947. Number* ay = (Number*)duk_to_pointer(context, 1);
  2948. Number* az = (Number*)duk_to_pointer(context, 2);
  2949. inst->getEulerAngles(ax,ay,az);
  2950. return 0;
  2951. }
  2952. duk_ret_t Polycode_Matrix4_transpose(duk_context *context) {
  2953. Matrix4 *inst = (Matrix4*)duk_to_pointer(context, -1);
  2954. inst->transpose();
  2955. return 0;
  2956. }
  2957. duk_ret_t Polycode_Matrix4_Inverse(duk_context *context) {
  2958. Matrix4 *inst = (Matrix4*)duk_to_pointer(context, -1);
  2959. inst->Inverse();
  2960. return 0;
  2961. }
  2962. duk_ret_t Polycode_Matrix4_inverseAffine(duk_context *context) {
  2963. Matrix4 *inst = (Matrix4*)duk_to_pointer(context, -1);
  2964. inst->inverseAffine();
  2965. return 0;
  2966. }
  2967. duk_ret_t Polycode_Matrix4_determinant(duk_context *context) {
  2968. Matrix4 *inst = (Matrix4*)duk_to_pointer(context, -1);
  2969. inst->determinant();
  2970. return 0;
  2971. }
  2972. duk_ret_t Polycode_Matrix4_setOrthoProjection(duk_context *context) {
  2973. Matrix4 *inst = (Matrix4*)duk_to_pointer(context, -1);
  2974. Number left = duk_to_number(context, 0);
  2975. Number right = duk_to_number(context, 1);
  2976. Number bottom = duk_to_number(context, 2);
  2977. Number top = duk_to_number(context, 3);
  2978. Number zNear = duk_to_number(context, 4);
  2979. Number zFar = duk_to_number(context, 5);
  2980. inst->setOrthoProjection(left,right,bottom,top,zNear,zFar);
  2981. return 0;
  2982. }
  2983. duk_ret_t Polycode_Matrix4_setProjectionFrustum(duk_context *context) {
  2984. Matrix4 *inst = (Matrix4*)duk_to_pointer(context, -1);
  2985. Number left = duk_to_number(context, 0);
  2986. Number right = duk_to_number(context, 1);
  2987. Number bottom = duk_to_number(context, 2);
  2988. Number top = duk_to_number(context, 3);
  2989. Number zNear = duk_to_number(context, 4);
  2990. Number zFar = duk_to_number(context, 5);
  2991. inst->setProjectionFrustum(left,right,bottom,top,zNear,zFar);
  2992. return 0;
  2993. }
  2994. duk_ret_t Polycode_Matrix4_setProjection(duk_context *context) {
  2995. Matrix4 *inst = (Matrix4*)duk_to_pointer(context, -1);
  2996. Number fov = duk_to_number(context, 0);
  2997. Number aspect = duk_to_number(context, 1);
  2998. Number zNear = duk_to_number(context, 2);
  2999. Number zFar = duk_to_number(context, 3);
  3000. inst->setProjection(fov,aspect,zNear,zFar);
  3001. return 0;
  3002. }
  3003. duk_ret_t Polycode_Mesh_loadMesh(duk_context *context) {
  3004. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3005. String fileName = duk_to_string(context, 0);
  3006. inst->loadMesh(fileName);
  3007. return 0;
  3008. }
  3009. duk_ret_t Polycode_Mesh_clearMesh(duk_context *context) {
  3010. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3011. inst->clearMesh();
  3012. return 0;
  3013. }
  3014. duk_ret_t Polycode_Mesh_saveToFile(duk_context *context) {
  3015. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3016. String fileName = duk_to_string(context, 0);
  3017. bool writeNormals = duk_to_boolean(context, 1);
  3018. bool writeTangents = duk_to_boolean(context, 2);
  3019. bool writeColors = duk_to_boolean(context, 3);
  3020. bool writeBoneWeights = duk_to_boolean(context, 4);
  3021. bool writeUVs = duk_to_boolean(context, 5);
  3022. bool writeSecondaryUVs = duk_to_boolean(context, 6);
  3023. inst->saveToFile(fileName,writeNormals,writeTangents,writeColors,writeBoneWeights,writeUVs,writeSecondaryUVs);
  3024. return 0;
  3025. }
  3026. duk_ret_t Polycode_Mesh_loadFromFile(duk_context *context) {
  3027. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3028. CoreFile* inFile = (CoreFile*)duk_to_pointer(context, 0);
  3029. inst->loadFromFile(inFile);
  3030. return 0;
  3031. }
  3032. duk_ret_t Polycode_Mesh_getVertexCount(duk_context *context) {
  3033. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3034. inst->getVertexCount();
  3035. return 0;
  3036. }
  3037. duk_ret_t Polycode_Mesh_createPlane(duk_context *context) {
  3038. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3039. Number w = duk_to_number(context, 0);
  3040. Number h = duk_to_number(context, 1);
  3041. Number tilingValue = duk_to_number(context, 2);
  3042. inst->createPlane(w,h,tilingValue);
  3043. return 0;
  3044. }
  3045. duk_ret_t Polycode_Mesh_createVPlane(duk_context *context) {
  3046. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3047. Number w = duk_to_number(context, 0);
  3048. Number h = duk_to_number(context, 1);
  3049. Number tilingValue = duk_to_number(context, 2);
  3050. inst->createVPlane(w,h,tilingValue);
  3051. return 0;
  3052. }
  3053. duk_ret_t Polycode_Mesh_createCircle(duk_context *context) {
  3054. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3055. Number w = duk_to_number(context, 0);
  3056. Number h = duk_to_number(context, 1);
  3057. int numSegments = duk_to_int(context, 2);
  3058. Number tilingValue = duk_to_number(context, 3);
  3059. inst->createCircle(w,h,numSegments,tilingValue);
  3060. return 0;
  3061. }
  3062. duk_ret_t Polycode_Mesh_createLineCircle(duk_context *context) {
  3063. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3064. Number w = duk_to_number(context, 0);
  3065. Number h = duk_to_number(context, 1);
  3066. int numSegments = duk_to_int(context, 2);
  3067. Number tilingValue = duk_to_number(context, 3);
  3068. inst->createLineCircle(w,h,numSegments,tilingValue);
  3069. return 0;
  3070. }
  3071. duk_ret_t Polycode_Mesh_createTorus(duk_context *context) {
  3072. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3073. Number radius = duk_to_number(context, 0);
  3074. Number tubeRadius = duk_to_number(context, 1);
  3075. int segmentsW = duk_to_int(context, 2);
  3076. int segmentsH = duk_to_int(context, 3);
  3077. Number tilingValue = duk_to_number(context, 4);
  3078. inst->createTorus(radius,tubeRadius,segmentsW,segmentsH,tilingValue);
  3079. return 0;
  3080. }
  3081. duk_ret_t Polycode_Mesh_createBox(duk_context *context) {
  3082. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3083. Number w = duk_to_number(context, 0);
  3084. Number d = duk_to_number(context, 1);
  3085. Number h = duk_to_number(context, 2);
  3086. Number tilingValue = duk_to_number(context, 3);
  3087. inst->createBox(w,d,h,tilingValue);
  3088. return 0;
  3089. }
  3090. duk_ret_t Polycode_Mesh_createSphere(duk_context *context) {
  3091. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3092. Number radius = duk_to_number(context, 0);
  3093. int numRings = duk_to_int(context, 1);
  3094. int numSegments = duk_to_int(context, 2);
  3095. Number tilingValue = duk_to_number(context, 3);
  3096. inst->createSphere(radius,numRings,numSegments,tilingValue);
  3097. return 0;
  3098. }
  3099. duk_ret_t Polycode_Mesh_createIcosphere(duk_context *context) {
  3100. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3101. Number radius = duk_to_number(context, 0);
  3102. int subdivisions = duk_to_int(context, 1);
  3103. inst->createIcosphere(radius,subdivisions);
  3104. return 0;
  3105. }
  3106. duk_ret_t Polycode_Mesh_createOctosphere(duk_context *context) {
  3107. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3108. Number radius = duk_to_number(context, 0);
  3109. int subdivisions = duk_to_int(context, 1);
  3110. inst->createOctosphere(radius,subdivisions);
  3111. return 0;
  3112. }
  3113. duk_ret_t Polycode_Mesh_createCylinder(duk_context *context) {
  3114. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3115. Number height = duk_to_number(context, 0);
  3116. Number radius = duk_to_number(context, 1);
  3117. int numSegments = duk_to_int(context, 2);
  3118. bool capped = duk_to_boolean(context, 3);
  3119. Number tilingValue = duk_to_number(context, 4);
  3120. inst->createCylinder(height,radius,numSegments,capped,tilingValue);
  3121. return 0;
  3122. }
  3123. duk_ret_t Polycode_Mesh_createCone(duk_context *context) {
  3124. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3125. Number height = duk_to_number(context, 0);
  3126. Number radius = duk_to_number(context, 1);
  3127. int numSegments = duk_to_int(context, 2);
  3128. Number tilingValue = duk_to_number(context, 3);
  3129. inst->createCone(height,radius,numSegments,tilingValue);
  3130. return 0;
  3131. }
  3132. duk_ret_t Polycode_Mesh_recenterMesh(duk_context *context) {
  3133. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3134. inst->recenterMesh();
  3135. return 0;
  3136. }
  3137. duk_ret_t Polycode_Mesh_setVertexAtOffset(duk_context *context) {
  3138. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3139. int offset = duk_to_int(context, 0);
  3140. Number x = duk_to_number(context, 1);
  3141. Number y = duk_to_number(context, 2);
  3142. Number z = duk_to_number(context, 3);
  3143. inst->setVertexAtOffset(offset,x,y,z);
  3144. return 0;
  3145. }
  3146. duk_ret_t Polycode_Mesh_addVertexWithUVAndNormal(duk_context *context) {
  3147. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3148. Number x = duk_to_number(context, 0);
  3149. Number y = duk_to_number(context, 1);
  3150. Number z = duk_to_number(context, 2);
  3151. Number u = duk_to_number(context, 3);
  3152. Number v = duk_to_number(context, 4);
  3153. Number nx = duk_to_number(context, 5);
  3154. Number ny = duk_to_number(context, 6);
  3155. Number nz = duk_to_number(context, 7);
  3156. inst->addVertexWithUVAndNormal(x,y,z,u,v,nx,ny,nz);
  3157. return 0;
  3158. }
  3159. duk_ret_t Polycode_Mesh_addTexCoord(duk_context *context) {
  3160. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3161. Number u = duk_to_number(context, 0);
  3162. Number v = duk_to_number(context, 1);
  3163. inst->addTexCoord(u,v);
  3164. return 0;
  3165. }
  3166. duk_ret_t Polycode_Mesh_addTexCoord2(duk_context *context) {
  3167. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3168. Number u = duk_to_number(context, 0);
  3169. Number v = duk_to_number(context, 1);
  3170. inst->addTexCoord2(u,v);
  3171. return 0;
  3172. }
  3173. duk_ret_t Polycode_Mesh_addTangent(duk_context *context) {
  3174. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3175. Number x = duk_to_number(context, 0);
  3176. Number y = duk_to_number(context, 1);
  3177. Number z = duk_to_number(context, 2);
  3178. inst->addTangent(x,y,z);
  3179. return 0;
  3180. }
  3181. duk_ret_t Polycode_Mesh_addVertexWithUV(duk_context *context) {
  3182. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3183. Number x = duk_to_number(context, 0);
  3184. Number y = duk_to_number(context, 1);
  3185. Number z = duk_to_number(context, 2);
  3186. Number u = duk_to_number(context, 3);
  3187. Number v = duk_to_number(context, 4);
  3188. inst->addVertexWithUV(x,y,z,u,v);
  3189. return 0;
  3190. }
  3191. duk_ret_t Polycode_Mesh_addVertex(duk_context *context) {
  3192. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3193. Number x = duk_to_number(context, 0);
  3194. Number y = duk_to_number(context, 1);
  3195. Number z = duk_to_number(context, 2);
  3196. inst->addVertex(x,y,z);
  3197. return 0;
  3198. }
  3199. duk_ret_t Polycode_Mesh_addNormal(duk_context *context) {
  3200. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3201. Number nx = duk_to_number(context, 0);
  3202. Number ny = duk_to_number(context, 1);
  3203. Number nz = duk_to_number(context, 2);
  3204. inst->addNormal(nx,ny,nz);
  3205. return 0;
  3206. }
  3207. duk_ret_t Polycode_Mesh_addBoneAssignments(duk_context *context) {
  3208. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3209. Number b1Weight = duk_to_number(context, 0);
  3210. int b1Index = duk_to_int(context, 1);
  3211. Number b2Weight = duk_to_number(context, 2);
  3212. int b2Index = duk_to_int(context, 3);
  3213. Number b3Weight = duk_to_number(context, 4);
  3214. int b3Index = duk_to_int(context, 5);
  3215. Number b4Weight = duk_to_number(context, 6);
  3216. int b4Index = duk_to_int(context, 7);
  3217. inst->addBoneAssignments(b1Weight,b1Index,b2Weight,b2Index,b3Weight,b3Index,b4Weight,b4Index);
  3218. return 0;
  3219. }
  3220. duk_ret_t Polycode_Mesh_addColor(duk_context *context) {
  3221. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3222. Number r = duk_to_number(context, 0);
  3223. Number g = duk_to_number(context, 1);
  3224. Number b = duk_to_number(context, 2);
  3225. Number a = duk_to_number(context, 3);
  3226. inst->addColor(r,g,b,a);
  3227. return 0;
  3228. }
  3229. duk_ret_t Polycode_Mesh_getVertexPosition(duk_context *context) {
  3230. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3231. int vertexOffset = duk_to_int(context, 0);
  3232. inst->getVertexPosition(vertexOffset);
  3233. return 0;
  3234. }
  3235. duk_ret_t Polycode_Mesh_getVertexPositionAtIndex(duk_context *context) {
  3236. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3237. int index = duk_to_int(context, 0);
  3238. inst->getVertexPositionAtIndex(index);
  3239. return 0;
  3240. }
  3241. duk_ret_t Polycode_Mesh_getVertexTexCoord(duk_context *context) {
  3242. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3243. int vertexOffset = duk_to_int(context, 0);
  3244. inst->getVertexTexCoord(vertexOffset);
  3245. return 0;
  3246. }
  3247. duk_ret_t Polycode_Mesh_getVertexTexCoordAtIndex(duk_context *context) {
  3248. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3249. int index = duk_to_int(context, 0);
  3250. inst->getVertexTexCoordAtIndex(index);
  3251. return 0;
  3252. }
  3253. duk_ret_t Polycode_Mesh_Copy(duk_context *context) {
  3254. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3255. inst->Copy();
  3256. return 0;
  3257. }
  3258. duk_ret_t Polycode_Mesh_getRadius(duk_context *context) {
  3259. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3260. inst->getRadius();
  3261. return 0;
  3262. }
  3263. duk_ret_t Polycode_Mesh_calculateNormals(duk_context *context) {
  3264. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3265. inst->calculateNormals();
  3266. return 0;
  3267. }
  3268. duk_ret_t Polycode_Mesh_calculateTangents(duk_context *context) {
  3269. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3270. inst->calculateTangents();
  3271. return 0;
  3272. }
  3273. duk_ret_t Polycode_Mesh_getMeshType(duk_context *context) {
  3274. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3275. inst->getMeshType();
  3276. return 0;
  3277. }
  3278. duk_ret_t Polycode_Mesh_setMeshType(duk_context *context) {
  3279. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3280. int newType = duk_to_int(context, 0);
  3281. inst->setMeshType(newType);
  3282. return 0;
  3283. }
  3284. duk_ret_t Polycode_Mesh_getIndexGroupSize(duk_context *context) {
  3285. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3286. inst->getIndexGroupSize();
  3287. return 0;
  3288. }
  3289. duk_ret_t Polycode_Mesh_calculateBBox(duk_context *context) {
  3290. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3291. inst->calculateBBox();
  3292. return 0;
  3293. }
  3294. duk_ret_t Polycode_Mesh_hasVertexBuffer(duk_context *context) {
  3295. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3296. inst->hasVertexBuffer();
  3297. return 0;
  3298. }
  3299. duk_ret_t Polycode_Mesh_addIndexedFace(duk_context *context) {
  3300. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3301. int i1 = duk_to_int(context, 0);
  3302. int i2 = duk_to_int(context, 1);
  3303. inst->addIndexedFace(i1,i2);
  3304. return 0;
  3305. }
  3306. duk_ret_t Polycode_Mesh_addIndex(duk_context *context) {
  3307. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3308. int index = duk_to_int(context, 0);
  3309. inst->addIndex(index);
  3310. return 0;
  3311. }
  3312. duk_ret_t Polycode_Mesh_removeVertexRange(duk_context *context) {
  3313. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3314. int beginRemoveVertex = duk_to_int(context, 0);
  3315. int vertexRemovalCount = duk_to_int(context, 1);
  3316. inst->removeVertexRange(beginRemoveVertex,vertexRemovalCount);
  3317. return 0;
  3318. }
  3319. duk_ret_t Polycode_Mesh_removeFace(duk_context *context) {
  3320. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3321. int faceIndex = duk_to_int(context, 0);
  3322. inst->removeFace(faceIndex);
  3323. return 0;
  3324. }
  3325. duk_ret_t Polycode_Mesh_removeUnusedVertices(duk_context *context) {
  3326. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3327. inst->removeUnusedVertices();
  3328. return 0;
  3329. }
  3330. duk_ret_t Polycode_Mesh_getIndexCount(duk_context *context) {
  3331. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3332. inst->getIndexCount();
  3333. return 0;
  3334. }
  3335. duk_ret_t Polycode_Mesh_subdivideToRadius(duk_context *context) {
  3336. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3337. Number radius = duk_to_number(context, 0);
  3338. int subdivisions = duk_to_int(context, 1);
  3339. inst->subdivideToRadius(radius,subdivisions);
  3340. return 0;
  3341. }
  3342. duk_ret_t Polycode_Mesh_saveAsOBJ(duk_context *context) {
  3343. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3344. String fileName = duk_to_string(context, 0);
  3345. inst->saveAsOBJ(fileName);
  3346. return 0;
  3347. }
  3348. duk_ret_t Polycode_Mesh_normalizeBoneWeights(duk_context *context) {
  3349. Mesh *inst = (Mesh*)duk_to_pointer(context, -1);
  3350. inst->normalizeBoneWeights();
  3351. return 0;
  3352. }
  3353. duk_ret_t Polycode_ObjectEntry_readNumber(duk_context *context) {
  3354. ObjectEntry *inst = (ObjectEntry*)duk_to_pointer(context, -1);
  3355. String key = duk_to_string(context, 0);
  3356. Number* out = (Number*)duk_to_pointer(context, 1);
  3357. inst->readNumber(key,out);
  3358. return 0;
  3359. }
  3360. duk_ret_t Polycode_ObjectEntry_readString(duk_context *context) {
  3361. ObjectEntry *inst = (ObjectEntry*)duk_to_pointer(context, -1);
  3362. String key = duk_to_string(context, 0);
  3363. String* out = (String*)duk_to_pointer(context, 1);
  3364. inst->readString(key,out);
  3365. return 0;
  3366. }
  3367. duk_ret_t Polycode_ObjectEntry_readBool(duk_context *context) {
  3368. ObjectEntry *inst = (ObjectEntry*)duk_to_pointer(context, -1);
  3369. String key = duk_to_string(context, 0);
  3370. bool* out = (bool*)duk_to_pointer(context, 1);
  3371. inst->readBool(key,out);
  3372. return 0;
  3373. }
  3374. duk_ret_t Polycode_ObjectEntry_addChild(duk_context *context) {
  3375. ObjectEntry *inst = (ObjectEntry*)duk_to_pointer(context, -1);
  3376. String name = duk_to_string(context, 0);
  3377. inst->addChild(name);
  3378. return 0;
  3379. }
  3380. duk_ret_t Polycode_ObjectEntry_getTypedName(duk_context *context) {
  3381. ObjectEntry *inst = (ObjectEntry*)duk_to_pointer(context, -1);
  3382. inst->getTypedName();
  3383. return 0;
  3384. }
  3385. duk_ret_t Polycode_ObjectEntry_setTypedName(duk_context *context) {
  3386. ObjectEntry *inst = (ObjectEntry*)duk_to_pointer(context, -1);
  3387. String str = duk_to_string(context, 0);
  3388. inst->setTypedName(str);
  3389. return 0;
  3390. }
  3391. duk_ret_t Polycode_ObjectEntry_Clear(duk_context *context) {
  3392. ObjectEntry *inst = (ObjectEntry*)duk_to_pointer(context, -1);
  3393. inst->Clear();
  3394. return 0;
  3395. }
  3396. duk_ret_t Polycode_BinaryObjectWriter_parseKeysFromObjectEntry(duk_context *context) {
  3397. BinaryObjectWriter *inst = (BinaryObjectWriter*)duk_to_pointer(context, -1);
  3398. ObjectEntry* entry = (ObjectEntry*)duk_to_pointer(context, 0);
  3399. inst->parseKeysFromObjectEntry(entry);
  3400. return 0;
  3401. }
  3402. duk_ret_t Polycode_BinaryObjectWriter_writeEntryToFile(duk_context *context) {
  3403. BinaryObjectWriter *inst = (BinaryObjectWriter*)duk_to_pointer(context, -1);
  3404. ObjectEntry* entry = (ObjectEntry*)duk_to_pointer(context, 0);
  3405. inst->writeEntryToFile(entry);
  3406. return 0;
  3407. }
  3408. duk_ret_t Polycode_BinaryObjectWriter_addKey(duk_context *context) {
  3409. BinaryObjectWriter *inst = (BinaryObjectWriter*)duk_to_pointer(context, -1);
  3410. String key = duk_to_string(context, 0);
  3411. inst->addKey(key);
  3412. return 0;
  3413. }
  3414. duk_ret_t Polycode_BinaryObjectWriter_getKeyIndex(duk_context *context) {
  3415. BinaryObjectWriter *inst = (BinaryObjectWriter*)duk_to_pointer(context, -1);
  3416. String key = duk_to_string(context, 0);
  3417. inst->getKeyIndex(key);
  3418. return 0;
  3419. }
  3420. duk_ret_t Polycode_BinaryObjectWriter_writeToFile(duk_context *context) {
  3421. BinaryObjectWriter *inst = (BinaryObjectWriter*)duk_to_pointer(context, -1);
  3422. String fileName = duk_to_string(context, 0);
  3423. inst->writeToFile(fileName);
  3424. return 0;
  3425. }
  3426. duk_ret_t Polycode_SceneParticleEmitter_setParticleCount(duk_context *context) {
  3427. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3428. int newParticleCount = duk_to_int(context, 0);
  3429. inst->setParticleCount(newParticleCount);
  3430. return 0;
  3431. }
  3432. duk_ret_t Polycode_SceneParticleEmitter_getParticleCount(duk_context *context) {
  3433. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3434. inst->getParticleCount();
  3435. return 0;
  3436. }
  3437. duk_ret_t Polycode_SceneParticleEmitter_setParticleLifetime(duk_context *context) {
  3438. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3439. Number lifetime = duk_to_number(context, 0);
  3440. inst->setParticleLifetime(lifetime);
  3441. return 0;
  3442. }
  3443. duk_ret_t Polycode_SceneParticleEmitter_getParticleLifetime(duk_context *context) {
  3444. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3445. inst->getParticleLifetime();
  3446. return 0;
  3447. }
  3448. duk_ret_t Polycode_SceneParticleEmitter_setDirectionDeviation(duk_context *context) {
  3449. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3450. Vector3 newDeviation = *(Vector3*)duk_to_pointer(context, 0);
  3451. inst->setDirectionDeviation(newDeviation);
  3452. return 0;
  3453. }
  3454. duk_ret_t Polycode_SceneParticleEmitter_getDirectionDeviation(duk_context *context) {
  3455. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3456. inst->getDirectionDeviation();
  3457. return 0;
  3458. }
  3459. duk_ret_t Polycode_SceneParticleEmitter_setEmitterSize(duk_context *context) {
  3460. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3461. Vector3 newSize = *(Vector3*)duk_to_pointer(context, 0);
  3462. inst->setEmitterSize(newSize);
  3463. return 0;
  3464. }
  3465. duk_ret_t Polycode_SceneParticleEmitter_getEmitterSize(duk_context *context) {
  3466. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3467. inst->getEmitterSize();
  3468. return 0;
  3469. }
  3470. duk_ret_t Polycode_SceneParticleEmitter_setGravity(duk_context *context) {
  3471. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3472. Vector3 newGravity = *(Vector3*)duk_to_pointer(context, 0);
  3473. inst->setGravity(newGravity);
  3474. return 0;
  3475. }
  3476. duk_ret_t Polycode_SceneParticleEmitter_getGravity(duk_context *context) {
  3477. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3478. inst->getGravity();
  3479. return 0;
  3480. }
  3481. duk_ret_t Polycode_SceneParticleEmitter_fixedUpdate(duk_context *context) {
  3482. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3483. inst->fixedUpdate();
  3484. return 0;
  3485. }
  3486. duk_ret_t Polycode_SceneParticleEmitter_Render(duk_context *context) {
  3487. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3488. GPUDrawBuffer* buffer = (GPUDrawBuffer*)duk_to_pointer(context, 0);
  3489. inst->Render(buffer);
  3490. return 0;
  3491. }
  3492. duk_ret_t Polycode_SceneParticleEmitter_updateParticles(duk_context *context) {
  3493. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3494. inst->updateParticles();
  3495. return 0;
  3496. }
  3497. duk_ret_t Polycode_SceneParticleEmitter_rebuildParticles(duk_context *context) {
  3498. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3499. GPUDrawBuffer* buffer = (GPUDrawBuffer*)duk_to_pointer(context, 0);
  3500. inst->rebuildParticles(buffer);
  3501. return 0;
  3502. }
  3503. duk_ret_t Polycode_SceneParticleEmitter_triggerParticles(duk_context *context) {
  3504. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3505. bool allAtOnce = duk_to_boolean(context, 0);
  3506. inst->triggerParticles(allAtOnce);
  3507. return 0;
  3508. }
  3509. duk_ret_t Polycode_SceneParticleEmitter_enableParticleSystem(duk_context *context) {
  3510. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3511. bool val = duk_to_boolean(context, 0);
  3512. inst->enableParticleSystem(val);
  3513. return 0;
  3514. }
  3515. duk_ret_t Polycode_SceneParticleEmitter_setUseFloorPlane(duk_context *context) {
  3516. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3517. bool val = duk_to_boolean(context, 0);
  3518. inst->setUseFloorPlane(val);
  3519. return 0;
  3520. }
  3521. duk_ret_t Polycode_SceneParticleEmitter_setFloorPlaneOffset(duk_context *context) {
  3522. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3523. Number floorPlaneOffset = duk_to_number(context, 0);
  3524. inst->setFloorPlaneOffset(floorPlaneOffset);
  3525. return 0;
  3526. }
  3527. duk_ret_t Polycode_SceneParticleEmitter_setFloorDamping(duk_context *context) {
  3528. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3529. Number floorDamping = duk_to_number(context, 0);
  3530. inst->setFloorDamping(floorDamping);
  3531. return 0;
  3532. }
  3533. duk_ret_t Polycode_SceneParticleEmitter_setParticlesInWorldSpace(duk_context *context) {
  3534. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3535. bool val = duk_to_boolean(context, 0);
  3536. inst->setParticlesInWorldSpace(val);
  3537. return 0;
  3538. }
  3539. duk_ret_t Polycode_SceneParticleEmitter_getParticlesInWorldSpace(duk_context *context) {
  3540. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3541. inst->getParticlesInWorldSpace();
  3542. return 0;
  3543. }
  3544. duk_ret_t Polycode_SceneParticleEmitter_setPerlinEnabled(duk_context *context) {
  3545. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3546. bool val = duk_to_boolean(context, 0);
  3547. inst->setPerlinEnabled(val);
  3548. return 0;
  3549. }
  3550. duk_ret_t Polycode_SceneParticleEmitter_getPerlinEnabled(duk_context *context) {
  3551. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3552. inst->getPerlinEnabled();
  3553. return 0;
  3554. }
  3555. duk_ret_t Polycode_SceneParticleEmitter_getParticleSpeed(duk_context *context) {
  3556. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3557. inst->getParticleSpeed();
  3558. return 0;
  3559. }
  3560. duk_ret_t Polycode_SceneParticleEmitter_setParticleSpeed(duk_context *context) {
  3561. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3562. Number speed = duk_to_number(context, 0);
  3563. inst->setParticleSpeed(speed);
  3564. return 0;
  3565. }
  3566. duk_ret_t Polycode_SceneParticleEmitter_setPerlinValue(duk_context *context) {
  3567. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3568. Vector3 perlinValue = *(Vector3*)duk_to_pointer(context, 0);
  3569. inst->setPerlinValue(perlinValue);
  3570. return 0;
  3571. }
  3572. duk_ret_t Polycode_SceneParticleEmitter_getPerlinValue(duk_context *context) {
  3573. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3574. inst->getPerlinValue();
  3575. return 0;
  3576. }
  3577. duk_ret_t Polycode_SceneParticleEmitter_setParticleType(duk_context *context) {
  3578. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3579. int particleType = duk_to_int(context, 0);
  3580. inst->setParticleType(particleType);
  3581. return 0;
  3582. }
  3583. duk_ret_t Polycode_SceneParticleEmitter_getParticleType(duk_context *context) {
  3584. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3585. inst->getParticleType();
  3586. return 0;
  3587. }
  3588. duk_ret_t Polycode_SceneParticleEmitter_setParticleSize(duk_context *context) {
  3589. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3590. Number particleSize = duk_to_number(context, 0);
  3591. inst->setParticleSize(particleSize);
  3592. return 0;
  3593. }
  3594. duk_ret_t Polycode_SceneParticleEmitter_getParticleSize(duk_context *context) {
  3595. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3596. inst->getParticleSize();
  3597. return 0;
  3598. }
  3599. duk_ret_t Polycode_SceneParticleEmitter_setParticleRotationSpeed(duk_context *context) {
  3600. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3601. Vector3 rotationSpeed = *(Vector3*)duk_to_pointer(context, 0);
  3602. inst->setParticleRotationSpeed(rotationSpeed);
  3603. return 0;
  3604. }
  3605. duk_ret_t Polycode_SceneParticleEmitter_getParticleRotationSpeed(duk_context *context) {
  3606. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3607. inst->getParticleRotationSpeed();
  3608. return 0;
  3609. }
  3610. duk_ret_t Polycode_SceneParticleEmitter_setParticleDirection(duk_context *context) {
  3611. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3612. Vector3 direction = *(Vector3*)duk_to_pointer(context, 0);
  3613. inst->setParticleDirection(direction);
  3614. return 0;
  3615. }
  3616. duk_ret_t Polycode_SceneParticleEmitter_getParticleDirection(duk_context *context) {
  3617. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3618. inst->getParticleDirection();
  3619. return 0;
  3620. }
  3621. duk_ret_t Polycode_SceneParticleEmitter_setLoopParticles(duk_context *context) {
  3622. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3623. bool val = duk_to_boolean(context, 0);
  3624. inst->setLoopParticles(val);
  3625. return 0;
  3626. }
  3627. duk_ret_t Polycode_SceneParticleEmitter_getLoopParticles(duk_context *context) {
  3628. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3629. inst->getLoopParticles();
  3630. return 0;
  3631. }
  3632. duk_ret_t Polycode_SceneParticleEmitter_addSourceMesh(duk_context *context) {
  3633. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3634. Mesh* mesh = (Mesh*)duk_to_pointer(context, 0);
  3635. inst->addSourceMesh(mesh);
  3636. return 0;
  3637. }
  3638. duk_ret_t Polycode_SceneParticleEmitter_getNumSourceMeshes(duk_context *context) {
  3639. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3640. inst->getNumSourceMeshes();
  3641. return 0;
  3642. }
  3643. duk_ret_t Polycode_SceneParticleEmitter_getSourcesMeshAtIndex(duk_context *context) {
  3644. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3645. int index = duk_to_int(context, 0);
  3646. inst->getSourcesMeshAtIndex(index);
  3647. return 0;
  3648. }
  3649. duk_ret_t Polycode_SceneParticleEmitter_removeSourceMeshAtIndex(duk_context *context) {
  3650. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3651. int index = duk_to_int(context, 0);
  3652. inst->removeSourceMeshAtIndex(index);
  3653. return 0;
  3654. }
  3655. duk_ret_t Polycode_SceneParticleEmitter_positionParticle(duk_context *context) {
  3656. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3657. int index = duk_to_int(context, 0);
  3658. inst->positionParticle(index);
  3659. return 0;
  3660. }
  3661. duk_ret_t Polycode_SceneParticleEmitter_Clone(duk_context *context) {
  3662. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3663. bool deepClone = duk_to_boolean(context, 0);
  3664. bool ignoreEditorOnly = duk_to_boolean(context, 1);
  3665. inst->Clone(deepClone,ignoreEditorOnly);
  3666. return 0;
  3667. }
  3668. duk_ret_t Polycode_SceneParticleEmitter_applyClone(duk_context *context) {
  3669. SceneParticleEmitter *inst = (SceneParticleEmitter*)duk_to_pointer(context, -1);
  3670. Entity* clone = (Entity*)duk_to_pointer(context, 0);
  3671. bool deepClone = duk_to_boolean(context, 1);
  3672. bool ignoreEditorOnly = duk_to_boolean(context, 2);
  3673. inst->applyClone(clone,deepClone,ignoreEditorOnly);
  3674. return 0;
  3675. }
  3676. duk_ret_t Polycode_Perlin_Get2DTiledX(duk_context *context) {
  3677. Perlin *inst = (Perlin*)duk_to_pointer(context, -1);
  3678. Number x = duk_to_number(context, 0);
  3679. Number y = duk_to_number(context, 1);
  3680. Number t = duk_to_number(context, 2);
  3681. inst->Get2DTiledX(x,y,t);
  3682. return 0;
  3683. }
  3684. duk_ret_t Polycode_Perlin_Get(duk_context *context) {
  3685. Perlin *inst = (Perlin*)duk_to_pointer(context, -1);
  3686. Number x = duk_to_number(context, 0);
  3687. Number y = duk_to_number(context, 1);
  3688. inst->Get(x,y);
  3689. return 0;
  3690. }
  3691. duk_ret_t Polycode_Perlin_Get2D(duk_context *context) {
  3692. Perlin *inst = (Perlin*)duk_to_pointer(context, -1);
  3693. Number x = duk_to_number(context, 0);
  3694. Number y = duk_to_number(context, 1);
  3695. inst->Get2D(x,y);
  3696. return 0;
  3697. }
  3698. duk_ret_t Polycode_Perlin_Get3D(duk_context *context) {
  3699. Perlin *inst = (Perlin*)duk_to_pointer(context, -1);
  3700. Number x = duk_to_number(context, 0);
  3701. Number y = duk_to_number(context, 1);
  3702. Number z = duk_to_number(context, 2);
  3703. inst->Get3D(x,y,z);
  3704. return 0;
  3705. }
  3706. duk_ret_t Polycode_Quaternion_setFromMatrix(duk_context *context) {
  3707. Quaternion *inst = (Quaternion*)duk_to_pointer(context, -1);
  3708. Matrix4 _mat = *(Matrix4*)duk_to_pointer(context, 0);
  3709. inst->setFromMatrix(_mat);
  3710. return 0;
  3711. }
  3712. duk_ret_t Polycode_Quaternion_Dot(duk_context *context) {
  3713. Quaternion *inst = (Quaternion*)duk_to_pointer(context, -1);
  3714. Quaternion rkQ = *(Quaternion*)duk_to_pointer(context, 0);
  3715. inst->Dot(rkQ);
  3716. return 0;
  3717. }
  3718. duk_ret_t Polycode_Quaternion_Log(duk_context *context) {
  3719. Quaternion *inst = (Quaternion*)duk_to_pointer(context, -1);
  3720. inst->Log();
  3721. return 0;
  3722. }
  3723. duk_ret_t Polycode_Quaternion_Exp(duk_context *context) {
  3724. Quaternion *inst = (Quaternion*)duk_to_pointer(context, -1);
  3725. inst->Exp();
  3726. return 0;
  3727. }
  3728. duk_ret_t Polycode_Quaternion_Norm(duk_context *context) {
  3729. Quaternion *inst = (Quaternion*)duk_to_pointer(context, -1);
  3730. inst->Norm();
  3731. return 0;
  3732. }
  3733. duk_ret_t Polycode_Quaternion_Normalize(duk_context *context) {
  3734. Quaternion *inst = (Quaternion*)duk_to_pointer(context, -1);
  3735. inst->Normalize();
  3736. return 0;
  3737. }
  3738. duk_ret_t Polycode_Quaternion_lookAt(duk_context *context) {
  3739. Quaternion *inst = (Quaternion*)duk_to_pointer(context, -1);
  3740. Vector3 D = *(Vector3*)duk_to_pointer(context, 0);
  3741. Vector3 upVector = *(Vector3*)duk_to_pointer(context, 1);
  3742. inst->lookAt(D,upVector);
  3743. return 0;
  3744. }
  3745. duk_ret_t Polycode_Quaternion_createFromMatrix(duk_context *context) {
  3746. Quaternion *inst = (Quaternion*)duk_to_pointer(context, -1);
  3747. Matrix4 matrix = *(Matrix4*)duk_to_pointer(context, 0);
  3748. inst->createFromMatrix(matrix);
  3749. return 0;
  3750. }
  3751. duk_ret_t Polycode_Quaternion_Inverse(duk_context *context) {
  3752. Quaternion *inst = (Quaternion*)duk_to_pointer(context, -1);
  3753. inst->Inverse();
  3754. return 0;
  3755. }
  3756. duk_ret_t Polycode_Quaternion_set(duk_context *context) {
  3757. Quaternion *inst = (Quaternion*)duk_to_pointer(context, -1);
  3758. Number w = duk_to_number(context, 0);
  3759. Number x = duk_to_number(context, 1);
  3760. Number y = duk_to_number(context, 2);
  3761. Number z = duk_to_number(context, 3);
  3762. inst->set(w,x,y,z);
  3763. return 0;
  3764. }
  3765. duk_ret_t Polycode_Quaternion_InvSqrt(duk_context *context) {
  3766. Quaternion *inst = (Quaternion*)duk_to_pointer(context, -1);
  3767. Number x = duk_to_number(context, 0);
  3768. inst->InvSqrt(x);
  3769. return 0;
  3770. }
  3771. duk_ret_t Polycode_Quaternion_fromAxes(duk_context *context) {
  3772. Quaternion *inst = (Quaternion*)duk_to_pointer(context, -1);
  3773. Number az = duk_to_number(context, 0);
  3774. Number ay = duk_to_number(context, 1);
  3775. Number ax = duk_to_number(context, 2);
  3776. inst->fromAxes(az,ay,ax);
  3777. return 0;
  3778. }
  3779. duk_ret_t Polycode_Quaternion_fromAngleAxis(duk_context *context) {
  3780. Quaternion *inst = (Quaternion*)duk_to_pointer(context, -1);
  3781. Number rfAngle = duk_to_number(context, 0);
  3782. Vector3 rkAxis = *(Vector3*)duk_to_pointer(context, 1);
  3783. inst->fromAngleAxis(rfAngle,rkAxis);
  3784. return 0;
  3785. }
  3786. duk_ret_t Polycode_Quaternion_toEulerAngles(duk_context *context) {
  3787. Quaternion *inst = (Quaternion*)duk_to_pointer(context, -1);
  3788. inst->toEulerAngles();
  3789. return 0;
  3790. }
  3791. duk_ret_t Polycode_Quaternion_toAngleAxis(duk_context *context) {
  3792. Quaternion *inst = (Quaternion*)duk_to_pointer(context, -1);
  3793. Number rfAngle = duk_to_number(context, 0);
  3794. Vector3 rkAxis = *(Vector3*)duk_to_pointer(context, 1);
  3795. inst->toAngleAxis(rfAngle,rkAxis);
  3796. return 0;
  3797. }
  3798. duk_ret_t Polycode_Quaternion_createFromAxisAngle(duk_context *context) {
  3799. Quaternion *inst = (Quaternion*)duk_to_pointer(context, -1);
  3800. Number x = duk_to_number(context, 0);
  3801. Number y = duk_to_number(context, 1);
  3802. Number z = duk_to_number(context, 2);
  3803. Number degrees = duk_to_number(context, 3);
  3804. inst->createFromAxisAngle(x,y,z,degrees);
  3805. return 0;
  3806. }
  3807. duk_ret_t Polycode_Quaternion_createMatrix(duk_context *context) {
  3808. Quaternion *inst = (Quaternion*)duk_to_pointer(context, -1);
  3809. inst->createMatrix();
  3810. return 0;
  3811. }
  3812. duk_ret_t Polycode_Quaternion_applyTo(duk_context *context) {
  3813. Quaternion *inst = (Quaternion*)duk_to_pointer(context, -1);
  3814. Vector3 v = *(Vector3*)duk_to_pointer(context, 0);
  3815. inst->applyTo(v);
  3816. return 0;
  3817. }
  3818. duk_ret_t Polycode_QuaternionCurve_interpolate(duk_context *context) {
  3819. QuaternionCurve *inst = (QuaternionCurve*)duk_to_pointer(context, -1);
  3820. Number t = duk_to_number(context, 0);
  3821. bool useShortestPath = duk_to_boolean(context, 1);
  3822. inst->interpolate(t,useShortestPath);
  3823. return 0;
  3824. }
  3825. duk_ret_t Polycode_QuaternionCurve_generatePointsFromCurves(duk_context *context) {
  3826. QuaternionCurve *inst = (QuaternionCurve*)duk_to_pointer(context, -1);
  3827. BezierCurve* wCurve = (BezierCurve*)duk_to_pointer(context, 0);
  3828. BezierCurve* xCurve = (BezierCurve*)duk_to_pointer(context, 1);
  3829. BezierCurve* yCurve = (BezierCurve*)duk_to_pointer(context, 2);
  3830. BezierCurve* zCurve = (BezierCurve*)duk_to_pointer(context, 3);
  3831. inst->generatePointsFromCurves(wCurve,xCurve,yCurve,zCurve);
  3832. return 0;
  3833. }
  3834. duk_ret_t Polycode_Ray_boxIntersect(duk_context *context) {
  3835. Ray *inst = (Ray*)duk_to_pointer(context, -1);
  3836. Vector3 box = *(Vector3*)duk_to_pointer(context, 0);
  3837. Matrix4 transformMatrix = *(Matrix4*)duk_to_pointer(context, 1);
  3838. Number near = duk_to_number(context, 2);
  3839. Number far = duk_to_number(context, 3);
  3840. inst->boxIntersect(box,transformMatrix,near,far);
  3841. return 0;
  3842. }
  3843. duk_ret_t Polycode_Ray_planeIntersectPoint(duk_context *context) {
  3844. Ray *inst = (Ray*)duk_to_pointer(context, -1);
  3845. Vector3 planeNormal = *(Vector3*)duk_to_pointer(context, 0);
  3846. Number planeDistance = duk_to_number(context, 1);
  3847. inst->planeIntersectPoint(planeNormal,planeDistance);
  3848. return 0;
  3849. }
  3850. duk_ret_t Polycode_Ray_tranformByMatrix(duk_context *context) {
  3851. Ray *inst = (Ray*)duk_to_pointer(context, -1);
  3852. Matrix4 matrix = *(Matrix4*)duk_to_pointer(context, 0);
  3853. inst->tranformByMatrix(matrix);
  3854. return 0;
  3855. }
  3856. duk_ret_t Polycode_Ray_closestPointOnRay(duk_context *context) {
  3857. Ray *inst = (Ray*)duk_to_pointer(context, -1);
  3858. Vector3 point = *(Vector3*)duk_to_pointer(context, 0);
  3859. inst->closestPointOnRay(point);
  3860. return 0;
  3861. }
  3862. duk_ret_t Polycode_Ray_closestPointsBetween(duk_context *context) {
  3863. Ray *inst = (Ray*)duk_to_pointer(context, -1);
  3864. Ray ray2 = *(Ray*)duk_to_pointer(context, 0);
  3865. Vector3* point1 = (Vector3*)duk_to_pointer(context, 1);
  3866. Vector3* point2 = (Vector3*)duk_to_pointer(context, 2);
  3867. inst->closestPointsBetween(ray2,point1,point2);
  3868. return 0;
  3869. }
  3870. duk_ret_t Polycode_Ray_polygonIntersect(duk_context *context) {
  3871. Ray *inst = (Ray*)duk_to_pointer(context, -1);
  3872. Vector3 v1 = *(Vector3*)duk_to_pointer(context, 0);
  3873. Vector3 v2 = *(Vector3*)duk_to_pointer(context, 1);
  3874. Vector3 v3 = *(Vector3*)duk_to_pointer(context, 2);
  3875. inst->polygonIntersect(v1,v2,v3);
  3876. return 0;
  3877. }
  3878. duk_ret_t Polycode_Rectangle_setRect(duk_context *context) {
  3879. Rectangle *inst = (Rectangle*)duk_to_pointer(context, -1);
  3880. Number x = duk_to_number(context, 0);
  3881. Number y = duk_to_number(context, 1);
  3882. Number w = duk_to_number(context, 2);
  3883. Number h = duk_to_number(context, 3);
  3884. inst->setRect(x,y,w,h);
  3885. return 0;
  3886. }
  3887. duk_ret_t Polycode_Rectangle_Clipped(duk_context *context) {
  3888. Rectangle *inst = (Rectangle*)duk_to_pointer(context, -1);
  3889. Rectangle rect = *(Rectangle*)duk_to_pointer(context, 0);
  3890. inst->Clipped(rect);
  3891. return 0;
  3892. }
  3893. duk_ret_t Polycode_Rectangle_minX(duk_context *context) {
  3894. Rectangle *inst = (Rectangle*)duk_to_pointer(context, -1);
  3895. inst->minX();
  3896. return 0;
  3897. }
  3898. duk_ret_t Polycode_Rectangle_maxX(duk_context *context) {
  3899. Rectangle *inst = (Rectangle*)duk_to_pointer(context, -1);
  3900. inst->maxX();
  3901. return 0;
  3902. }
  3903. duk_ret_t Polycode_Rectangle_minY(duk_context *context) {
  3904. Rectangle *inst = (Rectangle*)duk_to_pointer(context, -1);
  3905. inst->minY();
  3906. return 0;
  3907. }
  3908. duk_ret_t Polycode_Rectangle_maxY(duk_context *context) {
  3909. Rectangle *inst = (Rectangle*)duk_to_pointer(context, -1);
  3910. inst->maxY();
  3911. return 0;
  3912. }
  3913. duk_ret_t Polycode_RenderDataArray_getArrayData(duk_context *context) {
  3914. RenderDataArray *inst = (RenderDataArray*)duk_to_pointer(context, -1);
  3915. inst->getArrayData();
  3916. return 0;
  3917. }
  3918. duk_ret_t Polycode_RenderDataArray_getDataSize(duk_context *context) {
  3919. RenderDataArray *inst = (RenderDataArray*)duk_to_pointer(context, -1);
  3920. inst->getDataSize();
  3921. return 0;
  3922. }
  3923. duk_ret_t Polycode_VertexDataArray_getCountPerVertex(duk_context *context) {
  3924. VertexDataArray *inst = (VertexDataArray*)duk_to_pointer(context, -1);
  3925. inst->getCountPerVertex();
  3926. return 0;
  3927. }
  3928. duk_ret_t Polycode_VertexDataArray_getArrayData(duk_context *context) {
  3929. VertexDataArray *inst = (VertexDataArray*)duk_to_pointer(context, -1);
  3930. inst->getArrayData();
  3931. return 0;
  3932. }
  3933. duk_ret_t Polycode_VertexDataArray_getDataSize(duk_context *context) {
  3934. VertexDataArray *inst = (VertexDataArray*)duk_to_pointer(context, -1);
  3935. inst->getDataSize();
  3936. return 0;
  3937. }
  3938. duk_ret_t Polycode_IndexDataArray_getArrayData(duk_context *context) {
  3939. IndexDataArray *inst = (IndexDataArray*)duk_to_pointer(context, -1);
  3940. inst->getArrayData();
  3941. return 0;
  3942. }
  3943. duk_ret_t Polycode_IndexDataArray_getDataSize(duk_context *context) {
  3944. IndexDataArray *inst = (IndexDataArray*)duk_to_pointer(context, -1);
  3945. inst->getDataSize();
  3946. return 0;
  3947. }
  3948. duk_ret_t Polycode_RenderThread_setGraphicsInterface(duk_context *context) {
  3949. RenderThread *inst = (RenderThread*)duk_to_pointer(context, -1);
  3950. Core* core = (Core*)duk_to_pointer(context, 0);
  3951. GraphicsInterface* graphicsInterface = (GraphicsInterface*)duk_to_pointer(context, 1);
  3952. inst->setGraphicsInterface(core,graphicsInterface);
  3953. return 0;
  3954. }
  3955. duk_ret_t Polycode_RenderThread_runThread(duk_context *context) {
  3956. RenderThread *inst = (RenderThread*)duk_to_pointer(context, -1);
  3957. inst->runThread();
  3958. return 0;
  3959. }
  3960. duk_ret_t Polycode_RenderThread_enqueueFrame(duk_context *context) {
  3961. RenderThread *inst = (RenderThread*)duk_to_pointer(context, -1);
  3962. RenderFrame* frame = (RenderFrame*)duk_to_pointer(context, 0);
  3963. inst->enqueueFrame(frame);
  3964. return 0;
  3965. }
  3966. duk_ret_t Polycode_RenderThread_enqueueJob(duk_context *context) {
  3967. RenderThread *inst = (RenderThread*)duk_to_pointer(context, -1);
  3968. int jobType = duk_to_int(context, 0);
  3969. void* data = (void*)duk_to_pointer(context, 1);
  3970. void* data2 = (void*)duk_to_pointer(context, 2);
  3971. inst->enqueueJob(jobType,data,data2);
  3972. return 0;
  3973. }
  3974. duk_ret_t Polycode_RenderThread_processJob(duk_context *context) {
  3975. RenderThread *inst = (RenderThread*)duk_to_pointer(context, -1);
  3976. RendererThreadJob job = *(RendererThreadJob*)duk_to_pointer(context, 0);
  3977. inst->processJob(job);
  3978. return 0;
  3979. }
  3980. duk_ret_t Polycode_RenderThread_getShaderBinding(duk_context *context) {
  3981. RenderThread *inst = (RenderThread*)duk_to_pointer(context, -1);
  3982. inst->getShaderBinding();
  3983. return 0;
  3984. }
  3985. duk_ret_t Polycode_RenderThread_processDrawBuffer(duk_context *context) {
  3986. RenderThread *inst = (RenderThread*)duk_to_pointer(context, -1);
  3987. GPUDrawBuffer* buffer = (GPUDrawBuffer*)duk_to_pointer(context, 0);
  3988. inst->processDrawBuffer(buffer);
  3989. return 0;
  3990. }
  3991. duk_ret_t Polycode_RenderThread_getFrameInfo(duk_context *context) {
  3992. RenderThread *inst = (RenderThread*)duk_to_pointer(context, -1);
  3993. inst->getFrameInfo();
  3994. return 0;
  3995. }
  3996. duk_ret_t Polycode_RenderThread_clearFrameQueue(duk_context *context) {
  3997. RenderThread *inst = (RenderThread*)duk_to_pointer(context, -1);
  3998. inst->clearFrameQueue();
  3999. return 0;
  4000. }
  4001. duk_ret_t Polycode_RenderThread_initGlobals(duk_context *context) {
  4002. RenderThread *inst = (RenderThread*)duk_to_pointer(context, -1);
  4003. inst->initGlobals();
  4004. return 0;
  4005. }
  4006. duk_ret_t Polycode_RenderThread_lockRenderMutex(duk_context *context) {
  4007. RenderThread *inst = (RenderThread*)duk_to_pointer(context, -1);
  4008. inst->lockRenderMutex();
  4009. return 0;
  4010. }
  4011. duk_ret_t Polycode_RenderThread_unlockRenderMutex(duk_context *context) {
  4012. RenderThread *inst = (RenderThread*)duk_to_pointer(context, -1);
  4013. inst->unlockRenderMutex();
  4014. return 0;
  4015. }
  4016. duk_ret_t Polycode_Renderer_setGraphicsInterface(duk_context *context) {
  4017. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4018. Core* core = (Core*)duk_to_pointer(context, 0);
  4019. GraphicsInterface* graphicsInterface = (GraphicsInterface*)duk_to_pointer(context, 1);
  4020. inst->setGraphicsInterface(core,graphicsInterface);
  4021. return 0;
  4022. }
  4023. duk_ret_t Polycode_Renderer_getRenderThread(duk_context *context) {
  4024. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4025. inst->getRenderThread();
  4026. return 0;
  4027. }
  4028. duk_ret_t Polycode_Renderer_createCubemap(duk_context *context) {
  4029. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4030. Texture* t0 = (Texture*)duk_to_pointer(context, 0);
  4031. Texture* t1 = (Texture*)duk_to_pointer(context, 1);
  4032. Texture* t2 = (Texture*)duk_to_pointer(context, 2);
  4033. Texture* t3 = (Texture*)duk_to_pointer(context, 3);
  4034. Texture* t4 = (Texture*)duk_to_pointer(context, 4);
  4035. Texture* t5 = (Texture*)duk_to_pointer(context, 5);
  4036. inst->createCubemap(t0,t1,t2,t3,t4,t5);
  4037. return 0;
  4038. }
  4039. duk_ret_t Polycode_Renderer_createTexture(duk_context *context) {
  4040. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4041. int width = duk_to_int(context, 0);
  4042. int height = duk_to_int(context, 1);
  4043. char* textureData = (char*)duk_to_pointer(context, 2);
  4044. bool clamp = duk_to_boolean(context, 3);
  4045. bool createMipmaps = duk_to_boolean(context, 4);
  4046. int type = duk_to_int(context, 5);
  4047. int filteringMode = duk_to_int(context, 6);
  4048. int anisotropy = duk_to_int(context, 7);
  4049. bool framebufferTexture = duk_to_boolean(context, 8);
  4050. inst->createTexture(width,height,textureData,clamp,createMipmaps,type,filteringMode,anisotropy,framebufferTexture);
  4051. return 0;
  4052. }
  4053. duk_ret_t Polycode_Renderer_createRenderBuffer(duk_context *context) {
  4054. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4055. int width = duk_to_int(context, 0);
  4056. int height = duk_to_int(context, 1);
  4057. bool attachDepthBuffer = duk_to_boolean(context, 2);
  4058. bool floatingPoint = duk_to_boolean(context, 3);
  4059. inst->createRenderBuffer(width,height,attachDepthBuffer,floatingPoint);
  4060. return 0;
  4061. }
  4062. duk_ret_t Polycode_Renderer_destroyRenderBuffer(duk_context *context) {
  4063. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4064. RenderBuffer* buffer = (RenderBuffer*)duk_to_pointer(context, 0);
  4065. inst->destroyRenderBuffer(buffer);
  4066. return 0;
  4067. }
  4068. duk_ret_t Polycode_Renderer_destroyTexture(duk_context *context) {
  4069. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4070. Texture* texture = (Texture*)duk_to_pointer(context, 0);
  4071. inst->destroyTexture(texture);
  4072. return 0;
  4073. }
  4074. duk_ret_t Polycode_Renderer_processDrawBuffer(duk_context *context) {
  4075. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4076. GPUDrawBuffer* buffer = (GPUDrawBuffer*)duk_to_pointer(context, 0);
  4077. inst->processDrawBuffer(buffer);
  4078. return 0;
  4079. }
  4080. duk_ret_t Polycode_Renderer_setBackingResolutionScale(duk_context *context) {
  4081. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4082. Number xScale = duk_to_number(context, 0);
  4083. Number yScale = duk_to_number(context, 1);
  4084. inst->setBackingResolutionScale(xScale,yScale);
  4085. return 0;
  4086. }
  4087. duk_ret_t Polycode_Renderer_getBackingResolutionScaleX(duk_context *context) {
  4088. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4089. inst->getBackingResolutionScaleX();
  4090. return 0;
  4091. }
  4092. duk_ret_t Polycode_Renderer_getBackingResolutionScaleY(duk_context *context) {
  4093. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4094. inst->getBackingResolutionScaleY();
  4095. return 0;
  4096. }
  4097. duk_ret_t Polycode_Renderer_createProgram(duk_context *context) {
  4098. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4099. String fileName = duk_to_string(context, 0);
  4100. inst->createProgram(fileName);
  4101. return 0;
  4102. }
  4103. duk_ret_t Polycode_Renderer_createShader(duk_context *context) {
  4104. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4105. ShaderProgram* vertexProgram = (ShaderProgram*)duk_to_pointer(context, 0);
  4106. ShaderProgram* fragmentProgram = (ShaderProgram*)duk_to_pointer(context, 1);
  4107. inst->createShader(vertexProgram,fragmentProgram);
  4108. return 0;
  4109. }
  4110. duk_ret_t Polycode_Renderer_createVertexBuffers(duk_context *context) {
  4111. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4112. Mesh* mesh = (Mesh*)duk_to_pointer(context, 0);
  4113. inst->createVertexBuffers(mesh);
  4114. return 0;
  4115. }
  4116. duk_ret_t Polycode_Renderer_enqueueFrameJob(duk_context *context) {
  4117. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4118. int jobType = duk_to_int(context, 0);
  4119. void* data = (void*)duk_to_pointer(context, 1);
  4120. inst->enqueueFrameJob(jobType,data);
  4121. return 0;
  4122. }
  4123. duk_ret_t Polycode_Renderer_destroyProgram(duk_context *context) {
  4124. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4125. ShaderProgram* program = (ShaderProgram*)duk_to_pointer(context, 0);
  4126. inst->destroyProgram(program);
  4127. return 0;
  4128. }
  4129. duk_ret_t Polycode_Renderer_destroyShader(duk_context *context) {
  4130. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4131. Shader* shader = (Shader*)duk_to_pointer(context, 0);
  4132. inst->destroyShader(shader);
  4133. return 0;
  4134. }
  4135. duk_ret_t Polycode_Renderer_destroyBuffer(duk_context *context) {
  4136. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4137. RenderDataArray* array = (RenderDataArray*)duk_to_pointer(context, 0);
  4138. inst->destroyBuffer(array);
  4139. return 0;
  4140. }
  4141. duk_ret_t Polycode_Renderer_destroyShaderBinding(duk_context *context) {
  4142. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4143. ShaderBinding* binding = (ShaderBinding*)duk_to_pointer(context, 0);
  4144. inst->destroyShaderBinding(binding);
  4145. return 0;
  4146. }
  4147. duk_ret_t Polycode_Renderer_destroyShaderParam(duk_context *context) {
  4148. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4149. LocalShaderParam* param = (LocalShaderParam*)duk_to_pointer(context, 0);
  4150. inst->destroyShaderParam(param);
  4151. return 0;
  4152. }
  4153. duk_ret_t Polycode_Renderer_setTextureParam(duk_context *context) {
  4154. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4155. LocalShaderParam* param = (LocalShaderParam*)duk_to_pointer(context, 0);
  4156. Texture* texture = (Texture*)duk_to_pointer(context, 1);
  4157. inst->setTextureParam(param,texture);
  4158. return 0;
  4159. }
  4160. duk_ret_t Polycode_Renderer_setAnisotropyAmount(duk_context *context) {
  4161. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4162. Number amount = duk_to_number(context, 0);
  4163. inst->setAnisotropyAmount(amount);
  4164. return 0;
  4165. }
  4166. duk_ret_t Polycode_Renderer_getAnisotropyAmount(duk_context *context) {
  4167. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4168. inst->getAnisotropyAmount();
  4169. return 0;
  4170. }
  4171. duk_ret_t Polycode_Renderer_createMesh(duk_context *context) {
  4172. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4173. String fileName = duk_to_string(context, 0);
  4174. inst->createMesh(fileName);
  4175. return 0;
  4176. }
  4177. duk_ret_t Polycode_Renderer_destroyMesh(duk_context *context) {
  4178. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4179. Mesh* mesh = (Mesh*)duk_to_pointer(context, 0);
  4180. inst->destroyMesh(mesh);
  4181. return 0;
  4182. }
  4183. duk_ret_t Polycode_Renderer_beginFrame(duk_context *context) {
  4184. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4185. inst->beginFrame();
  4186. return 0;
  4187. }
  4188. duk_ret_t Polycode_Renderer_endFrame(duk_context *context) {
  4189. Renderer *inst = (Renderer*)duk_to_pointer(context, -1);
  4190. inst->endFrame();
  4191. return 0;
  4192. }
  4193. duk_ret_t Polycode_Resource_reloadResource(duk_context *context) {
  4194. Resource *inst = (Resource*)duk_to_pointer(context, -1);
  4195. inst->reloadResource();
  4196. return 0;
  4197. }
  4198. duk_ret_t Polycode_Resource_getResourceName(duk_context *context) {
  4199. Resource *inst = (Resource*)duk_to_pointer(context, -1);
  4200. inst->getResourceName();
  4201. return 0;
  4202. }
  4203. duk_ret_t Polycode_Resource_getResourceType(duk_context *context) {
  4204. Resource *inst = (Resource*)duk_to_pointer(context, -1);
  4205. inst->getResourceType();
  4206. return 0;
  4207. }
  4208. duk_ret_t Polycode_Resource_setResourceName(duk_context *context) {
  4209. Resource *inst = (Resource*)duk_to_pointer(context, -1);
  4210. String newName = duk_to_string(context, 0);
  4211. inst->setResourceName(newName);
  4212. return 0;
  4213. }
  4214. duk_ret_t Polycode_Resource_setResourcePath(duk_context *context) {
  4215. Resource *inst = (Resource*)duk_to_pointer(context, -1);
  4216. String path = duk_to_string(context, 0);
  4217. inst->setResourcePath(path);
  4218. return 0;
  4219. }
  4220. duk_ret_t Polycode_Resource_getResourcePath(duk_context *context) {
  4221. Resource *inst = (Resource*)duk_to_pointer(context, -1);
  4222. inst->getResourcePath();
  4223. return 0;
  4224. }
  4225. duk_ret_t Polycode_ScriptResourceLoader_loadResource(duk_context *context) {
  4226. ScriptResourceLoader *inst = (ScriptResourceLoader*)duk_to_pointer(context, -1);
  4227. String path = duk_to_string(context, 0);
  4228. ResourcePool* targetPool = (ResourcePool*)duk_to_pointer(context, 1);
  4229. inst->loadResource(path,targetPool);
  4230. return 0;
  4231. }
  4232. duk_ret_t Polycode_ResourcePool_setFallbackPool(duk_context *context) {
  4233. ResourcePool *inst = (ResourcePool*)duk_to_pointer(context, -1);
  4234. ResourcePool* pool = (ResourcePool*)duk_to_pointer(context, 0);
  4235. inst->setFallbackPool(pool);
  4236. return 0;
  4237. }
  4238. duk_ret_t Polycode_ResourcePool_addResource(duk_context *context) {
  4239. ResourcePool *inst = (ResourcePool*)duk_to_pointer(context, -1);
  4240. Resource* resource = (Resource*)duk_to_pointer(context, 0);
  4241. inst->addResource(resource);
  4242. return 0;
  4243. }
  4244. duk_ret_t Polycode_ResourcePool_removeResource(duk_context *context) {
  4245. ResourcePool *inst = (ResourcePool*)duk_to_pointer(context, -1);
  4246. Resource* resource = (Resource*)duk_to_pointer(context, 0);
  4247. inst->removeResource(resource);
  4248. return 0;
  4249. }
  4250. duk_ret_t Polycode_ResourcePool_hasResource(duk_context *context) {
  4251. ResourcePool *inst = (ResourcePool*)duk_to_pointer(context, -1);
  4252. Resource* resource = (Resource*)duk_to_pointer(context, 0);
  4253. inst->hasResource(resource);
  4254. return 0;
  4255. }
  4256. duk_ret_t Polycode_ResourcePool_loadResourcesFromFolder(duk_context *context) {
  4257. ResourcePool *inst = (ResourcePool*)duk_to_pointer(context, -1);
  4258. String folder = duk_to_string(context, 0);
  4259. bool recursive = duk_to_boolean(context, 1);
  4260. inst->loadResourcesFromFolder(folder,recursive);
  4261. return 0;
  4262. }
  4263. duk_ret_t Polycode_ResourcePool_loadResource(duk_context *context) {
  4264. ResourcePool *inst = (ResourcePool*)duk_to_pointer(context, -1);
  4265. String path = duk_to_string(context, 0);
  4266. inst->loadResource(path);
  4267. return 0;
  4268. }
  4269. duk_ret_t Polycode_ResourcePool_loadResourceWithName(duk_context *context) {
  4270. ResourcePool *inst = (ResourcePool*)duk_to_pointer(context, -1);
  4271. String path = duk_to_string(context, 0);
  4272. String name = duk_to_string(context, 1);
  4273. inst->loadResourceWithName(path,name);
  4274. return 0;
  4275. }
  4276. duk_ret_t Polycode_ResourcePool_getResource(duk_context *context) {
  4277. ResourcePool *inst = (ResourcePool*)duk_to_pointer(context, -1);
  4278. int resourceType = duk_to_int(context, 0);
  4279. String resourceName = duk_to_string(context, 1);
  4280. inst->getResource(resourceType,resourceName);
  4281. return 0;
  4282. }
  4283. duk_ret_t Polycode_ResourcePool_getName(duk_context *context) {
  4284. ResourcePool *inst = (ResourcePool*)duk_to_pointer(context, -1);
  4285. inst->getName();
  4286. return 0;
  4287. }
  4288. duk_ret_t Polycode_ResourcePool_setName(duk_context *context) {
  4289. ResourcePool *inst = (ResourcePool*)duk_to_pointer(context, -1);
  4290. String name = duk_to_string(context, 0);
  4291. inst->setName(name);
  4292. return 0;
  4293. }
  4294. duk_ret_t Polycode_ResourcePool_getResourceByPath(duk_context *context) {
  4295. ResourcePool *inst = (ResourcePool*)duk_to_pointer(context, -1);
  4296. String resourcePath = duk_to_string(context, 0);
  4297. inst->getResourceByPath(resourcePath);
  4298. return 0;
  4299. }
  4300. duk_ret_t Polycode_ResourcePool_Update(duk_context *context) {
  4301. ResourcePool *inst = (ResourcePool*)duk_to_pointer(context, -1);
  4302. int elapsed = duk_to_int(context, 0);
  4303. inst->Update(elapsed);
  4304. return 0;
  4305. }
  4306. duk_ret_t Polycode_ResourcePool_getResources(duk_context *context) {
  4307. ResourcePool *inst = (ResourcePool*)duk_to_pointer(context, -1);
  4308. int resourceType = duk_to_int(context, 0);
  4309. inst->getResources(resourceType);
  4310. return 0;
  4311. }
  4312. duk_ret_t Polycode_ResourcePool_checkForChangedFiles(duk_context *context) {
  4313. ResourcePool *inst = (ResourcePool*)duk_to_pointer(context, -1);
  4314. inst->checkForChangedFiles();
  4315. return 0;
  4316. }
  4317. duk_ret_t Polycode_ResourceManager_getGlobalPool(duk_context *context) {
  4318. ResourceManager *inst = (ResourceManager*)duk_to_pointer(context, -1);
  4319. inst->getGlobalPool();
  4320. return 0;
  4321. }
  4322. duk_ret_t Polycode_ResourceManager_getResourcePoolByName(duk_context *context) {
  4323. ResourceManager *inst = (ResourceManager*)duk_to_pointer(context, -1);
  4324. String name = duk_to_string(context, 0);
  4325. inst->getResourcePoolByName(name);
  4326. return 0;
  4327. }
  4328. duk_ret_t Polycode_ResourceManager_addResourceLoader(duk_context *context) {
  4329. ResourceManager *inst = (ResourceManager*)duk_to_pointer(context, -1);
  4330. ResourceLoader* loader = (ResourceLoader*)duk_to_pointer(context, 0);
  4331. inst->addResourceLoader(loader);
  4332. return 0;
  4333. }
  4334. duk_ret_t Polycode_ResourceManager_getResourceLoaderForExtension(duk_context *context) {
  4335. ResourceManager *inst = (ResourceManager*)duk_to_pointer(context, -1);
  4336. String extension = duk_to_string(context, 0);
  4337. inst->getResourceLoaderForExtension(extension);
  4338. return 0;
  4339. }
  4340. duk_ret_t Polycode_ResourceManager_removeResourceLoader(duk_context *context) {
  4341. ResourceManager *inst = (ResourceManager*)duk_to_pointer(context, -1);
  4342. ResourceLoader* loader = (ResourceLoader*)duk_to_pointer(context, 0);
  4343. inst->removeResourceLoader(loader);
  4344. return 0;
  4345. }
  4346. duk_ret_t Polycode_ResourceManager_getNumResourceLoaders(duk_context *context) {
  4347. ResourceManager *inst = (ResourceManager*)duk_to_pointer(context, -1);
  4348. inst->getNumResourceLoaders();
  4349. return 0;
  4350. }
  4351. duk_ret_t Polycode_ResourceManager_getResourceLoaderAtIndex(duk_context *context) {
  4352. ResourceManager *inst = (ResourceManager*)duk_to_pointer(context, -1);
  4353. int index = duk_to_int(context, 0);
  4354. inst->getResourceLoaderAtIndex(index);
  4355. return 0;
  4356. }
  4357. duk_ret_t Polycode_ResourceManager_addResourcePool(duk_context *context) {
  4358. ResourceManager *inst = (ResourceManager*)duk_to_pointer(context, -1);
  4359. ResourcePool* pool = (ResourcePool*)duk_to_pointer(context, 0);
  4360. inst->addResourcePool(pool);
  4361. return 0;
  4362. }
  4363. duk_ret_t Polycode_ResourceManager_removeResourcePool(duk_context *context) {
  4364. ResourceManager *inst = (ResourceManager*)duk_to_pointer(context, -1);
  4365. ResourcePool* pool = (ResourcePool*)duk_to_pointer(context, 0);
  4366. inst->removeResourcePool(pool);
  4367. return 0;
  4368. }
  4369. duk_ret_t Polycode_ResourceManager_getResources(duk_context *context) {
  4370. ResourceManager *inst = (ResourceManager*)duk_to_pointer(context, -1);
  4371. int resourceType = duk_to_int(context, 0);
  4372. inst->getResources(resourceType);
  4373. return 0;
  4374. }
  4375. duk_ret_t Polycode_ResourceManager_removeResource(duk_context *context) {
  4376. ResourceManager *inst = (ResourceManager*)duk_to_pointer(context, -1);
  4377. Resource* resource = (Resource*)duk_to_pointer(context, 0);
  4378. inst->removeResource(resource);
  4379. return 0;
  4380. }
  4381. duk_ret_t Polycode_ResourceManager_subscribeToResourcePool(duk_context *context) {
  4382. ResourceManager *inst = (ResourceManager*)duk_to_pointer(context, -1);
  4383. ResourcePool* pool = (ResourcePool*)duk_to_pointer(context, 0);
  4384. inst->subscribeToResourcePool(pool);
  4385. return 0;
  4386. }
  4387. duk_ret_t Polycode_ResourceManager_unsubscibeFromResourcePool(duk_context *context) {
  4388. ResourceManager *inst = (ResourceManager*)duk_to_pointer(context, -1);
  4389. ResourcePool* pool = (ResourcePool*)duk_to_pointer(context, 0);
  4390. inst->unsubscibeFromResourcePool(pool);
  4391. return 0;
  4392. }
  4393. duk_ret_t Polycode_ResourceManager_Update(duk_context *context) {
  4394. ResourceManager *inst = (ResourceManager*)duk_to_pointer(context, -1);
  4395. int elapsed = duk_to_int(context, 0);
  4396. inst->Update(elapsed);
  4397. return 0;
  4398. }
  4399. duk_ret_t Polycode_FontResourceLoader_loadResource(duk_context *context) {
  4400. FontResourceLoader *inst = (FontResourceLoader*)duk_to_pointer(context, -1);
  4401. String path = duk_to_string(context, 0);
  4402. ResourcePool* targetPool = (ResourcePool*)duk_to_pointer(context, 1);
  4403. inst->loadResource(path,targetPool);
  4404. return 0;
  4405. }
  4406. duk_ret_t Polycode_ProgramResourceLoader_loadResource(duk_context *context) {
  4407. ProgramResourceLoader *inst = (ProgramResourceLoader*)duk_to_pointer(context, -1);
  4408. String path = duk_to_string(context, 0);
  4409. ResourcePool* targetPool = (ResourcePool*)duk_to_pointer(context, 1);
  4410. inst->loadResource(path,targetPool);
  4411. return 0;
  4412. }
  4413. duk_ret_t Polycode_MeshResourceLoader_loadResource(duk_context *context) {
  4414. MeshResourceLoader *inst = (MeshResourceLoader*)duk_to_pointer(context, -1);
  4415. String path = duk_to_string(context, 0);
  4416. ResourcePool* targetPool = (ResourcePool*)duk_to_pointer(context, 1);
  4417. inst->loadResource(path,targetPool);
  4418. return 0;
  4419. }
  4420. duk_ret_t Polycode_MaterialResourceLoader_loadResource(duk_context *context) {
  4421. MaterialResourceLoader *inst = (MaterialResourceLoader*)duk_to_pointer(context, -1);
  4422. String path = duk_to_string(context, 0);
  4423. ResourcePool* targetPool = (ResourcePool*)duk_to_pointer(context, 1);
  4424. inst->loadResource(path,targetPool);
  4425. return 0;
  4426. }
  4427. duk_ret_t Polycode_TextureResourceLoader_loadResource(duk_context *context) {
  4428. TextureResourceLoader *inst = (TextureResourceLoader*)duk_to_pointer(context, -1);
  4429. String path = duk_to_string(context, 0);
  4430. ResourcePool* targetPool = (ResourcePool*)duk_to_pointer(context, 1);
  4431. inst->loadResource(path,targetPool);
  4432. return 0;
  4433. }
  4434. duk_ret_t Polycode_Scene_addEntity(duk_context *context) {
  4435. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4436. Entity* entity = (Entity*)duk_to_pointer(context, 0);
  4437. inst->addEntity(entity);
  4438. return 0;
  4439. }
  4440. duk_ret_t Polycode_Scene_addChild(duk_context *context) {
  4441. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4442. Entity* entity = (Entity*)duk_to_pointer(context, 0);
  4443. inst->addChild(entity);
  4444. return 0;
  4445. }
  4446. duk_ret_t Polycode_Scene_removeEntity(duk_context *context) {
  4447. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4448. Entity* entity = (Entity*)duk_to_pointer(context, 0);
  4449. inst->removeEntity(entity);
  4450. return 0;
  4451. }
  4452. duk_ret_t Polycode_Scene_getDefaultCamera(duk_context *context) {
  4453. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4454. inst->getDefaultCamera();
  4455. return 0;
  4456. }
  4457. duk_ret_t Polycode_Scene_getActiveCamera(duk_context *context) {
  4458. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4459. inst->getActiveCamera();
  4460. return 0;
  4461. }
  4462. duk_ret_t Polycode_Scene_setActiveCamera(duk_context *context) {
  4463. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4464. Camera* camera = (Camera*)duk_to_pointer(context, 0);
  4465. inst->setActiveCamera(camera);
  4466. return 0;
  4467. }
  4468. duk_ret_t Polycode_Scene_enableFog(duk_context *context) {
  4469. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4470. bool enable = duk_to_boolean(context, 0);
  4471. inst->enableFog(enable);
  4472. return 0;
  4473. }
  4474. duk_ret_t Polycode_Scene_setFogProperties(duk_context *context) {
  4475. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4476. int fogMode = duk_to_int(context, 0);
  4477. Color color = *(Color*)duk_to_pointer(context, 1);
  4478. Number density = duk_to_number(context, 2);
  4479. Number startDepth = duk_to_number(context, 3);
  4480. Number endDepth = duk_to_number(context, 4);
  4481. inst->setFogProperties(fogMode,color,density,startDepth,endDepth);
  4482. return 0;
  4483. }
  4484. duk_ret_t Polycode_Scene_setSceneType(duk_context *context) {
  4485. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4486. int newType = duk_to_int(context, 0);
  4487. inst->setSceneType(newType);
  4488. return 0;
  4489. }
  4490. duk_ret_t Polycode_Scene_fixedUpdate(duk_context *context) {
  4491. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4492. inst->fixedUpdate();
  4493. return 0;
  4494. }
  4495. duk_ret_t Polycode_Scene_Update(duk_context *context) {
  4496. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4497. inst->Update();
  4498. return 0;
  4499. }
  4500. duk_ret_t Polycode_Scene_setVirtual(duk_context *context) {
  4501. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4502. bool val = duk_to_boolean(context, 0);
  4503. inst->setVirtual(val);
  4504. return 0;
  4505. }
  4506. duk_ret_t Polycode_Scene_isVirtual(duk_context *context) {
  4507. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4508. inst->isVirtual();
  4509. return 0;
  4510. }
  4511. duk_ret_t Polycode_Scene_isEnabled(duk_context *context) {
  4512. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4513. inst->isEnabled();
  4514. return 0;
  4515. }
  4516. duk_ret_t Polycode_Scene_setEnabled(duk_context *context) {
  4517. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4518. bool enabled = duk_to_boolean(context, 0);
  4519. inst->setEnabled(enabled);
  4520. return 0;
  4521. }
  4522. duk_ret_t Polycode_Scene_Render(duk_context *context) {
  4523. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4524. Camera* targetCamera = (Camera*)duk_to_pointer(context, 0);
  4525. RenderBuffer* targetFramebuffer = (RenderBuffer*)duk_to_pointer(context, 1);
  4526. Material* overrideMaterial = (Material*)duk_to_pointer(context, 2);
  4527. bool sendLights = duk_to_boolean(context, 3);
  4528. inst->Render(targetCamera,targetFramebuffer,overrideMaterial,sendLights);
  4529. return 0;
  4530. }
  4531. duk_ret_t Polycode_Scene_setOverrideMaterial(duk_context *context) {
  4532. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4533. Material* material = (Material*)duk_to_pointer(context, 0);
  4534. inst->setOverrideMaterial(material);
  4535. return 0;
  4536. }
  4537. duk_ret_t Polycode_Scene_projectRayFromCameraAndViewportCoordinate(duk_context *context) {
  4538. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4539. Camera* camera = (Camera*)duk_to_pointer(context, 0);
  4540. Vector2 coordinate = *(Vector2*)duk_to_pointer(context, 1);
  4541. inst->projectRayFromCameraAndViewportCoordinate(camera,coordinate);
  4542. return 0;
  4543. }
  4544. duk_ret_t Polycode_Scene_addLight(duk_context *context) {
  4545. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4546. SceneLight* light = (SceneLight*)duk_to_pointer(context, 0);
  4547. inst->addLight(light);
  4548. return 0;
  4549. }
  4550. duk_ret_t Polycode_Scene_removeLight(duk_context *context) {
  4551. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4552. SceneLight* light = (SceneLight*)duk_to_pointer(context, 0);
  4553. inst->removeLight(light);
  4554. return 0;
  4555. }
  4556. duk_ret_t Polycode_Scene_getNumLights(duk_context *context) {
  4557. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4558. inst->getNumLights();
  4559. return 0;
  4560. }
  4561. duk_ret_t Polycode_Scene_getLight(duk_context *context) {
  4562. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4563. int index = duk_to_int(context, 0);
  4564. inst->getLight(index);
  4565. return 0;
  4566. }
  4567. duk_ret_t Polycode_Scene_doVisibilityChecking(duk_context *context) {
  4568. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4569. bool val = duk_to_boolean(context, 0);
  4570. inst->doVisibilityChecking(val);
  4571. return 0;
  4572. }
  4573. duk_ret_t Polycode_Scene_doesVisibilityChecking(duk_context *context) {
  4574. Scene *inst = (Scene*)duk_to_pointer(context, -1);
  4575. inst->doesVisibilityChecking();
  4576. return 0;
  4577. }
  4578. duk_ret_t Polycode_SceneEntityInstanceResourceEntry_getInstance(duk_context *context) {
  4579. SceneEntityInstanceResourceEntry *inst = (SceneEntityInstanceResourceEntry*)duk_to_pointer(context, -1);
  4580. inst->getInstance();
  4581. return 0;
  4582. }
  4583. duk_ret_t Polycode_SceneEntityInstanceResourceEntry_reloadResource(duk_context *context) {
  4584. SceneEntityInstanceResourceEntry *inst = (SceneEntityInstanceResourceEntry*)duk_to_pointer(context, -1);
  4585. inst->reloadResource();
  4586. return 0;
  4587. }
  4588. duk_ret_t Polycode_SceneEntityInstance_Clone(duk_context *context) {
  4589. SceneEntityInstance *inst = (SceneEntityInstance*)duk_to_pointer(context, -1);
  4590. bool deepClone = duk_to_boolean(context, 0);
  4591. bool ignoreEditorOnly = duk_to_boolean(context, 1);
  4592. inst->Clone(deepClone,ignoreEditorOnly);
  4593. return 0;
  4594. }
  4595. duk_ret_t Polycode_SceneEntityInstance_applyClone(duk_context *context) {
  4596. SceneEntityInstance *inst = (SceneEntityInstance*)duk_to_pointer(context, -1);
  4597. Entity* clone = (Entity*)duk_to_pointer(context, 0);
  4598. bool deepClone = duk_to_boolean(context, 1);
  4599. bool ignoreEditorOnly = duk_to_boolean(context, 2);
  4600. inst->applyClone(clone,deepClone,ignoreEditorOnly);
  4601. return 0;
  4602. }
  4603. duk_ret_t Polycode_SceneEntityInstance_reloadEntityInstance(duk_context *context) {
  4604. SceneEntityInstance *inst = (SceneEntityInstance*)duk_to_pointer(context, -1);
  4605. inst->reloadEntityInstance();
  4606. return 0;
  4607. }
  4608. duk_ret_t Polycode_SceneEntityInstance_clearInstance(duk_context *context) {
  4609. SceneEntityInstance *inst = (SceneEntityInstance*)duk_to_pointer(context, -1);
  4610. inst->clearInstance();
  4611. return 0;
  4612. }
  4613. duk_ret_t Polycode_SceneEntityInstance_parseObjectIntoCurve(duk_context *context) {
  4614. SceneEntityInstance *inst = (SceneEntityInstance*)duk_to_pointer(context, -1);
  4615. ObjectEntry* entry = (ObjectEntry*)duk_to_pointer(context, 0);
  4616. BezierCurve* curve = (BezierCurve*)duk_to_pointer(context, 1);
  4617. inst->parseObjectIntoCurve(entry,curve);
  4618. return 0;
  4619. }
  4620. duk_ret_t Polycode_SceneEntityInstance_loadObjectEntryIntoEntity(duk_context *context) {
  4621. SceneEntityInstance *inst = (SceneEntityInstance*)duk_to_pointer(context, -1);
  4622. ObjectEntry* entry = (ObjectEntry*)duk_to_pointer(context, 0);
  4623. Entity* targetEntity = (Entity*)duk_to_pointer(context, 1);
  4624. int entityFileVersion = duk_to_int(context, 2);
  4625. inst->loadObjectEntryIntoEntity(entry,targetEntity,entityFileVersion);
  4626. return 0;
  4627. }
  4628. duk_ret_t Polycode_SceneEntityInstance_loadFromFile(duk_context *context) {
  4629. SceneEntityInstance *inst = (SceneEntityInstance*)duk_to_pointer(context, -1);
  4630. String fileName = duk_to_string(context, 0);
  4631. inst->loadFromFile(fileName);
  4632. return 0;
  4633. }
  4634. duk_ret_t Polycode_SceneEntityInstance_applySceneMesh(duk_context *context) {
  4635. SceneEntityInstance *inst = (SceneEntityInstance*)duk_to_pointer(context, -1);
  4636. ObjectEntry* entry = (ObjectEntry*)duk_to_pointer(context, 0);
  4637. SceneMesh* sceneMesh = (SceneMesh*)duk_to_pointer(context, 1);
  4638. inst->applySceneMesh(entry,sceneMesh);
  4639. return 0;
  4640. }
  4641. duk_ret_t Polycode_SceneEntityInstance_linkResourcePool(duk_context *context) {
  4642. SceneEntityInstance *inst = (SceneEntityInstance*)duk_to_pointer(context, -1);
  4643. ResourcePool* pool = (ResourcePool*)duk_to_pointer(context, 0);
  4644. inst->linkResourcePool(pool);
  4645. return 0;
  4646. }
  4647. duk_ret_t Polycode_SceneEntityInstance_getNumLinkedResourePools(duk_context *context) {
  4648. SceneEntityInstance *inst = (SceneEntityInstance*)duk_to_pointer(context, -1);
  4649. inst->getNumLinkedResourePools();
  4650. return 0;
  4651. }
  4652. duk_ret_t Polycode_SceneEntityInstance_getLinkedResourcePoolAtIndex(duk_context *context) {
  4653. SceneEntityInstance *inst = (SceneEntityInstance*)duk_to_pointer(context, -1);
  4654. int index = duk_to_int(context, 0);
  4655. inst->getLinkedResourcePoolAtIndex(index);
  4656. return 0;
  4657. }
  4658. duk_ret_t Polycode_SceneEntityInstance_unlinkResourcePool(duk_context *context) {
  4659. SceneEntityInstance *inst = (SceneEntityInstance*)duk_to_pointer(context, -1);
  4660. ResourcePool* pool = (ResourcePool*)duk_to_pointer(context, 0);
  4661. inst->unlinkResourcePool(pool);
  4662. return 0;
  4663. }
  4664. duk_ret_t Polycode_SceneEntityInstance_getResourceEntry(duk_context *context) {
  4665. SceneEntityInstance *inst = (SceneEntityInstance*)duk_to_pointer(context, -1);
  4666. inst->getResourceEntry();
  4667. return 0;
  4668. }
  4669. duk_ret_t Polycode_SceneEntityInstance_getTopLevelResourcePool(duk_context *context) {
  4670. SceneEntityInstance *inst = (SceneEntityInstance*)duk_to_pointer(context, -1);
  4671. inst->getTopLevelResourcePool();
  4672. return 0;
  4673. }
  4674. duk_ret_t Polycode_SceneEntityInstance_hasLayerID(duk_context *context) {
  4675. SceneEntityInstance *inst = (SceneEntityInstance*)duk_to_pointer(context, -1);
  4676. char layerID = *(char*)duk_to_pointer(context, 0);
  4677. inst->hasLayerID(layerID);
  4678. return 0;
  4679. }
  4680. duk_ret_t Polycode_SceneEntityInstance_getNumLayers(duk_context *context) {
  4681. SceneEntityInstance *inst = (SceneEntityInstance*)duk_to_pointer(context, -1);
  4682. inst->getNumLayers();
  4683. return 0;
  4684. }
  4685. duk_ret_t Polycode_SceneEntityInstance_getLayerAtIndex(duk_context *context) {
  4686. SceneEntityInstance *inst = (SceneEntityInstance*)duk_to_pointer(context, -1);
  4687. int index = duk_to_int(context, 0);
  4688. inst->getLayerAtIndex(index);
  4689. return 0;
  4690. }
  4691. duk_ret_t Polycode_SceneEntityInstance_removeLayer(duk_context *context) {
  4692. SceneEntityInstance *inst = (SceneEntityInstance*)duk_to_pointer(context, -1);
  4693. SceneEntityInstanceLayer* layer = (SceneEntityInstanceLayer*)duk_to_pointer(context, 0);
  4694. inst->removeLayer(layer);
  4695. return 0;
  4696. }
  4697. duk_ret_t Polycode_SceneEntityInstance_createNewLayer(duk_context *context) {
  4698. SceneEntityInstance *inst = (SceneEntityInstance*)duk_to_pointer(context, -1);
  4699. String name = duk_to_string(context, 0);
  4700. inst->createNewLayer(name);
  4701. return 0;
  4702. }
  4703. duk_ret_t Polycode_SceneEntityInstance_getFileName(duk_context *context) {
  4704. SceneEntityInstance *inst = (SceneEntityInstance*)duk_to_pointer(context, -1);
  4705. inst->getFileName();
  4706. return 0;
  4707. }
  4708. duk_ret_t Polycode_SceneEntityInstanceLayer_setLayerVisibility(duk_context *context) {
  4709. SceneEntityInstanceLayer *inst = (SceneEntityInstanceLayer*)duk_to_pointer(context, -1);
  4710. bool val = duk_to_boolean(context, 0);
  4711. inst->setLayerVisibility(val);
  4712. return 0;
  4713. }
  4714. duk_ret_t Polycode_SceneImage_Clone(duk_context *context) {
  4715. SceneImage *inst = (SceneImage*)duk_to_pointer(context, -1);
  4716. bool deepClone = duk_to_boolean(context, 0);
  4717. bool ignoreEditorOnly = duk_to_boolean(context, 1);
  4718. inst->Clone(deepClone,ignoreEditorOnly);
  4719. return 0;
  4720. }
  4721. duk_ret_t Polycode_SceneImage_applyClone(duk_context *context) {
  4722. SceneImage *inst = (SceneImage*)duk_to_pointer(context, -1);
  4723. Entity* clone = (Entity*)duk_to_pointer(context, 0);
  4724. bool deepClone = duk_to_boolean(context, 1);
  4725. bool ignoreEditorOnly = duk_to_boolean(context, 2);
  4726. inst->applyClone(clone,deepClone,ignoreEditorOnly);
  4727. return 0;
  4728. }
  4729. duk_ret_t Polycode_SceneImage_setImageCoordinates(duk_context *context) {
  4730. SceneImage *inst = (SceneImage*)duk_to_pointer(context, -1);
  4731. Number x = duk_to_number(context, 0);
  4732. Number y = duk_to_number(context, 1);
  4733. Number width = duk_to_number(context, 2);
  4734. Number height = duk_to_number(context, 3);
  4735. Number realWidth = duk_to_number(context, 4);
  4736. Number realHeight = duk_to_number(context, 5);
  4737. inst->setImageCoordinates(x,y,width,height,realWidth,realHeight);
  4738. return 0;
  4739. }
  4740. duk_ret_t Polycode_SceneImage_getImageWidth(duk_context *context) {
  4741. SceneImage *inst = (SceneImage*)duk_to_pointer(context, -1);
  4742. inst->getImageWidth();
  4743. return 0;
  4744. }
  4745. duk_ret_t Polycode_SceneImage_getImageHeight(duk_context *context) {
  4746. SceneImage *inst = (SceneImage*)duk_to_pointer(context, -1);
  4747. inst->getImageHeight();
  4748. return 0;
  4749. }
  4750. duk_ret_t Polycode_SceneLabel_getText(duk_context *context) {
  4751. SceneLabel *inst = (SceneLabel*)duk_to_pointer(context, -1);
  4752. inst->getText();
  4753. return 0;
  4754. }
  4755. duk_ret_t Polycode_SceneLabel_setLabelActualHeight(duk_context *context) {
  4756. SceneLabel *inst = (SceneLabel*)duk_to_pointer(context, -1);
  4757. Number actualHeight = duk_to_number(context, 0);
  4758. inst->setLabelActualHeight(actualHeight);
  4759. return 0;
  4760. }
  4761. duk_ret_t Polycode_SceneLabel_getLabelActualHeight(duk_context *context) {
  4762. SceneLabel *inst = (SceneLabel*)duk_to_pointer(context, -1);
  4763. inst->getLabelActualHeight();
  4764. return 0;
  4765. }
  4766. duk_ret_t Polycode_SceneLabel_Render(duk_context *context) {
  4767. SceneLabel *inst = (SceneLabel*)duk_to_pointer(context, -1);
  4768. GPUDrawBuffer* buffer = (GPUDrawBuffer*)duk_to_pointer(context, 0);
  4769. inst->Render(buffer);
  4770. return 0;
  4771. }
  4772. duk_ret_t Polycode_SceneLabel_getTextWidthForString(duk_context *context) {
  4773. SceneLabel *inst = (SceneLabel*)duk_to_pointer(context, -1);
  4774. String text = duk_to_string(context, 0);
  4775. inst->getTextWidthForString(text);
  4776. return 0;
  4777. }
  4778. duk_ret_t Polycode_SceneLabel_setText(duk_context *context) {
  4779. SceneLabel *inst = (SceneLabel*)duk_to_pointer(context, -1);
  4780. String newText = duk_to_string(context, 0);
  4781. inst->setText(newText);
  4782. return 0;
  4783. }
  4784. duk_ret_t Polycode_SceneLabel_Clone(duk_context *context) {
  4785. SceneLabel *inst = (SceneLabel*)duk_to_pointer(context, -1);
  4786. bool deepClone = duk_to_boolean(context, 0);
  4787. bool ignoreEditorOnly = duk_to_boolean(context, 1);
  4788. inst->Clone(deepClone,ignoreEditorOnly);
  4789. return 0;
  4790. }
  4791. duk_ret_t Polycode_SceneLabel_applyClone(duk_context *context) {
  4792. SceneLabel *inst = (SceneLabel*)duk_to_pointer(context, -1);
  4793. Entity* clone = (Entity*)duk_to_pointer(context, 0);
  4794. bool deepClone = duk_to_boolean(context, 1);
  4795. bool ignoreEditorOnly = duk_to_boolean(context, 2);
  4796. inst->applyClone(clone,deepClone,ignoreEditorOnly);
  4797. return 0;
  4798. }
  4799. duk_ret_t Polycode_SceneLabel_updateFromLabel(duk_context *context) {
  4800. SceneLabel *inst = (SceneLabel*)duk_to_pointer(context, -1);
  4801. inst->updateFromLabel();
  4802. return 0;
  4803. }
  4804. duk_ret_t Polycode_SceneLabel_getLabel(duk_context *context) {
  4805. SceneLabel *inst = (SceneLabel*)duk_to_pointer(context, -1);
  4806. inst->getLabel();
  4807. return 0;
  4808. }
  4809. duk_ret_t Polycode_SceneLight_getIntensity(duk_context *context) {
  4810. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4811. inst->getIntensity();
  4812. return 0;
  4813. }
  4814. duk_ret_t Polycode_SceneLight_setIntensity(duk_context *context) {
  4815. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4816. Number newIntensity = duk_to_number(context, 0);
  4817. inst->setIntensity(newIntensity);
  4818. return 0;
  4819. }
  4820. duk_ret_t Polycode_SceneLight_setAttenuation(duk_context *context) {
  4821. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4822. Number constantAttenuation = duk_to_number(context, 0);
  4823. Number linearAttenuation = duk_to_number(context, 1);
  4824. Number quadraticAttenuation = duk_to_number(context, 2);
  4825. inst->setAttenuation(constantAttenuation,linearAttenuation,quadraticAttenuation);
  4826. return 0;
  4827. }
  4828. duk_ret_t Polycode_SceneLight_getConstantAttenuation(duk_context *context) {
  4829. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4830. inst->getConstantAttenuation();
  4831. return 0;
  4832. }
  4833. duk_ret_t Polycode_SceneLight_getLinearAttenuation(duk_context *context) {
  4834. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4835. inst->getLinearAttenuation();
  4836. return 0;
  4837. }
  4838. duk_ret_t Polycode_SceneLight_getQuadraticAttenuation(duk_context *context) {
  4839. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4840. inst->getQuadraticAttenuation();
  4841. return 0;
  4842. }
  4843. duk_ret_t Polycode_SceneLight_getType(duk_context *context) {
  4844. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4845. inst->getType();
  4846. return 0;
  4847. }
  4848. duk_ret_t Polycode_SceneLight_renderDepthMap(duk_context *context) {
  4849. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4850. Scene* scene = (Scene*)duk_to_pointer(context, 0);
  4851. inst->renderDepthMap(scene);
  4852. return 0;
  4853. }
  4854. duk_ret_t Polycode_SceneLight_getZBufferTexture(duk_context *context) {
  4855. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4856. inst->getZBufferTexture();
  4857. return 0;
  4858. }
  4859. duk_ret_t Polycode_SceneLight_setSpecularLightColor(duk_context *context) {
  4860. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4861. Number r = duk_to_number(context, 0);
  4862. Number g = duk_to_number(context, 1);
  4863. Number b = duk_to_number(context, 2);
  4864. Number a = duk_to_number(context, 3);
  4865. inst->setSpecularLightColor(r,g,b,a);
  4866. return 0;
  4867. }
  4868. duk_ret_t Polycode_SceneLight_setDiffuseLightColor(duk_context *context) {
  4869. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4870. Number r = duk_to_number(context, 0);
  4871. Number g = duk_to_number(context, 1);
  4872. Number b = duk_to_number(context, 2);
  4873. Number a = duk_to_number(context, 3);
  4874. inst->setDiffuseLightColor(r,g,b,a);
  4875. return 0;
  4876. }
  4877. duk_ret_t Polycode_SceneLight_setLightColor(duk_context *context) {
  4878. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4879. Number r = duk_to_number(context, 0);
  4880. Number g = duk_to_number(context, 1);
  4881. Number b = duk_to_number(context, 2);
  4882. Number a = duk_to_number(context, 3);
  4883. inst->setLightColor(r,g,b,a);
  4884. return 0;
  4885. }
  4886. duk_ret_t Polycode_SceneLight_setSpotlightProperties(duk_context *context) {
  4887. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4888. Number spotlightCutoff = duk_to_number(context, 0);
  4889. Number spotlightExponent = duk_to_number(context, 1);
  4890. inst->setSpotlightProperties(spotlightCutoff,spotlightExponent);
  4891. return 0;
  4892. }
  4893. duk_ret_t Polycode_SceneLight_getSpotlightCutoff(duk_context *context) {
  4894. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4895. inst->getSpotlightCutoff();
  4896. return 0;
  4897. }
  4898. duk_ret_t Polycode_SceneLight_getSpotlightExponent(duk_context *context) {
  4899. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4900. inst->getSpotlightExponent();
  4901. return 0;
  4902. }
  4903. duk_ret_t Polycode_SceneLight_enableShadows(duk_context *context) {
  4904. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4905. bool val = duk_to_boolean(context, 0);
  4906. int resolution = duk_to_int(context, 1);
  4907. inst->enableShadows(val,resolution);
  4908. return 0;
  4909. }
  4910. duk_ret_t Polycode_SceneLight_setShadowMapFOV(duk_context *context) {
  4911. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4912. Number fov = duk_to_number(context, 0);
  4913. inst->setShadowMapFOV(fov);
  4914. return 0;
  4915. }
  4916. duk_ret_t Polycode_SceneLight_getShadowMapFOV(duk_context *context) {
  4917. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4918. inst->getShadowMapFOV();
  4919. return 0;
  4920. }
  4921. duk_ret_t Polycode_SceneLight_getShadowMapResolution(duk_context *context) {
  4922. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4923. inst->getShadowMapResolution();
  4924. return 0;
  4925. }
  4926. duk_ret_t Polycode_SceneLight_areShadowsEnabled(duk_context *context) {
  4927. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4928. inst->areShadowsEnabled();
  4929. return 0;
  4930. }
  4931. duk_ret_t Polycode_SceneLight_getLightType(duk_context *context) {
  4932. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4933. inst->getLightType();
  4934. return 0;
  4935. }
  4936. duk_ret_t Polycode_SceneLight_setLightImportance(duk_context *context) {
  4937. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4938. int newImportance = duk_to_int(context, 0);
  4939. inst->setLightImportance(newImportance);
  4940. return 0;
  4941. }
  4942. duk_ret_t Polycode_SceneLight_getLightImportance(duk_context *context) {
  4943. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4944. inst->getLightImportance();
  4945. return 0;
  4946. }
  4947. duk_ret_t Polycode_SceneLight_setLightType(duk_context *context) {
  4948. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4949. int lightType = duk_to_int(context, 0);
  4950. inst->setLightType(lightType);
  4951. return 0;
  4952. }
  4953. duk_ret_t Polycode_SceneLight_Clone(duk_context *context) {
  4954. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4955. bool deepClone = duk_to_boolean(context, 0);
  4956. bool ignoreEditorOnly = duk_to_boolean(context, 1);
  4957. inst->Clone(deepClone,ignoreEditorOnly);
  4958. return 0;
  4959. }
  4960. duk_ret_t Polycode_SceneLight_applyClone(duk_context *context) {
  4961. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4962. Entity* clone = (Entity*)duk_to_pointer(context, 0);
  4963. bool deepClone = duk_to_boolean(context, 1);
  4964. bool ignoreEditorOnly = duk_to_boolean(context, 2);
  4965. inst->applyClone(clone,deepClone,ignoreEditorOnly);
  4966. return 0;
  4967. }
  4968. duk_ret_t Polycode_SceneLight_getParentScene(duk_context *context) {
  4969. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4970. inst->getParentScene();
  4971. return 0;
  4972. }
  4973. duk_ret_t Polycode_SceneLight_setParentScene(duk_context *context) {
  4974. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4975. Scene* scene = (Scene*)duk_to_pointer(context, 0);
  4976. inst->setParentScene(scene);
  4977. return 0;
  4978. }
  4979. duk_ret_t Polycode_SceneLight_getSpotlightCamera(duk_context *context) {
  4980. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4981. inst->getSpotlightCamera();
  4982. return 0;
  4983. }
  4984. duk_ret_t Polycode_SceneLight_getLightInfo(duk_context *context) {
  4985. SceneLight *inst = (SceneLight*)duk_to_pointer(context, -1);
  4986. inst->getLightInfo();
  4987. return 0;
  4988. }
  4989. duk_ret_t Polycode_SceneCurve_getWorldPointAt(duk_context *context) {
  4990. SceneCurve *inst = (SceneCurve*)duk_to_pointer(context, -1);
  4991. Number t = duk_to_number(context, 0);
  4992. inst->getWorldPointAt(t);
  4993. return 0;
  4994. }
  4995. duk_ret_t Polycode_SceneCurve_Update(duk_context *context) {
  4996. SceneCurve *inst = (SceneCurve*)duk_to_pointer(context, -1);
  4997. inst->Update();
  4998. return 0;
  4999. }
  5000. duk_ret_t Polycode_SceneCurve_Clone(duk_context *context) {
  5001. SceneCurve *inst = (SceneCurve*)duk_to_pointer(context, -1);
  5002. bool deepClone = duk_to_boolean(context, 0);
  5003. bool ignoreEditorOnly = duk_to_boolean(context, 1);
  5004. inst->Clone(deepClone,ignoreEditorOnly);
  5005. return 0;
  5006. }
  5007. duk_ret_t Polycode_SceneCurve_applyClone(duk_context *context) {
  5008. SceneCurve *inst = (SceneCurve*)duk_to_pointer(context, -1);
  5009. Entity* clone = (Entity*)duk_to_pointer(context, 0);
  5010. bool deepClone = duk_to_boolean(context, 1);
  5011. bool ignoreEditorOnly = duk_to_boolean(context, 2);
  5012. inst->applyClone(clone,deepClone,ignoreEditorOnly);
  5013. return 0;
  5014. }
  5015. duk_ret_t Polycode_SceneCurve_getCurve(duk_context *context) {
  5016. SceneCurve *inst = (SceneCurve*)duk_to_pointer(context, -1);
  5017. inst->getCurve();
  5018. return 0;
  5019. }
  5020. duk_ret_t Polycode_SceneLine_setStart(duk_context *context) {
  5021. SceneLine *inst = (SceneLine*)duk_to_pointer(context, -1);
  5022. Vector3 startp = *(Vector3*)duk_to_pointer(context, 0);
  5023. inst->setStart(startp);
  5024. return 0;
  5025. }
  5026. duk_ret_t Polycode_SceneLine_setEnd(duk_context *context) {
  5027. SceneLine *inst = (SceneLine*)duk_to_pointer(context, -1);
  5028. Vector3 endp = *(Vector3*)duk_to_pointer(context, 0);
  5029. inst->setEnd(endp);
  5030. return 0;
  5031. }
  5032. duk_ret_t Polycode_SceneLine_Update(duk_context *context) {
  5033. SceneLine *inst = (SceneLine*)duk_to_pointer(context, -1);
  5034. inst->Update();
  5035. return 0;
  5036. }
  5037. duk_ret_t Polycode_SceneManager_addScene(duk_context *context) {
  5038. SceneManager *inst = (SceneManager*)duk_to_pointer(context, -1);
  5039. Scene* newScene = (Scene*)duk_to_pointer(context, 0);
  5040. inst->addScene(newScene);
  5041. return 0;
  5042. }
  5043. duk_ret_t Polycode_SceneManager_removeScene(duk_context *context) {
  5044. SceneManager *inst = (SceneManager*)duk_to_pointer(context, -1);
  5045. Scene* scene = (Scene*)duk_to_pointer(context, 0);
  5046. inst->removeScene(scene);
  5047. return 0;
  5048. }
  5049. duk_ret_t Polycode_SceneManager_Update(duk_context *context) {
  5050. SceneManager *inst = (SceneManager*)duk_to_pointer(context, -1);
  5051. inst->Update();
  5052. return 0;
  5053. }
  5054. duk_ret_t Polycode_SceneManager_fixedUpdate(duk_context *context) {
  5055. SceneManager *inst = (SceneManager*)duk_to_pointer(context, -1);
  5056. inst->fixedUpdate();
  5057. return 0;
  5058. }
  5059. duk_ret_t Polycode_SceneManager_Render(duk_context *context) {
  5060. SceneManager *inst = (SceneManager*)duk_to_pointer(context, -1);
  5061. Rectangle viewport = *(Rectangle*)duk_to_pointer(context, 0);
  5062. inst->Render(viewport);
  5063. return 0;
  5064. }
  5065. duk_ret_t Polycode_SceneManager_renderVirtual(duk_context *context) {
  5066. SceneManager *inst = (SceneManager*)duk_to_pointer(context, -1);
  5067. inst->renderVirtual();
  5068. return 0;
  5069. }
  5070. duk_ret_t Polycode_SceneManager_registerRenderTexture(duk_context *context) {
  5071. SceneManager *inst = (SceneManager*)duk_to_pointer(context, -1);
  5072. SceneRenderTexture* renderTexture = (SceneRenderTexture*)duk_to_pointer(context, 0);
  5073. inst->registerRenderTexture(renderTexture);
  5074. return 0;
  5075. }
  5076. duk_ret_t Polycode_SceneManager_unregisterRenderTexture(duk_context *context) {
  5077. SceneManager *inst = (SceneManager*)duk_to_pointer(context, -1);
  5078. SceneRenderTexture* renderTexture = (SceneRenderTexture*)duk_to_pointer(context, 0);
  5079. inst->unregisterRenderTexture(renderTexture);
  5080. return 0;
  5081. }
  5082. duk_ret_t Polycode_SceneManager_setRenderer(duk_context *context) {
  5083. SceneManager *inst = (SceneManager*)duk_to_pointer(context, -1);
  5084. Renderer* renderer = (Renderer*)duk_to_pointer(context, 0);
  5085. inst->setRenderer(renderer);
  5086. return 0;
  5087. }
  5088. duk_ret_t Polycode_SceneMesh_Render(duk_context *context) {
  5089. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5090. GPUDrawBuffer* buffer = (GPUDrawBuffer*)duk_to_pointer(context, 0);
  5091. inst->Render(buffer);
  5092. return 0;
  5093. }
  5094. duk_ret_t Polycode_SceneMesh_getShaderPass(duk_context *context) {
  5095. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5096. int index = duk_to_int(context, 0);
  5097. inst->getShaderPass(index);
  5098. return 0;
  5099. }
  5100. duk_ret_t Polycode_SceneMesh_getNumShaderPasses(duk_context *context) {
  5101. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5102. inst->getNumShaderPasses();
  5103. return 0;
  5104. }
  5105. duk_ret_t Polycode_SceneMesh_addShaderPass(duk_context *context) {
  5106. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5107. ShaderPass pass = *(ShaderPass*)duk_to_pointer(context, 0);
  5108. inst->addShaderPass(pass);
  5109. return 0;
  5110. }
  5111. duk_ret_t Polycode_SceneMesh_removeShaderPass(duk_context *context) {
  5112. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5113. int shaderIndex = duk_to_int(context, 0);
  5114. inst->removeShaderPass(shaderIndex);
  5115. return 0;
  5116. }
  5117. duk_ret_t Polycode_SceneMesh_getMesh(duk_context *context) {
  5118. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5119. inst->getMesh();
  5120. return 0;
  5121. }
  5122. duk_ret_t Polycode_SceneMesh_getMaterial(duk_context *context) {
  5123. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5124. inst->getMaterial();
  5125. return 0;
  5126. }
  5127. duk_ret_t Polycode_SceneMesh_loadSkeleton(duk_context *context) {
  5128. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5129. String fileName = duk_to_string(context, 0);
  5130. inst->loadSkeleton(fileName);
  5131. return 0;
  5132. }
  5133. duk_ret_t Polycode_SceneMesh_clearMaterial(duk_context *context) {
  5134. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5135. inst->clearMaterial();
  5136. return 0;
  5137. }
  5138. duk_ret_t Polycode_SceneMesh_setMaterial(duk_context *context) {
  5139. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5140. Material* material = (Material*)duk_to_pointer(context, 0);
  5141. inst->setMaterial(material);
  5142. return 0;
  5143. }
  5144. duk_ret_t Polycode_SceneMesh_rebuildAttributes(duk_context *context) {
  5145. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5146. inst->rebuildAttributes();
  5147. return 0;
  5148. }
  5149. duk_ret_t Polycode_SceneMesh_setMaterialByName(duk_context *context) {
  5150. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5151. String materialName = duk_to_string(context, 0);
  5152. ResourcePool* resourcePool = (ResourcePool*)duk_to_pointer(context, 1);
  5153. inst->setMaterialByName(materialName,resourcePool);
  5154. return 0;
  5155. }
  5156. duk_ret_t Polycode_SceneMesh_setMesh(duk_context *context) {
  5157. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5158. Mesh* mesh = (Mesh*)duk_to_pointer(context, 0);
  5159. inst->setMesh(mesh);
  5160. return 0;
  5161. }
  5162. duk_ret_t Polycode_SceneMesh_setSkeleton(duk_context *context) {
  5163. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5164. Skeleton* skeleton = (Skeleton*)duk_to_pointer(context, 0);
  5165. inst->setSkeleton(skeleton);
  5166. return 0;
  5167. }
  5168. duk_ret_t Polycode_SceneMesh_getSkeleton(duk_context *context) {
  5169. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5170. inst->getSkeleton();
  5171. return 0;
  5172. }
  5173. duk_ret_t Polycode_SceneMesh_applySkeletonLocally(duk_context *context) {
  5174. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5175. inst->applySkeletonLocally();
  5176. return 0;
  5177. }
  5178. duk_ret_t Polycode_SceneMesh_setLineWidth(duk_context *context) {
  5179. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5180. Number newWidth = duk_to_number(context, 0);
  5181. inst->setLineWidth(newWidth);
  5182. return 0;
  5183. }
  5184. duk_ret_t Polycode_SceneMesh_getFilename(duk_context *context) {
  5185. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5186. inst->getFilename();
  5187. return 0;
  5188. }
  5189. duk_ret_t Polycode_SceneMesh_setFilename(duk_context *context) {
  5190. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5191. String fileName = duk_to_string(context, 0);
  5192. inst->setFilename(fileName);
  5193. return 0;
  5194. }
  5195. duk_ret_t Polycode_SceneMesh_loadFromFile(duk_context *context) {
  5196. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5197. String fileName = duk_to_string(context, 0);
  5198. inst->loadFromFile(fileName);
  5199. return 0;
  5200. }
  5201. duk_ret_t Polycode_SceneMesh_customHitDetection(duk_context *context) {
  5202. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5203. Ray ray = *(Ray*)duk_to_pointer(context, 0);
  5204. inst->customHitDetection(ray);
  5205. return 0;
  5206. }
  5207. duk_ret_t Polycode_SceneMesh_setForceMaterial(duk_context *context) {
  5208. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5209. bool forceMaterial = duk_to_boolean(context, 0);
  5210. inst->setForceMaterial(forceMaterial);
  5211. return 0;
  5212. }
  5213. duk_ret_t Polycode_SceneMesh_getForceMaterial(duk_context *context) {
  5214. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5215. inst->getForceMaterial();
  5216. return 0;
  5217. }
  5218. duk_ret_t Polycode_SceneMesh_Clone(duk_context *context) {
  5219. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5220. bool deepClone = duk_to_boolean(context, 0);
  5221. bool ignoreEditorOnly = duk_to_boolean(context, 1);
  5222. inst->Clone(deepClone,ignoreEditorOnly);
  5223. return 0;
  5224. }
  5225. duk_ret_t Polycode_SceneMesh_applyClone(duk_context *context) {
  5226. SceneMesh *inst = (SceneMesh*)duk_to_pointer(context, -1);
  5227. Entity* clone = (Entity*)duk_to_pointer(context, 0);
  5228. bool deepClone = duk_to_boolean(context, 1);
  5229. bool ignoreEditorOnly = duk_to_boolean(context, 2);
  5230. inst->applyClone(clone,deepClone,ignoreEditorOnly);
  5231. return 0;
  5232. }
  5233. duk_ret_t Polycode_ScenePrimitive_setPrimitiveOptions(duk_context *context) {
  5234. ScenePrimitive *inst = (ScenePrimitive*)duk_to_pointer(context, -1);
  5235. int type = duk_to_int(context, 0);
  5236. Number v1 = duk_to_number(context, 1);
  5237. Number v2 = duk_to_number(context, 2);
  5238. Number v3 = duk_to_number(context, 3);
  5239. Number v4 = duk_to_number(context, 4);
  5240. Number v5 = duk_to_number(context, 5);
  5241. inst->setPrimitiveOptions(type,v1,v2,v3,v4,v5);
  5242. return 0;
  5243. }
  5244. duk_ret_t Polycode_ScenePrimitive_recreatePrimitive(duk_context *context) {
  5245. ScenePrimitive *inst = (ScenePrimitive*)duk_to_pointer(context, -1);
  5246. inst->recreatePrimitive();
  5247. return 0;
  5248. }
  5249. duk_ret_t Polycode_ScenePrimitive_getPrimitiveType(duk_context *context) {
  5250. ScenePrimitive *inst = (ScenePrimitive*)duk_to_pointer(context, -1);
  5251. inst->getPrimitiveType();
  5252. return 0;
  5253. }
  5254. duk_ret_t Polycode_ScenePrimitive_getPrimitiveParameter1(duk_context *context) {
  5255. ScenePrimitive *inst = (ScenePrimitive*)duk_to_pointer(context, -1);
  5256. inst->getPrimitiveParameter1();
  5257. return 0;
  5258. }
  5259. duk_ret_t Polycode_ScenePrimitive_getPrimitiveParameter2(duk_context *context) {
  5260. ScenePrimitive *inst = (ScenePrimitive*)duk_to_pointer(context, -1);
  5261. inst->getPrimitiveParameter2();
  5262. return 0;
  5263. }
  5264. duk_ret_t Polycode_ScenePrimitive_getPrimitiveParameter3(duk_context *context) {
  5265. ScenePrimitive *inst = (ScenePrimitive*)duk_to_pointer(context, -1);
  5266. inst->getPrimitiveParameter3();
  5267. return 0;
  5268. }
  5269. duk_ret_t Polycode_ScenePrimitive_getPrimitiveParameter4(duk_context *context) {
  5270. ScenePrimitive *inst = (ScenePrimitive*)duk_to_pointer(context, -1);
  5271. inst->getPrimitiveParameter4();
  5272. return 0;
  5273. }
  5274. duk_ret_t Polycode_ScenePrimitive_getPrimitiveParameter5(duk_context *context) {
  5275. ScenePrimitive *inst = (ScenePrimitive*)duk_to_pointer(context, -1);
  5276. inst->getPrimitiveParameter5();
  5277. return 0;
  5278. }
  5279. duk_ret_t Polycode_ScenePrimitive_Clone(duk_context *context) {
  5280. ScenePrimitive *inst = (ScenePrimitive*)duk_to_pointer(context, -1);
  5281. bool deepClone = duk_to_boolean(context, 0);
  5282. bool ignoreEditorOnly = duk_to_boolean(context, 1);
  5283. inst->Clone(deepClone,ignoreEditorOnly);
  5284. return 0;
  5285. }
  5286. duk_ret_t Polycode_ScenePrimitive_applyClone(duk_context *context) {
  5287. ScenePrimitive *inst = (ScenePrimitive*)duk_to_pointer(context, -1);
  5288. Entity* clone = (Entity*)duk_to_pointer(context, 0);
  5289. bool deepClone = duk_to_boolean(context, 1);
  5290. bool ignoreEditorOnly = duk_to_boolean(context, 2);
  5291. inst->applyClone(clone,deepClone,ignoreEditorOnly);
  5292. return 0;
  5293. }
  5294. duk_ret_t Polycode_SceneRenderTexture_getTargetTexture(duk_context *context) {
  5295. SceneRenderTexture *inst = (SceneRenderTexture*)duk_to_pointer(context, -1);
  5296. inst->getTargetTexture();
  5297. return 0;
  5298. }
  5299. duk_ret_t Polycode_SceneRenderTexture_getFilterColorBufferTexture(duk_context *context) {
  5300. SceneRenderTexture *inst = (SceneRenderTexture*)duk_to_pointer(context, -1);
  5301. inst->getFilterColorBufferTexture();
  5302. return 0;
  5303. }
  5304. duk_ret_t Polycode_SceneRenderTexture_getFilterZBufferTexture(duk_context *context) {
  5305. SceneRenderTexture *inst = (SceneRenderTexture*)duk_to_pointer(context, -1);
  5306. inst->getFilterZBufferTexture();
  5307. return 0;
  5308. }
  5309. duk_ret_t Polycode_SceneRenderTexture_Render(duk_context *context) {
  5310. SceneRenderTexture *inst = (SceneRenderTexture*)duk_to_pointer(context, -1);
  5311. inst->Render();
  5312. return 0;
  5313. }
  5314. duk_ret_t Polycode_SceneRenderTexture_saveToImage(duk_context *context) {
  5315. SceneRenderTexture *inst = (SceneRenderTexture*)duk_to_pointer(context, -1);
  5316. inst->saveToImage();
  5317. return 0;
  5318. }
  5319. duk_ret_t Polycode_SceneRenderTexture_resizeRenderTexture(duk_context *context) {
  5320. SceneRenderTexture *inst = (SceneRenderTexture*)duk_to_pointer(context, -1);
  5321. int newWidth = duk_to_int(context, 0);
  5322. int newHeight = duk_to_int(context, 1);
  5323. inst->resizeRenderTexture(newWidth,newHeight);
  5324. return 0;
  5325. }
  5326. duk_ret_t Polycode_SceneRenderTexture_getTargetScene(duk_context *context) {
  5327. SceneRenderTexture *inst = (SceneRenderTexture*)duk_to_pointer(context, -1);
  5328. inst->getTargetScene();
  5329. return 0;
  5330. }
  5331. duk_ret_t Polycode_SceneRenderTexture_getTargetCamera(duk_context *context) {
  5332. SceneRenderTexture *inst = (SceneRenderTexture*)duk_to_pointer(context, -1);
  5333. inst->getTargetCamera();
  5334. return 0;
  5335. }
  5336. duk_ret_t Polycode_SceneSound_Update(duk_context *context) {
  5337. SceneSound *inst = (SceneSound*)duk_to_pointer(context, -1);
  5338. inst->Update();
  5339. return 0;
  5340. }
  5341. duk_ret_t Polycode_SceneSound_Clone(duk_context *context) {
  5342. SceneSound *inst = (SceneSound*)duk_to_pointer(context, -1);
  5343. bool deepClone = duk_to_boolean(context, 0);
  5344. bool ignoreEditorOnly = duk_to_boolean(context, 1);
  5345. inst->Clone(deepClone,ignoreEditorOnly);
  5346. return 0;
  5347. }
  5348. duk_ret_t Polycode_SceneSound_applyClone(duk_context *context) {
  5349. SceneSound *inst = (SceneSound*)duk_to_pointer(context, -1);
  5350. Entity* clone = (Entity*)duk_to_pointer(context, 0);
  5351. bool deepClone = duk_to_boolean(context, 1);
  5352. bool ignoreEditorOnly = duk_to_boolean(context, 2);
  5353. inst->applyClone(clone,deepClone,ignoreEditorOnly);
  5354. return 0;
  5355. }
  5356. duk_ret_t Polycode_SceneSound_isDirectionalSound(duk_context *context) {
  5357. SceneSound *inst = (SceneSound*)duk_to_pointer(context, -1);
  5358. inst->isDirectionalSound();
  5359. return 0;
  5360. }
  5361. duk_ret_t Polycode_SceneSound_setDirectionalSound(duk_context *context) {
  5362. SceneSound *inst = (SceneSound*)duk_to_pointer(context, -1);
  5363. bool val = duk_to_boolean(context, 0);
  5364. inst->setDirectionalSound(val);
  5365. return 0;
  5366. }
  5367. duk_ret_t Polycode_SceneSound_getSound(duk_context *context) {
  5368. SceneSound *inst = (SceneSound*)duk_to_pointer(context, -1);
  5369. inst->getSound();
  5370. return 0;
  5371. }
  5372. duk_ret_t Polycode_SceneSound_setLoopOnLoad(duk_context *context) {
  5373. SceneSound *inst = (SceneSound*)duk_to_pointer(context, -1);
  5374. bool val = duk_to_boolean(context, 0);
  5375. inst->setLoopOnLoad(val);
  5376. return 0;
  5377. }
  5378. duk_ret_t Polycode_SceneSound_getLoopOnLoad(duk_context *context) {
  5379. SceneSound *inst = (SceneSound*)duk_to_pointer(context, -1);
  5380. inst->getLoopOnLoad();
  5381. return 0;
  5382. }
  5383. duk_ret_t Polycode_SceneSoundListener_Update(duk_context *context) {
  5384. SceneSoundListener *inst = (SceneSoundListener*)duk_to_pointer(context, -1);
  5385. inst->Update();
  5386. return 0;
  5387. }
  5388. duk_ret_t Polycode_SceneSprite_Clone(duk_context *context) {
  5389. SceneSprite *inst = (SceneSprite*)duk_to_pointer(context, -1);
  5390. bool deepClone = duk_to_boolean(context, 0);
  5391. bool ignoreEditorOnly = duk_to_boolean(context, 1);
  5392. inst->Clone(deepClone,ignoreEditorOnly);
  5393. return 0;
  5394. }
  5395. duk_ret_t Polycode_SceneSprite_applyClone(duk_context *context) {
  5396. SceneSprite *inst = (SceneSprite*)duk_to_pointer(context, -1);
  5397. Entity* clone = (Entity*)duk_to_pointer(context, 0);
  5398. bool deepClone = duk_to_boolean(context, 1);
  5399. bool ignoreEditorOnly = duk_to_boolean(context, 2);
  5400. inst->applyClone(clone,deepClone,ignoreEditorOnly);
  5401. return 0;
  5402. }
  5403. duk_ret_t Polycode_SceneSprite_getSpriteSet(duk_context *context) {
  5404. SceneSprite *inst = (SceneSprite*)duk_to_pointer(context, -1);
  5405. inst->getSpriteSet();
  5406. return 0;
  5407. }
  5408. duk_ret_t Polycode_SceneSprite_getCurrentSprite(duk_context *context) {
  5409. SceneSprite *inst = (SceneSprite*)duk_to_pointer(context, -1);
  5410. inst->getCurrentSprite();
  5411. return 0;
  5412. }
  5413. duk_ret_t Polycode_SceneSprite_setSpriteSet(duk_context *context) {
  5414. SceneSprite *inst = (SceneSprite*)duk_to_pointer(context, -1);
  5415. SpriteSet* spriteSet = (SpriteSet*)duk_to_pointer(context, 0);
  5416. inst->setSpriteSet(spriteSet);
  5417. return 0;
  5418. }
  5419. duk_ret_t Polycode_SceneSprite_setSpriteByName(duk_context *context) {
  5420. SceneSprite *inst = (SceneSprite*)duk_to_pointer(context, -1);
  5421. String spriteName = duk_to_string(context, 0);
  5422. inst->setSpriteByName(spriteName);
  5423. return 0;
  5424. }
  5425. duk_ret_t Polycode_SceneSprite_setCurrentFrame(duk_context *context) {
  5426. SceneSprite *inst = (SceneSprite*)duk_to_pointer(context, -1);
  5427. int frameIndex = duk_to_int(context, 0);
  5428. inst->setCurrentFrame(frameIndex);
  5429. return 0;
  5430. }
  5431. duk_ret_t Polycode_SceneSprite_getCurrentFrame(duk_context *context) {
  5432. SceneSprite *inst = (SceneSprite*)duk_to_pointer(context, -1);
  5433. inst->getCurrentFrame();
  5434. return 0;
  5435. }
  5436. duk_ret_t Polycode_SceneSprite_Update(duk_context *context) {
  5437. SceneSprite *inst = (SceneSprite*)duk_to_pointer(context, -1);
  5438. inst->Update();
  5439. return 0;
  5440. }
  5441. duk_ret_t Polycode_SceneSprite_Render(duk_context *context) {
  5442. SceneSprite *inst = (SceneSprite*)duk_to_pointer(context, -1);
  5443. GPUDrawBuffer* buffer = (GPUDrawBuffer*)duk_to_pointer(context, 0);
  5444. inst->Render(buffer);
  5445. return 0;
  5446. }
  5447. duk_ret_t Polycode_SceneSprite_getSpriteBoundingBox(duk_context *context) {
  5448. SceneSprite *inst = (SceneSprite*)duk_to_pointer(context, -1);
  5449. inst->getSpriteBoundingBox();
  5450. return 0;
  5451. }
  5452. duk_ret_t Polycode_SceneSprite_setPaused(duk_context *context) {
  5453. SceneSprite *inst = (SceneSprite*)duk_to_pointer(context, -1);
  5454. bool val = duk_to_boolean(context, 0);
  5455. inst->setPaused(val);
  5456. return 0;
  5457. }
  5458. duk_ret_t Polycode_SceneSprite_isPaused(duk_context *context) {
  5459. SceneSprite *inst = (SceneSprite*)duk_to_pointer(context, -1);
  5460. inst->isPaused();
  5461. return 0;
  5462. }
  5463. duk_ret_t Polycode_SceneSprite_setSprite(duk_context *context) {
  5464. SceneSprite *inst = (SceneSprite*)duk_to_pointer(context, -1);
  5465. Sprite* spriteEntry = (Sprite*)duk_to_pointer(context, 0);
  5466. inst->setSprite(spriteEntry);
  5467. return 0;
  5468. }
  5469. duk_ret_t Polycode_SceneSprite_setSpriteState(duk_context *context) {
  5470. SceneSprite *inst = (SceneSprite*)duk_to_pointer(context, -1);
  5471. SpriteState* spriteState = (SpriteState*)duk_to_pointer(context, 0);
  5472. int startingFrame = duk_to_int(context, 1);
  5473. bool playOnce = duk_to_boolean(context, 2);
  5474. inst->setSpriteState(spriteState,startingFrame,playOnce);
  5475. return 0;
  5476. }
  5477. duk_ret_t Polycode_SceneSprite_setSpriteStateByName(duk_context *context) {
  5478. SceneSprite *inst = (SceneSprite*)duk_to_pointer(context, -1);
  5479. String name = duk_to_string(context, 0);
  5480. int startingFrame = duk_to_int(context, 1);
  5481. bool playOnce = duk_to_boolean(context, 2);
  5482. inst->setSpriteStateByName(name,startingFrame,playOnce);
  5483. return 0;
  5484. }
  5485. duk_ret_t Polycode_SceneSprite_getCurrentSpriteState(duk_context *context) {
  5486. SceneSprite *inst = (SceneSprite*)duk_to_pointer(context, -1);
  5487. inst->getCurrentSpriteState();
  5488. return 0;
  5489. }
  5490. duk_ret_t Polycode_SceneSprite_getStartOnRandomFrame(duk_context *context) {
  5491. SceneSprite *inst = (SceneSprite*)duk_to_pointer(context, -1);
  5492. inst->getStartOnRandomFrame();
  5493. return 0;
  5494. }
  5495. duk_ret_t Polycode_SceneSprite_setStartOnRandomFrame(duk_context *context) {
  5496. SceneSprite *inst = (SceneSprite*)duk_to_pointer(context, -1);
  5497. bool val = duk_to_boolean(context, 0);
  5498. inst->setStartOnRandomFrame(val);
  5499. return 0;
  5500. }
  5501. duk_ret_t Polycode_Sprite_getName(duk_context *context) {
  5502. Sprite *inst = (Sprite*)duk_to_pointer(context, -1);
  5503. inst->getName();
  5504. return 0;
  5505. }
  5506. duk_ret_t Polycode_Sprite_setName(duk_context *context) {
  5507. Sprite *inst = (Sprite*)duk_to_pointer(context, -1);
  5508. String name = duk_to_string(context, 0);
  5509. inst->setName(name);
  5510. return 0;
  5511. }
  5512. duk_ret_t Polycode_Sprite_addSpriteState(duk_context *context) {
  5513. Sprite *inst = (Sprite*)duk_to_pointer(context, -1);
  5514. SpriteState* state = (SpriteState*)duk_to_pointer(context, 0);
  5515. inst->addSpriteState(state);
  5516. return 0;
  5517. }
  5518. duk_ret_t Polycode_Sprite_removeSpriteState(duk_context *context) {
  5519. Sprite *inst = (Sprite*)duk_to_pointer(context, -1);
  5520. SpriteState* state = (SpriteState*)duk_to_pointer(context, 0);
  5521. inst->removeSpriteState(state);
  5522. return 0;
  5523. }
  5524. duk_ret_t Polycode_Sprite_getNumStates(duk_context *context) {
  5525. Sprite *inst = (Sprite*)duk_to_pointer(context, -1);
  5526. inst->getNumStates();
  5527. return 0;
  5528. }
  5529. duk_ret_t Polycode_Sprite_getState(duk_context *context) {
  5530. Sprite *inst = (Sprite*)duk_to_pointer(context, -1);
  5531. int index = duk_to_int(context, 0);
  5532. inst->getState(index);
  5533. return 0;
  5534. }
  5535. duk_ret_t Polycode_Sprite_getStateByName(duk_context *context) {
  5536. Sprite *inst = (Sprite*)duk_to_pointer(context, -1);
  5537. String name = duk_to_string(context, 0);
  5538. inst->getStateByName(name);
  5539. return 0;
  5540. }
  5541. duk_ret_t Polycode_Sprite_setParentSpritSet(duk_context *context) {
  5542. Sprite *inst = (Sprite*)duk_to_pointer(context, -1);
  5543. SpriteSet* spriteSet = (SpriteSet*)duk_to_pointer(context, 0);
  5544. inst->setParentSpritSet(spriteSet);
  5545. return 0;
  5546. }
  5547. duk_ret_t Polycode_Sprite_getParentSpriteSet(duk_context *context) {
  5548. Sprite *inst = (Sprite*)duk_to_pointer(context, -1);
  5549. inst->getParentSpriteSet();
  5550. return 0;
  5551. }
  5552. duk_ret_t Polycode_SpriteSet_setTexture(duk_context *context) {
  5553. SpriteSet *inst = (SpriteSet*)duk_to_pointer(context, -1);
  5554. Texture* texture = (Texture*)duk_to_pointer(context, 0);
  5555. inst->setTexture(texture);
  5556. return 0;
  5557. }
  5558. duk_ret_t Polycode_SpriteSet_getTexture(duk_context *context) {
  5559. SpriteSet *inst = (SpriteSet*)duk_to_pointer(context, -1);
  5560. inst->getTexture();
  5561. return 0;
  5562. }
  5563. duk_ret_t Polycode_SpriteSet_loadTexture(duk_context *context) {
  5564. SpriteSet *inst = (SpriteSet*)duk_to_pointer(context, -1);
  5565. String imageFileName = duk_to_string(context, 0);
  5566. inst->loadTexture(imageFileName);
  5567. return 0;
  5568. }
  5569. duk_ret_t Polycode_SpriteSet_addSpriteEntry(duk_context *context) {
  5570. SpriteSet *inst = (SpriteSet*)duk_to_pointer(context, -1);
  5571. Sprite* newEntry = (Sprite*)duk_to_pointer(context, 0);
  5572. inst->addSpriteEntry(newEntry);
  5573. return 0;
  5574. }
  5575. duk_ret_t Polycode_SpriteSet_getNumSpriteEntries(duk_context *context) {
  5576. SpriteSet *inst = (SpriteSet*)duk_to_pointer(context, -1);
  5577. inst->getNumSpriteEntries();
  5578. return 0;
  5579. }
  5580. duk_ret_t Polycode_SpriteSet_getSpriteEntry(duk_context *context) {
  5581. SpriteSet *inst = (SpriteSet*)duk_to_pointer(context, -1);
  5582. int index = duk_to_int(context, 0);
  5583. inst->getSpriteEntry(index);
  5584. return 0;
  5585. }
  5586. duk_ret_t Polycode_SpriteSet_removeSprite(duk_context *context) {
  5587. SpriteSet *inst = (SpriteSet*)duk_to_pointer(context, -1);
  5588. Sprite* sprite = (Sprite*)duk_to_pointer(context, 0);
  5589. inst->removeSprite(sprite);
  5590. return 0;
  5591. }
  5592. duk_ret_t Polycode_SpriteSet_loadSpriteSet(duk_context *context) {
  5593. SpriteSet *inst = (SpriteSet*)duk_to_pointer(context, -1);
  5594. String fileName = duk_to_string(context, 0);
  5595. inst->loadSpriteSet(fileName);
  5596. return 0;
  5597. }
  5598. duk_ret_t Polycode_SpriteSet_addSpriteFrame(duk_context *context) {
  5599. SpriteSet *inst = (SpriteSet*)duk_to_pointer(context, -1);
  5600. SpriteFrame frame = *(SpriteFrame*)duk_to_pointer(context, 0);
  5601. bool assignID = duk_to_boolean(context, 1);
  5602. inst->addSpriteFrame(frame,assignID);
  5603. return 0;
  5604. }
  5605. duk_ret_t Polycode_SpriteSet_getNumFrames(duk_context *context) {
  5606. SpriteSet *inst = (SpriteSet*)duk_to_pointer(context, -1);
  5607. inst->getNumFrames();
  5608. return 0;
  5609. }
  5610. duk_ret_t Polycode_SpriteSet_getSpriteFrame(duk_context *context) {
  5611. SpriteSet *inst = (SpriteSet*)duk_to_pointer(context, -1);
  5612. int index = duk_to_int(context, 0);
  5613. inst->getSpriteFrame(index);
  5614. return 0;
  5615. }
  5616. duk_ret_t Polycode_SpriteSet_getSpriteFrameByID(duk_context *context) {
  5617. SpriteSet *inst = (SpriteSet*)duk_to_pointer(context, -1);
  5618. int frameID = duk_to_int(context, 0);
  5619. inst->getSpriteFrameByID(frameID);
  5620. return 0;
  5621. }
  5622. duk_ret_t Polycode_SpriteSet_removeFrameByID(duk_context *context) {
  5623. SpriteSet *inst = (SpriteSet*)duk_to_pointer(context, -1);
  5624. int frameID = duk_to_int(context, 0);
  5625. inst->removeFrameByID(frameID);
  5626. return 0;
  5627. }
  5628. duk_ret_t Polycode_SpriteSet_setSpriteFrame(duk_context *context) {
  5629. SpriteSet *inst = (SpriteSet*)duk_to_pointer(context, -1);
  5630. SpriteFrame frame = *(SpriteFrame*)duk_to_pointer(context, 0);
  5631. inst->setSpriteFrame(frame);
  5632. return 0;
  5633. }
  5634. duk_ret_t Polycode_SpriteSet_clearFrames(duk_context *context) {
  5635. SpriteSet *inst = (SpriteSet*)duk_to_pointer(context, -1);
  5636. inst->clearFrames();
  5637. return 0;
  5638. }
  5639. duk_ret_t Polycode_SpriteSet_createGridFrames(duk_context *context) {
  5640. SpriteSet *inst = (SpriteSet*)duk_to_pointer(context, -1);
  5641. int xCount = duk_to_int(context, 0);
  5642. int yCount = duk_to_int(context, 1);
  5643. Vector2 defaultAnchor = *(Vector2*)duk_to_pointer(context, 2);
  5644. inst->createGridFrames(xCount,yCount,defaultAnchor);
  5645. return 0;
  5646. }
  5647. duk_ret_t Polycode_SpriteSet_createFramesFromIslands(duk_context *context) {
  5648. SpriteSet *inst = (SpriteSet*)duk_to_pointer(context, -1);
  5649. int minDistance = duk_to_int(context, 0);
  5650. Vector2 defaultAnchor = *(Vector2*)duk_to_pointer(context, 1);
  5651. inst->createFramesFromIslands(minDistance,defaultAnchor);
  5652. return 0;
  5653. }
  5654. duk_ret_t Polycode_SpriteSet_getSpriteByName(duk_context *context) {
  5655. SpriteSet *inst = (SpriteSet*)duk_to_pointer(context, -1);
  5656. String spriteName = duk_to_string(context, 0);
  5657. inst->getSpriteByName(spriteName);
  5658. return 0;
  5659. }
  5660. duk_ret_t Polycode_SpriteState_setName(duk_context *context) {
  5661. SpriteState *inst = (SpriteState*)duk_to_pointer(context, -1);
  5662. String name = duk_to_string(context, 0);
  5663. inst->setName(name);
  5664. return 0;
  5665. }
  5666. duk_ret_t Polycode_SpriteState_getName(duk_context *context) {
  5667. SpriteState *inst = (SpriteState*)duk_to_pointer(context, -1);
  5668. inst->getName();
  5669. return 0;
  5670. }
  5671. duk_ret_t Polycode_SpriteState_getNumFrameIDs(duk_context *context) {
  5672. SpriteState *inst = (SpriteState*)duk_to_pointer(context, -1);
  5673. inst->getNumFrameIDs();
  5674. return 0;
  5675. }
  5676. duk_ret_t Polycode_SpriteState_getFrameIDAtIndex(duk_context *context) {
  5677. SpriteState *inst = (SpriteState*)duk_to_pointer(context, -1);
  5678. int index = duk_to_int(context, 0);
  5679. inst->getFrameIDAtIndex(index);
  5680. return 0;
  5681. }
  5682. duk_ret_t Polycode_SpriteState_getMeshForFrameIndex(duk_context *context) {
  5683. SpriteState *inst = (SpriteState*)duk_to_pointer(context, -1);
  5684. int index = duk_to_int(context, 0);
  5685. inst->getMeshForFrameIndex(index);
  5686. return 0;
  5687. }
  5688. duk_ret_t Polycode_SpriteState_insertFrame(duk_context *context) {
  5689. SpriteState *inst = (SpriteState*)duk_to_pointer(context, -1);
  5690. int index = duk_to_int(context, 0);
  5691. int frameID = duk_to_int(context, 1);
  5692. inst->insertFrame(index,frameID);
  5693. return 0;
  5694. }
  5695. duk_ret_t Polycode_SpriteState_removeFrameByIndex(duk_context *context) {
  5696. SpriteState *inst = (SpriteState*)duk_to_pointer(context, -1);
  5697. int frameIndex = duk_to_int(context, 0);
  5698. inst->removeFrameByIndex(frameIndex);
  5699. return 0;
  5700. }
  5701. duk_ret_t Polycode_SpriteState_clearFrames(duk_context *context) {
  5702. SpriteState *inst = (SpriteState*)duk_to_pointer(context, -1);
  5703. inst->clearFrames();
  5704. return 0;
  5705. }
  5706. duk_ret_t Polycode_SpriteState_setPixelsPerUnit(duk_context *context) {
  5707. SpriteState *inst = (SpriteState*)duk_to_pointer(context, -1);
  5708. Number ppu = duk_to_number(context, 0);
  5709. inst->setPixelsPerUnit(ppu);
  5710. return 0;
  5711. }
  5712. duk_ret_t Polycode_SpriteState_getPixelsPerUnit(duk_context *context) {
  5713. SpriteState *inst = (SpriteState*)duk_to_pointer(context, -1);
  5714. inst->getPixelsPerUnit();
  5715. return 0;
  5716. }
  5717. duk_ret_t Polycode_SpriteState_rebuildStateMeshes(duk_context *context) {
  5718. SpriteState *inst = (SpriteState*)duk_to_pointer(context, -1);
  5719. inst->rebuildStateMeshes();
  5720. return 0;
  5721. }
  5722. duk_ret_t Polycode_SpriteState_setStateFPS(duk_context *context) {
  5723. SpriteState *inst = (SpriteState*)duk_to_pointer(context, -1);
  5724. Number fps = duk_to_number(context, 0);
  5725. inst->setStateFPS(fps);
  5726. return 0;
  5727. }
  5728. duk_ret_t Polycode_SpriteState_getStateFPS(duk_context *context) {
  5729. SpriteState *inst = (SpriteState*)duk_to_pointer(context, -1);
  5730. inst->getStateFPS();
  5731. return 0;
  5732. }
  5733. duk_ret_t Polycode_SpriteState_getLargestFrameBoundingBox(duk_context *context) {
  5734. SpriteState *inst = (SpriteState*)duk_to_pointer(context, -1);
  5735. inst->getLargestFrameBoundingBox();
  5736. return 0;
  5737. }
  5738. duk_ret_t Polycode_SpriteState_setBoundingBox(duk_context *context) {
  5739. SpriteState *inst = (SpriteState*)duk_to_pointer(context, -1);
  5740. Vector2 boundingBox = *(Vector2*)duk_to_pointer(context, 0);
  5741. inst->setBoundingBox(boundingBox);
  5742. return 0;
  5743. }
  5744. duk_ret_t Polycode_SpriteState_getBoundingBox(duk_context *context) {
  5745. SpriteState *inst = (SpriteState*)duk_to_pointer(context, -1);
  5746. inst->getBoundingBox();
  5747. return 0;
  5748. }
  5749. duk_ret_t Polycode_SpriteState_getSpriteOffset(duk_context *context) {
  5750. SpriteState *inst = (SpriteState*)duk_to_pointer(context, -1);
  5751. inst->getSpriteOffset();
  5752. return 0;
  5753. }
  5754. duk_ret_t Polycode_SpriteState_setSpriteOffset(duk_context *context) {
  5755. SpriteState *inst = (SpriteState*)duk_to_pointer(context, -1);
  5756. Vector2 offset = *(Vector2*)duk_to_pointer(context, 0);
  5757. inst->setSpriteOffset(offset);
  5758. return 0;
  5759. }
  5760. duk_ret_t Polycode_Shader_getType(duk_context *context) {
  5761. Shader *inst = (Shader*)duk_to_pointer(context, -1);
  5762. inst->getType();
  5763. return 0;
  5764. }
  5765. duk_ret_t Polycode_Shader_setName(duk_context *context) {
  5766. Shader *inst = (Shader*)duk_to_pointer(context, -1);
  5767. String name = duk_to_string(context, 0);
  5768. inst->setName(name);
  5769. return 0;
  5770. }
  5771. duk_ret_t Polycode_Shader_getName(duk_context *context) {
  5772. Shader *inst = (Shader*)duk_to_pointer(context, -1);
  5773. inst->getName();
  5774. return 0;
  5775. }
  5776. duk_ret_t Polycode_Shader_getParamPointer(duk_context *context) {
  5777. Shader *inst = (Shader*)duk_to_pointer(context, -1);
  5778. String name = duk_to_string(context, 0);
  5779. inst->getParamPointer(name);
  5780. return 0;
  5781. }
  5782. duk_ret_t Polycode_Shader_getAttribPointer(duk_context *context) {
  5783. Shader *inst = (Shader*)duk_to_pointer(context, -1);
  5784. String name = duk_to_string(context, 0);
  5785. inst->getAttribPointer(name);
  5786. return 0;
  5787. }
  5788. duk_ret_t Polycode_Shader_reload(duk_context *context) {
  5789. Shader *inst = (Shader*)duk_to_pointer(context, -1);
  5790. inst->reload();
  5791. return 0;
  5792. }
  5793. duk_ret_t Polycode_Shader_getExpectedParamType(duk_context *context) {
  5794. Shader *inst = (Shader*)duk_to_pointer(context, -1);
  5795. String name = duk_to_string(context, 0);
  5796. inst->getExpectedParamType(name);
  5797. return 0;
  5798. }
  5799. duk_ret_t Polycode_Shader_setVertexProgram(duk_context *context) {
  5800. Shader *inst = (Shader*)duk_to_pointer(context, -1);
  5801. ShaderProgram* vp = (ShaderProgram*)duk_to_pointer(context, 0);
  5802. inst->setVertexProgram(vp);
  5803. return 0;
  5804. }
  5805. duk_ret_t Polycode_Shader_setFragmentProgram(duk_context *context) {
  5806. Shader *inst = (Shader*)duk_to_pointer(context, -1);
  5807. ShaderProgram* fp = (ShaderProgram*)duk_to_pointer(context, 0);
  5808. inst->setFragmentProgram(fp);
  5809. return 0;
  5810. }
  5811. duk_ret_t Polycode_LocalShaderParam_Copy(duk_context *context) {
  5812. LocalShaderParam *inst = (LocalShaderParam*)duk_to_pointer(context, -1);
  5813. inst->Copy();
  5814. return 0;
  5815. }
  5816. duk_ret_t Polycode_LocalShaderParam_getNumber(duk_context *context) {
  5817. LocalShaderParam *inst = (LocalShaderParam*)duk_to_pointer(context, -1);
  5818. inst->getNumber();
  5819. return 0;
  5820. }
  5821. duk_ret_t Polycode_LocalShaderParam_getVector2(duk_context *context) {
  5822. LocalShaderParam *inst = (LocalShaderParam*)duk_to_pointer(context, -1);
  5823. inst->getVector2();
  5824. return 0;
  5825. }
  5826. duk_ret_t Polycode_LocalShaderParam_getVector3(duk_context *context) {
  5827. LocalShaderParam *inst = (LocalShaderParam*)duk_to_pointer(context, -1);
  5828. inst->getVector3();
  5829. return 0;
  5830. }
  5831. duk_ret_t Polycode_LocalShaderParam_getMatrix4(duk_context *context) {
  5832. LocalShaderParam *inst = (LocalShaderParam*)duk_to_pointer(context, -1);
  5833. inst->getMatrix4();
  5834. return 0;
  5835. }
  5836. duk_ret_t Polycode_LocalShaderParam_getColor(duk_context *context) {
  5837. LocalShaderParam *inst = (LocalShaderParam*)duk_to_pointer(context, -1);
  5838. inst->getColor();
  5839. return 0;
  5840. }
  5841. duk_ret_t Polycode_LocalShaderParam_setNumber(duk_context *context) {
  5842. LocalShaderParam *inst = (LocalShaderParam*)duk_to_pointer(context, -1);
  5843. Number x = duk_to_number(context, 0);
  5844. inst->setNumber(x);
  5845. return 0;
  5846. }
  5847. duk_ret_t Polycode_LocalShaderParam_setVector2(duk_context *context) {
  5848. LocalShaderParam *inst = (LocalShaderParam*)duk_to_pointer(context, -1);
  5849. Vector2 x = *(Vector2*)duk_to_pointer(context, 0);
  5850. inst->setVector2(x);
  5851. return 0;
  5852. }
  5853. duk_ret_t Polycode_LocalShaderParam_setVector3(duk_context *context) {
  5854. LocalShaderParam *inst = (LocalShaderParam*)duk_to_pointer(context, -1);
  5855. Vector3 x = *(Vector3*)duk_to_pointer(context, 0);
  5856. inst->setVector3(x);
  5857. return 0;
  5858. }
  5859. duk_ret_t Polycode_LocalShaderParam_setMatrix4(duk_context *context) {
  5860. LocalShaderParam *inst = (LocalShaderParam*)duk_to_pointer(context, -1);
  5861. Matrix4 x = *(Matrix4*)duk_to_pointer(context, 0);
  5862. inst->setMatrix4(x);
  5863. return 0;
  5864. }
  5865. duk_ret_t Polycode_LocalShaderParam_setColor(duk_context *context) {
  5866. LocalShaderParam *inst = (LocalShaderParam*)duk_to_pointer(context, -1);
  5867. Color x = *(Color*)duk_to_pointer(context, 0);
  5868. inst->setColor(x);
  5869. return 0;
  5870. }
  5871. duk_ret_t Polycode_LocalShaderParam_setTexture(duk_context *context) {
  5872. LocalShaderParam *inst = (LocalShaderParam*)duk_to_pointer(context, -1);
  5873. Texture* texture = (Texture*)duk_to_pointer(context, 0);
  5874. inst->setTexture(texture);
  5875. return 0;
  5876. }
  5877. duk_ret_t Polycode_LocalShaderParam_getTexture(duk_context *context) {
  5878. LocalShaderParam *inst = (LocalShaderParam*)duk_to_pointer(context, -1);
  5879. inst->getTexture();
  5880. return 0;
  5881. }
  5882. duk_ret_t Polycode_LocalShaderParam_setCubemap(duk_context *context) {
  5883. LocalShaderParam *inst = (LocalShaderParam*)duk_to_pointer(context, -1);
  5884. Cubemap* cubemap = (Cubemap*)duk_to_pointer(context, 0);
  5885. inst->setCubemap(cubemap);
  5886. return 0;
  5887. }
  5888. duk_ret_t Polycode_LocalShaderParam_getCubemap(duk_context *context) {
  5889. LocalShaderParam *inst = (LocalShaderParam*)duk_to_pointer(context, -1);
  5890. inst->getCubemap();
  5891. return 0;
  5892. }
  5893. duk_ret_t Polycode_LocalShaderParam_setParamValueFromString(duk_context *context) {
  5894. LocalShaderParam *inst = (LocalShaderParam*)duk_to_pointer(context, -1);
  5895. int type = duk_to_int(context, 0);
  5896. String pvalue = duk_to_string(context, 1);
  5897. inst->setParamValueFromString(type,pvalue);
  5898. return 0;
  5899. }
  5900. duk_ret_t Polycode_ShaderProgram_reloadProgram(duk_context *context) {
  5901. ShaderProgram *inst = (ShaderProgram*)duk_to_pointer(context, -1);
  5902. inst->reloadProgram();
  5903. return 0;
  5904. }
  5905. duk_ret_t Polycode_ShaderProgram_reloadResource(duk_context *context) {
  5906. ShaderProgram *inst = (ShaderProgram*)duk_to_pointer(context, -1);
  5907. inst->reloadResource();
  5908. return 0;
  5909. }
  5910. duk_ret_t Polycode_ShaderBinding_copyTo(duk_context *context) {
  5911. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  5912. ShaderBinding* targetBinding = (ShaderBinding*)duk_to_pointer(context, 0);
  5913. inst->copyTo(targetBinding);
  5914. return 0;
  5915. }
  5916. duk_ret_t Polycode_ShaderBinding_addParam(duk_context *context) {
  5917. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  5918. int type = duk_to_int(context, 0);
  5919. String name = duk_to_string(context, 1);
  5920. inst->addParam(type,name);
  5921. return 0;
  5922. }
  5923. duk_ret_t Polycode_ShaderBinding_addParamPointer(duk_context *context) {
  5924. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  5925. int type = duk_to_int(context, 0);
  5926. String name = duk_to_string(context, 1);
  5927. void* ptr = (void*)duk_to_pointer(context, 2);
  5928. inst->addParamPointer(type,name,ptr);
  5929. return 0;
  5930. }
  5931. duk_ret_t Polycode_ShaderBinding_getNumLocalParams(duk_context *context) {
  5932. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  5933. inst->getNumLocalParams();
  5934. return 0;
  5935. }
  5936. duk_ret_t Polycode_ShaderBinding_getLocalParam(duk_context *context) {
  5937. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  5938. int index = duk_to_int(context, 0);
  5939. inst->getLocalParam(index);
  5940. return 0;
  5941. }
  5942. duk_ret_t Polycode_ShaderBinding_getLocalParamByName(duk_context *context) {
  5943. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  5944. String name = duk_to_string(context, 0);
  5945. inst->getLocalParamByName(name);
  5946. return 0;
  5947. }
  5948. duk_ret_t Polycode_ShaderBinding_removeParam(duk_context *context) {
  5949. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  5950. String name = duk_to_string(context, 0);
  5951. inst->removeParam(name);
  5952. return 0;
  5953. }
  5954. duk_ret_t Polycode_ShaderBinding_loadTextureForParam(duk_context *context) {
  5955. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  5956. String paramName = duk_to_string(context, 0);
  5957. String fileName = duk_to_string(context, 1);
  5958. inst->loadTextureForParam(paramName,fileName);
  5959. return 0;
  5960. }
  5961. duk_ret_t Polycode_ShaderBinding_setTextureForParam(duk_context *context) {
  5962. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  5963. String paramName = duk_to_string(context, 0);
  5964. Texture* texture = (Texture*)duk_to_pointer(context, 1);
  5965. inst->setTextureForParam(paramName,texture);
  5966. return 0;
  5967. }
  5968. duk_ret_t Polycode_ShaderBinding_setCubemapForParam(duk_context *context) {
  5969. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  5970. String paramName = duk_to_string(context, 0);
  5971. Cubemap* cubemap = (Cubemap*)duk_to_pointer(context, 1);
  5972. inst->setCubemapForParam(paramName,cubemap);
  5973. return 0;
  5974. }
  5975. duk_ret_t Polycode_ShaderBinding_getNumAttributeBindings(duk_context *context) {
  5976. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  5977. inst->getNumAttributeBindings();
  5978. return 0;
  5979. }
  5980. duk_ret_t Polycode_ShaderBinding_getAttributeBinding(duk_context *context) {
  5981. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  5982. int index = duk_to_int(context, 0);
  5983. inst->getAttributeBinding(index);
  5984. return 0;
  5985. }
  5986. duk_ret_t Polycode_ShaderBinding_addAttributeBinding(duk_context *context) {
  5987. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  5988. String name = duk_to_string(context, 0);
  5989. VertexDataArray* dataArray = (VertexDataArray*)duk_to_pointer(context, 1);
  5990. inst->addAttributeBinding(name,dataArray);
  5991. return 0;
  5992. }
  5993. duk_ret_t Polycode_ShaderBinding_getAttributeBindingByName(duk_context *context) {
  5994. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  5995. String name = duk_to_string(context, 0);
  5996. inst->getAttributeBindingByName(name);
  5997. return 0;
  5998. }
  5999. duk_ret_t Polycode_ShaderBinding_addRenderTargetBinding(duk_context *context) {
  6000. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  6001. RenderTargetBinding* binding = (RenderTargetBinding*)duk_to_pointer(context, 0);
  6002. inst->addRenderTargetBinding(binding);
  6003. return 0;
  6004. }
  6005. duk_ret_t Polycode_ShaderBinding_removeRenderTargetBinding(duk_context *context) {
  6006. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  6007. RenderTargetBinding* binding = (RenderTargetBinding*)duk_to_pointer(context, 0);
  6008. inst->removeRenderTargetBinding(binding);
  6009. return 0;
  6010. }
  6011. duk_ret_t Polycode_ShaderBinding_getNumRenderTargetBindings(duk_context *context) {
  6012. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  6013. inst->getNumRenderTargetBindings();
  6014. return 0;
  6015. }
  6016. duk_ret_t Polycode_ShaderBinding_getRenderTargetBinding(duk_context *context) {
  6017. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  6018. int index = duk_to_int(context, 0);
  6019. inst->getRenderTargetBinding(index);
  6020. return 0;
  6021. }
  6022. duk_ret_t Polycode_ShaderBinding_getNumInTargetBindings(duk_context *context) {
  6023. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  6024. inst->getNumInTargetBindings();
  6025. return 0;
  6026. }
  6027. duk_ret_t Polycode_ShaderBinding_getInTargetBinding(duk_context *context) {
  6028. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  6029. int index = duk_to_int(context, 0);
  6030. inst->getInTargetBinding(index);
  6031. return 0;
  6032. }
  6033. duk_ret_t Polycode_ShaderBinding_getNumColorTargetBindings(duk_context *context) {
  6034. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  6035. inst->getNumColorTargetBindings();
  6036. return 0;
  6037. }
  6038. duk_ret_t Polycode_ShaderBinding_getColorTargetBinding(duk_context *context) {
  6039. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  6040. int index = duk_to_int(context, 0);
  6041. inst->getColorTargetBinding(index);
  6042. return 0;
  6043. }
  6044. duk_ret_t Polycode_ShaderBinding_getNumDepthTargetBindings(duk_context *context) {
  6045. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  6046. inst->getNumDepthTargetBindings();
  6047. return 0;
  6048. }
  6049. duk_ret_t Polycode_ShaderBinding_getDepthTargetBinding(duk_context *context) {
  6050. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  6051. int index = duk_to_int(context, 0);
  6052. inst->getDepthTargetBinding(index);
  6053. return 0;
  6054. }
  6055. duk_ret_t Polycode_ShaderBinding_getNumOutTargetBindings(duk_context *context) {
  6056. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  6057. inst->getNumOutTargetBindings();
  6058. return 0;
  6059. }
  6060. duk_ret_t Polycode_ShaderBinding_getOutTargetBinding(duk_context *context) {
  6061. ShaderBinding *inst = (ShaderBinding*)duk_to_pointer(context, -1);
  6062. int index = duk_to_int(context, 0);
  6063. inst->getOutTargetBinding(index);
  6064. return 0;
  6065. }
  6066. duk_ret_t Polycode_SkeletonAnimation_addBoneTrack(duk_context *context) {
  6067. SkeletonAnimation *inst = (SkeletonAnimation*)duk_to_pointer(context, -1);
  6068. BoneTrack* boneTrack = (BoneTrack*)duk_to_pointer(context, 0);
  6069. inst->addBoneTrack(boneTrack);
  6070. return 0;
  6071. }
  6072. duk_ret_t Polycode_SkeletonAnimation_getName(duk_context *context) {
  6073. SkeletonAnimation *inst = (SkeletonAnimation*)duk_to_pointer(context, -1);
  6074. inst->getName();
  6075. return 0;
  6076. }
  6077. duk_ret_t Polycode_SkeletonAnimation_Play(duk_context *context) {
  6078. SkeletonAnimation *inst = (SkeletonAnimation*)duk_to_pointer(context, -1);
  6079. bool once = duk_to_boolean(context, 0);
  6080. inst->Play(once);
  6081. return 0;
  6082. }
  6083. duk_ret_t Polycode_SkeletonAnimation_Stop(duk_context *context) {
  6084. SkeletonAnimation *inst = (SkeletonAnimation*)duk_to_pointer(context, -1);
  6085. inst->Stop();
  6086. return 0;
  6087. }
  6088. duk_ret_t Polycode_SkeletonAnimation_Reset(duk_context *context) {
  6089. SkeletonAnimation *inst = (SkeletonAnimation*)duk_to_pointer(context, -1);
  6090. inst->Reset();
  6091. return 0;
  6092. }
  6093. duk_ret_t Polycode_SkeletonAnimation_Update(duk_context *context) {
  6094. SkeletonAnimation *inst = (SkeletonAnimation*)duk_to_pointer(context, -1);
  6095. inst->Update();
  6096. return 0;
  6097. }
  6098. duk_ret_t Polycode_SkeletonAnimation_setSpeed(duk_context *context) {
  6099. SkeletonAnimation *inst = (SkeletonAnimation*)duk_to_pointer(context, -1);
  6100. Number speed = duk_to_number(context, 0);
  6101. inst->setSpeed(speed);
  6102. return 0;
  6103. }
  6104. duk_ret_t Polycode_SkeletonAnimation_setWeight(duk_context *context) {
  6105. SkeletonAnimation *inst = (SkeletonAnimation*)duk_to_pointer(context, -1);
  6106. Number newWeight = duk_to_number(context, 0);
  6107. inst->setWeight(newWeight);
  6108. return 0;
  6109. }
  6110. duk_ret_t Polycode_SkeletonAnimation_getWeight(duk_context *context) {
  6111. SkeletonAnimation *inst = (SkeletonAnimation*)duk_to_pointer(context, -1);
  6112. inst->getWeight();
  6113. return 0;
  6114. }
  6115. duk_ret_t Polycode_SkeletonAnimation_isPlaying(duk_context *context) {
  6116. SkeletonAnimation *inst = (SkeletonAnimation*)duk_to_pointer(context, -1);
  6117. inst->isPlaying();
  6118. return 0;
  6119. }
  6120. duk_ret_t Polycode_Skeleton_loadSkeleton(duk_context *context) {
  6121. Skeleton *inst = (Skeleton*)duk_to_pointer(context, -1);
  6122. String fileName = duk_to_string(context, 0);
  6123. inst->loadSkeleton(fileName);
  6124. return 0;
  6125. }
  6126. duk_ret_t Polycode_Skeleton_playAnimationByName(duk_context *context) {
  6127. Skeleton *inst = (Skeleton*)duk_to_pointer(context, -1);
  6128. String animName = duk_to_string(context, 0);
  6129. Number weight = duk_to_number(context, 1);
  6130. bool once = duk_to_boolean(context, 2);
  6131. bool restartIfPlaying = duk_to_boolean(context, 3);
  6132. inst->playAnimationByName(animName,weight,once,restartIfPlaying);
  6133. return 0;
  6134. }
  6135. duk_ret_t Polycode_Skeleton_playAnimation(duk_context *context) {
  6136. Skeleton *inst = (Skeleton*)duk_to_pointer(context, -1);
  6137. SkeletonAnimation* animation = (SkeletonAnimation*)duk_to_pointer(context, 0);
  6138. Number weight = duk_to_number(context, 1);
  6139. bool once = duk_to_boolean(context, 2);
  6140. bool restartIfPlaying = duk_to_boolean(context, 3);
  6141. inst->playAnimation(animation,weight,once,restartIfPlaying);
  6142. return 0;
  6143. }
  6144. duk_ret_t Polycode_Skeleton_setBaseAnimationByName(duk_context *context) {
  6145. Skeleton *inst = (Skeleton*)duk_to_pointer(context, -1);
  6146. String animName = duk_to_string(context, 0);
  6147. inst->setBaseAnimationByName(animName);
  6148. return 0;
  6149. }
  6150. duk_ret_t Polycode_Skeleton_setBaseAnimation(duk_context *context) {
  6151. Skeleton *inst = (Skeleton*)duk_to_pointer(context, -1);
  6152. SkeletonAnimation* animation = (SkeletonAnimation*)duk_to_pointer(context, 0);
  6153. inst->setBaseAnimation(animation);
  6154. return 0;
  6155. }
  6156. duk_ret_t Polycode_Skeleton_stopAllAnimations(duk_context *context) {
  6157. Skeleton *inst = (Skeleton*)duk_to_pointer(context, -1);
  6158. inst->stopAllAnimations();
  6159. return 0;
  6160. }
  6161. duk_ret_t Polycode_Skeleton_getBaseAnimation(duk_context *context) {
  6162. Skeleton *inst = (Skeleton*)duk_to_pointer(context, -1);
  6163. inst->getBaseAnimation();
  6164. return 0;
  6165. }
  6166. duk_ret_t Polycode_Skeleton_addAnimation(duk_context *context) {
  6167. Skeleton *inst = (Skeleton*)duk_to_pointer(context, -1);
  6168. String name = duk_to_string(context, 0);
  6169. String fileName = duk_to_string(context, 1);
  6170. inst->addAnimation(name,fileName);
  6171. return 0;
  6172. }
  6173. duk_ret_t Polycode_Skeleton_getAnimation(duk_context *context) {
  6174. Skeleton *inst = (Skeleton*)duk_to_pointer(context, -1);
  6175. String name = duk_to_string(context, 0);
  6176. inst->getAnimation(name);
  6177. return 0;
  6178. }
  6179. duk_ret_t Polycode_Skeleton_stopAnimationByName(duk_context *context) {
  6180. Skeleton *inst = (Skeleton*)duk_to_pointer(context, -1);
  6181. String name = duk_to_string(context, 0);
  6182. inst->stopAnimationByName(name);
  6183. return 0;
  6184. }
  6185. duk_ret_t Polycode_Skeleton_stopAnimation(duk_context *context) {
  6186. Skeleton *inst = (Skeleton*)duk_to_pointer(context, -1);
  6187. SkeletonAnimation* animation = (SkeletonAnimation*)duk_to_pointer(context, 0);
  6188. inst->stopAnimation(animation);
  6189. return 0;
  6190. }
  6191. duk_ret_t Polycode_Skeleton_Update(duk_context *context) {
  6192. Skeleton *inst = (Skeleton*)duk_to_pointer(context, -1);
  6193. inst->Update();
  6194. return 0;
  6195. }
  6196. duk_ret_t Polycode_Skeleton_getBoneByName(duk_context *context) {
  6197. Skeleton *inst = (Skeleton*)duk_to_pointer(context, -1);
  6198. String name = duk_to_string(context, 0);
  6199. inst->getBoneByName(name);
  6200. return 0;
  6201. }
  6202. duk_ret_t Polycode_Skeleton_bonesVisible(duk_context *context) {
  6203. Skeleton *inst = (Skeleton*)duk_to_pointer(context, -1);
  6204. bool val = duk_to_boolean(context, 0);
  6205. inst->bonesVisible(val);
  6206. return 0;
  6207. }
  6208. duk_ret_t Polycode_Skeleton_getNumBones(duk_context *context) {
  6209. Skeleton *inst = (Skeleton*)duk_to_pointer(context, -1);
  6210. inst->getNumBones();
  6211. return 0;
  6212. }
  6213. duk_ret_t Polycode_Skeleton_getBone(duk_context *context) {
  6214. Skeleton *inst = (Skeleton*)duk_to_pointer(context, -1);
  6215. int index = duk_to_int(context, 0);
  6216. inst->getBone(index);
  6217. return 0;
  6218. }
  6219. duk_ret_t Polycode_Skeleton_addBone(duk_context *context) {
  6220. Skeleton *inst = (Skeleton*)duk_to_pointer(context, -1);
  6221. Bone* bone = (Bone*)duk_to_pointer(context, 0);
  6222. inst->addBone(bone);
  6223. return 0;
  6224. }
  6225. duk_ret_t Polycode_Skeleton_removeBone(duk_context *context) {
  6226. Skeleton *inst = (Skeleton*)duk_to_pointer(context, -1);
  6227. Bone* bone = (Bone*)duk_to_pointer(context, 0);
  6228. inst->removeBone(bone);
  6229. return 0;
  6230. }
  6231. duk_ret_t Polycode_Skeleton_getBoneIndexByBone(duk_context *context) {
  6232. Skeleton *inst = (Skeleton*)duk_to_pointer(context, -1);
  6233. Bone* bone = (Bone*)duk_to_pointer(context, 0);
  6234. inst->getBoneIndexByBone(bone);
  6235. return 0;
  6236. }
  6237. duk_ret_t Polycode_BoneTrack_Play(duk_context *context) {
  6238. BoneTrack *inst = (BoneTrack*)duk_to_pointer(context, -1);
  6239. bool once = duk_to_boolean(context, 0);
  6240. inst->Play(once);
  6241. return 0;
  6242. }
  6243. duk_ret_t Polycode_BoneTrack_Stop(duk_context *context) {
  6244. BoneTrack *inst = (BoneTrack*)duk_to_pointer(context, -1);
  6245. inst->Stop();
  6246. return 0;
  6247. }
  6248. duk_ret_t Polycode_BoneTrack_Update(duk_context *context) {
  6249. BoneTrack *inst = (BoneTrack*)duk_to_pointer(context, -1);
  6250. Number elapsed = duk_to_number(context, 0);
  6251. inst->Update(elapsed);
  6252. return 0;
  6253. }
  6254. duk_ret_t Polycode_BoneTrack_Reset(duk_context *context) {
  6255. BoneTrack *inst = (BoneTrack*)duk_to_pointer(context, -1);
  6256. inst->Reset();
  6257. return 0;
  6258. }
  6259. duk_ret_t Polycode_BoneTrack_setSpeed(duk_context *context) {
  6260. BoneTrack *inst = (BoneTrack*)duk_to_pointer(context, -1);
  6261. Number speed = duk_to_number(context, 0);
  6262. inst->setSpeed(speed);
  6263. return 0;
  6264. }
  6265. duk_ret_t Polycode_Sound_getSampleAsNumber(duk_context *context) {
  6266. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6267. int offset = duk_to_int(context, 0);
  6268. int channel = duk_to_int(context, 1);
  6269. inst->getSampleAsNumber(offset,channel);
  6270. return 0;
  6271. }
  6272. duk_ret_t Polycode_Sound_loadFile(duk_context *context) {
  6273. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6274. String fileName = duk_to_string(context, 0);
  6275. inst->loadFile(fileName);
  6276. return 0;
  6277. }
  6278. duk_ret_t Polycode_Sound_Play(duk_context *context) {
  6279. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6280. bool loop = duk_to_boolean(context, 0);
  6281. bool restartSound = duk_to_boolean(context, 1);
  6282. inst->Play(loop,restartSound);
  6283. return 0;
  6284. }
  6285. duk_ret_t Polycode_Sound_Stop(duk_context *context) {
  6286. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6287. inst->Stop();
  6288. return 0;
  6289. }
  6290. duk_ret_t Polycode_Sound_setVolume(duk_context *context) {
  6291. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6292. Number newVolume = duk_to_number(context, 0);
  6293. inst->setVolume(newVolume);
  6294. return 0;
  6295. }
  6296. duk_ret_t Polycode_Sound_getVolume(duk_context *context) {
  6297. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6298. inst->getVolume();
  6299. return 0;
  6300. }
  6301. duk_ret_t Polycode_Sound_setPitch(duk_context *context) {
  6302. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6303. Number newPitch = duk_to_number(context, 0);
  6304. inst->setPitch(newPitch);
  6305. return 0;
  6306. }
  6307. duk_ret_t Polycode_Sound_getPitch(duk_context *context) {
  6308. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6309. inst->getPitch();
  6310. return 0;
  6311. }
  6312. duk_ret_t Polycode_Sound_isPlaying(duk_context *context) {
  6313. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6314. inst->isPlaying();
  6315. return 0;
  6316. }
  6317. duk_ret_t Polycode_Sound_isLooped(duk_context *context) {
  6318. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6319. inst->isLooped();
  6320. return 0;
  6321. }
  6322. duk_ret_t Polycode_Sound_setIsPositional(duk_context *context) {
  6323. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6324. bool isPositional = duk_to_boolean(context, 0);
  6325. inst->setIsPositional(isPositional);
  6326. return 0;
  6327. }
  6328. duk_ret_t Polycode_Sound_setSoundPosition(duk_context *context) {
  6329. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6330. Vector3 position = *(Vector3*)duk_to_pointer(context, 0);
  6331. inst->setSoundPosition(position);
  6332. return 0;
  6333. }
  6334. duk_ret_t Polycode_Sound_setSoundVelocity(duk_context *context) {
  6335. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6336. Vector3 velocity = *(Vector3*)duk_to_pointer(context, 0);
  6337. inst->setSoundVelocity(velocity);
  6338. return 0;
  6339. }
  6340. duk_ret_t Polycode_Sound_setSoundDirection(duk_context *context) {
  6341. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6342. Vector3 direction = *(Vector3*)duk_to_pointer(context, 0);
  6343. inst->setSoundDirection(direction);
  6344. return 0;
  6345. }
  6346. duk_ret_t Polycode_Sound_setOffset(duk_context *context) {
  6347. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6348. int offset = duk_to_int(context, 0);
  6349. inst->setOffset(offset);
  6350. return 0;
  6351. }
  6352. duk_ret_t Polycode_Sound_getFileName(duk_context *context) {
  6353. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6354. inst->getFileName();
  6355. return 0;
  6356. }
  6357. duk_ret_t Polycode_Sound_getPlaybackDuration(duk_context *context) {
  6358. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6359. inst->getPlaybackDuration();
  6360. return 0;
  6361. }
  6362. duk_ret_t Polycode_Sound_getPlaybackTime(duk_context *context) {
  6363. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6364. inst->getPlaybackTime();
  6365. return 0;
  6366. }
  6367. duk_ret_t Polycode_Sound_seekTo(duk_context *context) {
  6368. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6369. Number time = duk_to_number(context, 0);
  6370. inst->seekTo(time);
  6371. return 0;
  6372. }
  6373. duk_ret_t Polycode_Sound_getOffset(duk_context *context) {
  6374. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6375. inst->getOffset();
  6376. return 0;
  6377. }
  6378. duk_ret_t Polycode_Sound_getSampleLength(duk_context *context) {
  6379. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6380. inst->getSampleLength();
  6381. return 0;
  6382. }
  6383. duk_ret_t Polycode_Sound_getFrequency(duk_context *context) {
  6384. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6385. inst->getFrequency();
  6386. return 0;
  6387. }
  6388. duk_ret_t Polycode_Sound_setPositionalProperties(duk_context *context) {
  6389. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6390. Number referenceDistance = duk_to_number(context, 0);
  6391. Number maxDistance = duk_to_number(context, 1);
  6392. inst->setPositionalProperties(referenceDistance,maxDistance);
  6393. return 0;
  6394. }
  6395. duk_ret_t Polycode_Sound_setReferenceDistance(duk_context *context) {
  6396. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6397. Number referenceDistance = duk_to_number(context, 0);
  6398. inst->setReferenceDistance(referenceDistance);
  6399. return 0;
  6400. }
  6401. duk_ret_t Polycode_Sound_setMaxDistance(duk_context *context) {
  6402. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6403. Number maxDistance = duk_to_number(context, 0);
  6404. inst->setMaxDistance(maxDistance);
  6405. return 0;
  6406. }
  6407. duk_ret_t Polycode_Sound_getReferenceDistance(duk_context *context) {
  6408. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6409. inst->getReferenceDistance();
  6410. return 0;
  6411. }
  6412. duk_ret_t Polycode_Sound_getMaxDistance(duk_context *context) {
  6413. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6414. inst->getMaxDistance();
  6415. return 0;
  6416. }
  6417. duk_ret_t Polycode_Sound_loadBytes(duk_context *context) {
  6418. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6419. char* data = (char*)duk_to_pointer(context, 0);
  6420. int size = duk_to_int(context, 1);
  6421. int channels = duk_to_int(context, 2);
  6422. int freq = duk_to_int(context, 3);
  6423. SoundFormat format = *(SoundFormat*)duk_to_pointer(context, 4);
  6424. inst->loadBytes(data,size,channels,freq,format);
  6425. return 0;
  6426. }
  6427. duk_ret_t Polycode_Sound_loadWAV(duk_context *context) {
  6428. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6429. String fileName = duk_to_string(context, 0);
  6430. inst->loadWAV(fileName);
  6431. return 0;
  6432. }
  6433. duk_ret_t Polycode_Sound_loadOGG(duk_context *context) {
  6434. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6435. String fileName = duk_to_string(context, 0);
  6436. inst->loadOGG(fileName);
  6437. return 0;
  6438. }
  6439. duk_ret_t Polycode_Sound_soundCheck(duk_context *context) {
  6440. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6441. bool result = duk_to_boolean(context, 0);
  6442. String err = duk_to_string(context, 1);
  6443. inst->soundCheck(result,err);
  6444. return 0;
  6445. }
  6446. duk_ret_t Polycode_Sound_updateStream(duk_context *context) {
  6447. Sound *inst = (Sound*)duk_to_pointer(context, -1);
  6448. int streamCount = duk_to_int(context, 0);
  6449. inst->updateStream(streamCount);
  6450. return 0;
  6451. }
  6452. duk_ret_t Polycode_AudioStreamingSource_getNumChannels(duk_context *context) {
  6453. AudioStreamingSource *inst = (AudioStreamingSource*)duk_to_pointer(context, -1);
  6454. inst->getNumChannels();
  6455. return 0;
  6456. }
  6457. duk_ret_t Polycode_AudioStreamingSource_getFrequency(duk_context *context) {
  6458. AudioStreamingSource *inst = (AudioStreamingSource*)duk_to_pointer(context, -1);
  6459. inst->getFrequency();
  6460. return 0;
  6461. }
  6462. duk_ret_t Polycode_AudioMixer_mixIntoBuffer(duk_context *context) {
  6463. AudioMixer *inst = (AudioMixer*)duk_to_pointer(context, -1);
  6464. int16_t* buffer = (int16_t*)duk_to_pointer(context, 0);
  6465. int numSamples = duk_to_int(context, 1);
  6466. inst->mixIntoBuffer(buffer,numSamples);
  6467. return 0;
  6468. }
  6469. duk_ret_t Polycode_SoundManager_setListenerPosition(duk_context *context) {
  6470. SoundManager *inst = (SoundManager*)duk_to_pointer(context, -1);
  6471. Vector3 position = *(Vector3*)duk_to_pointer(context, 0);
  6472. inst->setListenerPosition(position);
  6473. return 0;
  6474. }
  6475. duk_ret_t Polycode_SoundManager_setListenerOrientation(duk_context *context) {
  6476. SoundManager *inst = (SoundManager*)duk_to_pointer(context, -1);
  6477. Vector3 orientation = *(Vector3*)duk_to_pointer(context, 0);
  6478. Vector3 upVector = *(Vector3*)duk_to_pointer(context, 1);
  6479. inst->setListenerOrientation(orientation,upVector);
  6480. return 0;
  6481. }
  6482. duk_ret_t Polycode_SoundManager_recordSound(duk_context *context) {
  6483. SoundManager *inst = (SoundManager*)duk_to_pointer(context, -1);
  6484. int rate = duk_to_int(context, 0);
  6485. int sampleSize = duk_to_int(context, 1);
  6486. inst->recordSound(rate,sampleSize);
  6487. return 0;
  6488. }
  6489. duk_ret_t Polycode_SoundManager_stopRecording(duk_context *context) {
  6490. SoundManager *inst = (SoundManager*)duk_to_pointer(context, -1);
  6491. bool generateFloatBuffer = duk_to_boolean(context, 0);
  6492. inst->stopRecording(generateFloatBuffer);
  6493. return 0;
  6494. }
  6495. duk_ret_t Polycode_SoundManager_setAudioInterface(duk_context *context) {
  6496. SoundManager *inst = (SoundManager*)duk_to_pointer(context, -1);
  6497. AudioInterface* audioInterface = (AudioInterface*)duk_to_pointer(context, 0);
  6498. inst->setAudioInterface(audioInterface);
  6499. return 0;
  6500. }
  6501. duk_ret_t Polycode_SoundManager_Update(duk_context *context) {
  6502. SoundManager *inst = (SoundManager*)duk_to_pointer(context, -1);
  6503. inst->Update();
  6504. return 0;
  6505. }
  6506. duk_ret_t Polycode_SoundManager_setGlobalVolume(duk_context *context) {
  6507. SoundManager *inst = (SoundManager*)duk_to_pointer(context, -1);
  6508. Number globalVolume = duk_to_number(context, 0);
  6509. inst->setGlobalVolume(globalVolume);
  6510. return 0;
  6511. }
  6512. duk_ret_t Polycode_SoundManager_registerSound(duk_context *context) {
  6513. SoundManager *inst = (SoundManager*)duk_to_pointer(context, -1);
  6514. Sound* sound = (Sound*)duk_to_pointer(context, 0);
  6515. inst->registerSound(sound);
  6516. return 0;
  6517. }
  6518. duk_ret_t Polycode_SoundManager_unregisterSound(duk_context *context) {
  6519. SoundManager *inst = (SoundManager*)duk_to_pointer(context, -1);
  6520. Sound* sound = (Sound*)duk_to_pointer(context, 0);
  6521. inst->unregisterSound(sound);
  6522. return 0;
  6523. }
  6524. duk_ret_t Polycode_String_size(duk_context *context) {
  6525. String *inst = (String*)duk_to_pointer(context, -1);
  6526. inst->size();
  6527. return 0;
  6528. }
  6529. duk_ret_t Polycode_String_length(duk_context *context) {
  6530. String *inst = (String*)duk_to_pointer(context, -1);
  6531. inst->length();
  6532. return 0;
  6533. }
  6534. duk_ret_t Polycode_String_substr(duk_context *context) {
  6535. String *inst = (String*)duk_to_pointer(context, -1);
  6536. size_t pos = *(size_t*)duk_to_pointer(context, 0);
  6537. size_t n = *(size_t*)duk_to_pointer(context, 1);
  6538. inst->substr(pos,n);
  6539. return 0;
  6540. }
  6541. duk_ret_t Polycode_String_rfind(duk_context *context) {
  6542. String *inst = (String*)duk_to_pointer(context, -1);
  6543. String str = duk_to_string(context, 0);
  6544. size_t pos = *(size_t*)duk_to_pointer(context, 1);
  6545. inst->rfind(str,pos);
  6546. return 0;
  6547. }
  6548. duk_ret_t Polycode_String_find(duk_context *context) {
  6549. String *inst = (String*)duk_to_pointer(context, -1);
  6550. String str = duk_to_string(context, 0);
  6551. size_t pos = *(size_t*)duk_to_pointer(context, 1);
  6552. inst->find(str,pos);
  6553. return 0;
  6554. }
  6555. duk_ret_t Polycode_String_find_last_of(duk_context *context) {
  6556. String *inst = (String*)duk_to_pointer(context, -1);
  6557. String str = duk_to_string(context, 0);
  6558. size_t pos = *(size_t*)duk_to_pointer(context, 1);
  6559. inst->find_last_of(str,pos);
  6560. return 0;
  6561. }
  6562. duk_ret_t Polycode_String_find_first_of(duk_context *context) {
  6563. String *inst = (String*)duk_to_pointer(context, -1);
  6564. String str = duk_to_string(context, 0);
  6565. size_t pos = *(size_t*)duk_to_pointer(context, 1);
  6566. inst->find_first_of(str,pos);
  6567. return 0;
  6568. }
  6569. duk_ret_t Polycode_String_toLowerCase(duk_context *context) {
  6570. String *inst = (String*)duk_to_pointer(context, -1);
  6571. inst->toLowerCase();
  6572. return 0;
  6573. }
  6574. duk_ret_t Polycode_String_toUpperCase(duk_context *context) {
  6575. String *inst = (String*)duk_to_pointer(context, -1);
  6576. inst->toUpperCase();
  6577. return 0;
  6578. }
  6579. duk_ret_t Polycode_String_split(duk_context *context) {
  6580. String *inst = (String*)duk_to_pointer(context, -1);
  6581. String delim = duk_to_string(context, 0);
  6582. inst->split(delim);
  6583. return 0;
  6584. }
  6585. duk_ret_t Polycode_String_replace(duk_context *context) {
  6586. String *inst = (String*)duk_to_pointer(context, -1);
  6587. String what = duk_to_string(context, 0);
  6588. String withWhat = duk_to_string(context, 1);
  6589. inst->replace(what,withWhat);
  6590. return 0;
  6591. }
  6592. duk_ret_t Polycode_String_toNumber(duk_context *context) {
  6593. String *inst = (String*)duk_to_pointer(context, -1);
  6594. inst->toNumber();
  6595. return 0;
  6596. }
  6597. duk_ret_t Polycode_String_toInteger(duk_context *context) {
  6598. String *inst = (String*)duk_to_pointer(context, -1);
  6599. inst->toInteger();
  6600. return 0;
  6601. }
  6602. duk_ret_t Polycode_String_c_str(duk_context *context) {
  6603. String *inst = (String*)duk_to_pointer(context, -1);
  6604. inst->c_str();
  6605. return 0;
  6606. }
  6607. duk_ret_t Polycode_String_getDataWithEncoding(duk_context *context) {
  6608. String *inst = (String*)duk_to_pointer(context, -1);
  6609. int encoding = duk_to_int(context, 0);
  6610. inst->getDataWithEncoding(encoding);
  6611. return 0;
  6612. }
  6613. duk_ret_t Polycode_String_getWDataWithEncoding(duk_context *context) {
  6614. String *inst = (String*)duk_to_pointer(context, -1);
  6615. int encoding = duk_to_int(context, 0);
  6616. inst->getWDataWithEncoding(encoding);
  6617. return 0;
  6618. }
  6619. duk_ret_t Polycode_String_append(duk_context *context) {
  6620. String *inst = (String*)duk_to_pointer(context, -1);
  6621. char c = *(char*)duk_to_pointer(context, 0);
  6622. inst->append(c);
  6623. return 0;
  6624. }
  6625. duk_ret_t Polycode_String_getDataSizeWithEncoding(duk_context *context) {
  6626. String *inst = (String*)duk_to_pointer(context, -1);
  6627. int encoding = duk_to_int(context, 0);
  6628. inst->getDataSizeWithEncoding(encoding);
  6629. return 0;
  6630. }
  6631. duk_ret_t Polycode_String_setDataWithEncoding(duk_context *context) {
  6632. String *inst = (String*)duk_to_pointer(context, -1);
  6633. char* data = (char*)duk_to_pointer(context, 0);
  6634. int encoding = duk_to_int(context, 1);
  6635. inst->setDataWithEncoding(data,encoding);
  6636. return 0;
  6637. }
  6638. duk_ret_t Polycode_String_isNumber(duk_context *context) {
  6639. String *inst = (String*)duk_to_pointer(context, -1);
  6640. inst->isNumber();
  6641. return 0;
  6642. }
  6643. duk_ret_t Polycode_RenderBuffer_getWidth(duk_context *context) {
  6644. RenderBuffer *inst = (RenderBuffer*)duk_to_pointer(context, -1);
  6645. inst->getWidth();
  6646. return 0;
  6647. }
  6648. duk_ret_t Polycode_RenderBuffer_getHeight(duk_context *context) {
  6649. RenderBuffer *inst = (RenderBuffer*)duk_to_pointer(context, -1);
  6650. inst->getHeight();
  6651. return 0;
  6652. }
  6653. duk_ret_t Polycode_Texture_reloadResource(duk_context *context) {
  6654. Texture *inst = (Texture*)duk_to_pointer(context, -1);
  6655. inst->reloadResource();
  6656. return 0;
  6657. }
  6658. duk_ret_t Polycode_Texture_setImageData(duk_context *context) {
  6659. Texture *inst = (Texture*)duk_to_pointer(context, -1);
  6660. Image* data = (Image*)duk_to_pointer(context, 0);
  6661. inst->setImageData(data);
  6662. return 0;
  6663. }
  6664. duk_ret_t Polycode_Texture_getTextureData(duk_context *context) {
  6665. Texture *inst = (Texture*)duk_to_pointer(context, -1);
  6666. inst->getTextureData();
  6667. return 0;
  6668. }
  6669. duk_ret_t Polycode_Texture_getWidth(duk_context *context) {
  6670. Texture *inst = (Texture*)duk_to_pointer(context, -1);
  6671. inst->getWidth();
  6672. return 0;
  6673. }
  6674. duk_ret_t Polycode_Texture_getHeight(duk_context *context) {
  6675. Texture *inst = (Texture*)duk_to_pointer(context, -1);
  6676. inst->getHeight();
  6677. return 0;
  6678. }
  6679. duk_ret_t Polycode_Texture_setCreateMipmaps(duk_context *context) {
  6680. Texture *inst = (Texture*)duk_to_pointer(context, -1);
  6681. bool createMipmapsIn = duk_to_boolean(context, 0);
  6682. inst->setCreateMipmaps(createMipmapsIn);
  6683. return 0;
  6684. }
  6685. duk_ret_t Polycode_Texture_getCreateMipmaps(duk_context *context) {
  6686. Texture *inst = (Texture*)duk_to_pointer(context, -1);
  6687. inst->getCreateMipmaps();
  6688. return 0;
  6689. }
  6690. duk_ret_t Polycode_Timer_Pause(duk_context *context) {
  6691. Timer *inst = (Timer*)duk_to_pointer(context, -1);
  6692. bool paused = duk_to_boolean(context, 0);
  6693. inst->Pause(paused);
  6694. return 0;
  6695. }
  6696. duk_ret_t Polycode_Timer_isPaused(duk_context *context) {
  6697. Timer *inst = (Timer*)duk_to_pointer(context, -1);
  6698. inst->isPaused();
  6699. return 0;
  6700. }
  6701. duk_ret_t Polycode_Timer_getTicks(duk_context *context) {
  6702. Timer *inst = (Timer*)duk_to_pointer(context, -1);
  6703. inst->getTicks();
  6704. return 0;
  6705. }
  6706. duk_ret_t Polycode_Timer_Update(duk_context *context) {
  6707. Timer *inst = (Timer*)duk_to_pointer(context, -1);
  6708. int ticks = duk_to_int(context, 0);
  6709. inst->Update(ticks);
  6710. return 0;
  6711. }
  6712. duk_ret_t Polycode_Timer_Reset(duk_context *context) {
  6713. Timer *inst = (Timer*)duk_to_pointer(context, -1);
  6714. inst->Reset();
  6715. return 0;
  6716. }
  6717. duk_ret_t Polycode_Timer_hasElapsed(duk_context *context) {
  6718. Timer *inst = (Timer*)duk_to_pointer(context, -1);
  6719. inst->hasElapsed();
  6720. return 0;
  6721. }
  6722. duk_ret_t Polycode_Timer_getElapsedf(duk_context *context) {
  6723. Timer *inst = (Timer*)duk_to_pointer(context, -1);
  6724. inst->getElapsedf();
  6725. return 0;
  6726. }
  6727. duk_ret_t Polycode_Timer_setTimerInterval(duk_context *context) {
  6728. Timer *inst = (Timer*)duk_to_pointer(context, -1);
  6729. int msecs = duk_to_int(context, 0);
  6730. inst->setTimerInterval(msecs);
  6731. return 0;
  6732. }
  6733. duk_ret_t Polycode_Vector2_set(duk_context *context) {
  6734. Vector2 *inst = (Vector2*)duk_to_pointer(context, -1);
  6735. Number x = duk_to_number(context, 0);
  6736. Number y = duk_to_number(context, 1);
  6737. inst->set(x,y);
  6738. return 0;
  6739. }
  6740. duk_ret_t Polycode_Vector2_distance(duk_context *context) {
  6741. Vector2 *inst = (Vector2*)duk_to_pointer(context, -1);
  6742. Vector2 vec2 = *(Vector2*)duk_to_pointer(context, 0);
  6743. inst->distance(vec2);
  6744. return 0;
  6745. }
  6746. duk_ret_t Polycode_Vector2_length(duk_context *context) {
  6747. Vector2 *inst = (Vector2*)duk_to_pointer(context, -1);
  6748. inst->length();
  6749. return 0;
  6750. }
  6751. duk_ret_t Polycode_Vector2_dot(duk_context *context) {
  6752. Vector2 *inst = (Vector2*)duk_to_pointer(context, -1);
  6753. Vector2 u = *(Vector2*)duk_to_pointer(context, 0);
  6754. inst->dot(u);
  6755. return 0;
  6756. }
  6757. duk_ret_t Polycode_Vector2_crossProduct(duk_context *context) {
  6758. Vector2 *inst = (Vector2*)duk_to_pointer(context, -1);
  6759. Vector2 vec2 = *(Vector2*)duk_to_pointer(context, 0);
  6760. inst->crossProduct(vec2);
  6761. return 0;
  6762. }
  6763. duk_ret_t Polycode_Vector2_angle(duk_context *context) {
  6764. Vector2 *inst = (Vector2*)duk_to_pointer(context, -1);
  6765. Vector2 vec2 = *(Vector2*)duk_to_pointer(context, 0);
  6766. inst->angle(vec2);
  6767. return 0;
  6768. }
  6769. duk_ret_t Polycode_Vector2_Normalize(duk_context *context) {
  6770. Vector2 *inst = (Vector2*)duk_to_pointer(context, -1);
  6771. inst->Normalize();
  6772. return 0;
  6773. }
  6774. duk_ret_t Polycode_Vector3_set(duk_context *context) {
  6775. Vector3 *inst = (Vector3*)duk_to_pointer(context, -1);
  6776. Number x = duk_to_number(context, 0);
  6777. Number y = duk_to_number(context, 1);
  6778. Number z = duk_to_number(context, 2);
  6779. inst->set(x,y,z);
  6780. return 0;
  6781. }
  6782. duk_ret_t Polycode_Vector3_distance(duk_context *context) {
  6783. Vector3 *inst = (Vector3*)duk_to_pointer(context, -1);
  6784. Vector3 vec2 = *(Vector3*)duk_to_pointer(context, 0);
  6785. inst->distance(vec2);
  6786. return 0;
  6787. }
  6788. duk_ret_t Polycode_Vector3_angleBetween(duk_context *context) {
  6789. Vector3 *inst = (Vector3*)duk_to_pointer(context, -1);
  6790. Vector3 dest = *(Vector3*)duk_to_pointer(context, 0);
  6791. inst->angleBetween(dest);
  6792. return 0;
  6793. }
  6794. duk_ret_t Polycode_Vector3_length(duk_context *context) {
  6795. Vector3 *inst = (Vector3*)duk_to_pointer(context, -1);
  6796. inst->length();
  6797. return 0;
  6798. }
  6799. duk_ret_t Polycode_Vector3_lengthSquared(duk_context *context) {
  6800. Vector3 *inst = (Vector3*)duk_to_pointer(context, -1);
  6801. inst->lengthSquared();
  6802. return 0;
  6803. }
  6804. duk_ret_t Polycode_Vector3_setLength(duk_context *context) {
  6805. Vector3 *inst = (Vector3*)duk_to_pointer(context, -1);
  6806. Number newLength = duk_to_number(context, 0);
  6807. inst->setLength(newLength);
  6808. return 0;
  6809. }
  6810. duk_ret_t Polycode_Vector3_dot(duk_context *context) {
  6811. Vector3 *inst = (Vector3*)duk_to_pointer(context, -1);
  6812. Vector3 u = *(Vector3*)duk_to_pointer(context, 0);
  6813. inst->dot(u);
  6814. return 0;
  6815. }
  6816. duk_ret_t Polycode_Vector3_crossProduct(duk_context *context) {
  6817. Vector3 *inst = (Vector3*)duk_to_pointer(context, -1);
  6818. Vector3 vec2 = *(Vector3*)duk_to_pointer(context, 0);
  6819. inst->crossProduct(vec2);
  6820. return 0;
  6821. }
  6822. duk_ret_t Polycode_Vector3_Normalize(duk_context *context) {
  6823. Vector3 *inst = (Vector3*)duk_to_pointer(context, -1);
  6824. inst->Normalize();
  6825. return 0;
  6826. }
  6827. duk_ret_t Polycode_Vector4_set(duk_context *context) {
  6828. Vector4 *inst = (Vector4*)duk_to_pointer(context, -1);
  6829. Number x = duk_to_number(context, 0);
  6830. Number y = duk_to_number(context, 1);
  6831. Number z = duk_to_number(context, 2);
  6832. Number w = duk_to_number(context, 3);
  6833. inst->set(x,y,z,w);
  6834. return 0;
  6835. }
  6836. duk_ret_t Polycode_Vector4_dot(duk_context *context) {
  6837. Vector4 *inst = (Vector4*)duk_to_pointer(context, -1);
  6838. Vector4 u = *(Vector4*)duk_to_pointer(context, 0);
  6839. inst->dot(u);
  6840. return 0;
  6841. }
  6842. }