{"id":20425,"date":"2011-12-29T13:41:11","date_gmt":"2011-12-29T13:41:11","guid":{"rendered":"http:\/\/127.0.0.1\/ef\/?p=20425"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T22:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/www.emu-france.com\/?p=20425","title":{"rendered":"[Plugin N64] Glide64 Final (10th Anniversary)"},"content":{"rendered":"<p>L&rsquo;ultime version de Glide64 qui est le meilleur plugin graphique pour carte  \u00e0 base de 3DFX. Pour rappel il utilise le glide wrapper Glitch64 d&rsquo;Hacktarux et le module GlideHQ (permettant d&rsquo;afficher des textures en hautes r\u00e9solutions) de KoolSmoky. Il fait directement suite \u00e0 Glide64 Napalm WX&rsquo; Release 1.1 et int\u00e8gre toute les am\u00e9liorations de ces derni\u00e8res ann\u00e9es pour les trois modules (glide64, glitch64, glideHQ) .<\/p>\n<p><code>The Glide64 project was started on December 29th, 2001. Today is its 10th anniversary.<br \/>\nGood date to make a new release, the final one.<\/p>\n<p>Since this is the anniversary release, let me omit the usual \u201cwhat\u2019s new\u201d section.<br \/>\nYou may visit project\u2019s source code repository and get lists of commits and fixed bugs.<br \/>\nThis day I want to briefly recall most noticeable and important moments of the long<br \/>\nproject\u2019s history and people participated in it.<\/p>\n<p>Disclaimer: Sorry for my poor English, my native language is C++<\/p>\n<p>Disclaimer 2: Sorry, if I offended somebody somehow, it was not on purpose.<\/p>\n<p>The beginning.<br \/>\nTen years ago David 'Dave2001' Forrester (USA) announced a new graphics plugin for N64 emulators.<br \/>\nN64 emulation had been developing pretty rapidly at the beginning of 21th century, so the announce<br \/>\nby itself had not been something extraordinary. However, the project immediately caught attention<br \/>\nof emulation community. There were at least three reasons for that:<\/p>\n<p>new video plugin uses Glide3x, the proprietary graphics API by 3dfx. That is the plugin was<br \/>\ndesigned specially for 3dfx cards. 3dfx company was not officially dead yet, millions of 3dfx<br \/>\ncards still were in use. Unfortunately, after release of UltraHLE, N64 emulators offered 3dfx<br \/>\nusers little reasons to rejoice. The situation became especially bad with Project64 first<br \/>\npublic release. It was great release, which could run many games nearly flawlessly, but not<br \/>\non 3dfx cards. While TNT and GeForce users enjoyed perfect picture, 3dfx users contemplated<br \/>\numerous color and texture glitches with eternal despondency. It was clear, that Project64 is<br \/>\nthe new king of N64 emulation and it was obvious that 3dfx cards will never get good enough<br \/>\nDirect3D driver to enjoy it. Fortunately, Project64 not only provided new level of N64 emulation,<br \/>\nbut also it introduced new plugin architecture based on open specifications<br \/>\n(Zilmar\u2019s plugins specifications). It opened opportunity for third-party plugins creation.<br \/>\nDave took that opportunity to create the first Glide3x based graphics plugin and he named it Glide64.<br \/>\nFirst alpha version was released January 2, 2002, few days after the project was started.<br \/>\nFirst version, which actually allowed users to play games was released next month. Within six<br \/>\nmonths Glide64 achieved quality of graphics comparable with the one produced by Project64 default<br \/>\nvideo plugin \u2018Jabo\u2019s Direct3D\u2019, being way behind it in terms of compatibility though. Nevertheless,<br \/>\n3dfx users were happy.<br \/>\nAnother reason was Dave\u2019s personality. He was only 15 years old schoolboy when he started<br \/>\nGlide64, but at the same time he already was skillful and experienced programmer. He worked very<br \/>\nfast and the project progressed rapidly. Also, he is a very open and communicative man, and the<br \/>\nproject was always surrounded by buddies and fans. Glide64 mirc channel was always full.<br \/>\nDave\u2019s project attracted not only emu-gamers. The project was open source from the start.<br \/>\nAnd from the start Dave said: \"help is always appreciated\". Anyone with programming skills could<br \/>\njoin the project. Soon Gugaman, a student from Brazil, joined the project. I was big fan of N64<br \/>\nemulation, and being impressed of plugin\u2019s rapid progress decided to join it too. We became Glide64 team.<br \/>\nInternational team. Developers from USA, Brazil and Russia, testers from anywhere around the world.<br \/>\nAs I remember, our main tester, Ogy, was from Israel. Dave still was the leader and the main developer.<br \/>\nSeveral months the project development was rocket fast. Each day it gained new features, more and more<br \/>\ngames become playable. Then Dave became busy with school final exams, then with college preliminary exams.<br \/>\nGugaman also became busy with exams and other stuff. At the end of July 2002 the development stopped.<\/p>\n<p>Keep moving.<br \/>\nI was enjoying short Siberian summer, so the break in development did not worry me at first.<br \/>\nThen my vacation finished, the warm days finished too but the only news from Dave was that he got<br \/>\nhimself a new PC with GeForce card and he is happy with it. I decided to move forward by myself in<br \/>\nhope that other members of the team will return back soon. I\u2018ve got new results, but Dave still was busy,<br \/>\nGugaman just disappeared. Finally, at the fall of 2002 I\u2019ve got an email from Dave. He wrote that he<br \/>\ncouldn\u2019t work on the project anymore, as he is very busy at school. \"The project is now yours\" he said.<br \/>\nThus I became main and only developer of the plugin. December 29th, 2002 I made my first unassisted release.<br \/>\nThe project still was open source, but 3dfx was dead and nobody wanted to help me with 3dfx-only project.<\/p>\n<p>The glide wrapper.<br \/>\nThe initial goal of Glide64 project was to get 3dfx users decent graphics plugin. I joined the project<br \/>\nbecause I wanted to create the best possible graphics plugin, which could run on my system<br \/>\n(Voodoo3 + Intel Celeron). The reference, the etalon was the best video plugin of that time,<br \/>\nJabo\u2019s Direct3D 1.6. With each new version I become closer to my goal. Version 0.5, released at<br \/>\nthe end of 2003, was comparable with Jabo\u2019s Direct3D in every aspect: speed, quality, and compatibility.<br \/>\nAt the same time number of plugin\u2019s users melted each day because people got rid of their Voodoos.<br \/>\nThe only way to use the plugin with non-3dfx card is to use special wrapper, which emulates Glide3x<br \/>\ndriver by translating Glide API calls to some common API calls. At the beginning of Glide64 history<br \/>\nthe best glide3x wrapper was eVoodoo, which translated Glide3x to Direct3D. Glide64 quickly became one<br \/>\nof the most popular applications for eVoodoo. McLeod, the author of eVoodoo, worked together with Dave<br \/>\nto better support Glide64 in eVoodoo and eVoodoo in Glide64. Unfortunately, Glide3x emulation in eVoodoo<br \/>\nwas incomplete and some vital functions were not implemented. Lack of multi-texturing support had<br \/>\nespecially bad impact on image quality. So, non-3dfx users could use Glide64+eVoodoo combination,<br \/>\nbut had no reasons for that \u2013 native Direct3D plugins were better. eVoodoo development stopped in 2003<br \/>\nand soon it became incompatible with new versions of Glide64, since they use glide3x calls unsupported<br \/>\nby eVoodoo.<\/p>\n<p>When I almost accepted my destiny to become the single user of my video plugin, I unexpectedly got help<br \/>\nfrom Hacktarux (France), the author of multu-platform N64 emulator Mupen64. Hacktarux needed descent<br \/>\ngraphics plugin for his emulator. Since the plugin had to be ported to Linux, it must be open source<br \/>\nand must use OpenGL. I think that with his skills Hacktarux could write video plugin by himself or port<br \/>\nGlide64 to OpenGL, but it is very time consuming task, and he decided to make a shortcut: create portable<br \/>\nGlide3x to OpenGL wrapper. He did not need general purposes glide3x wrapper, and he had implemented only<br \/>\nthose functions, which Glide64 actually uses. But he implemented them right! Glide64 with Hacktarux glide<br \/>\nwrapper worked on decent video cards almost as good as on native 3dfx cards. Hacktarux ported Glide64 to<br \/>\nLinux, and Linux users finally got good native N64 emulator. From the other side, since 2004 the wrapper<br \/>\nde facto became the second part of Glide64 project.<\/p>\n<p>Frame buffer emulation.<br \/>\nFirst versions of Glide64 had no frame buffer emulation (FBE). Since FBE is essential for many N64 games,<br \/>\nI invented my own FBE method, which allowed me to emulate many complex frame buffer effects, including<br \/>\nnever emulated before motion blur. FBE was included into version 0.5 and it greatly increased plugin\u2019s<br \/>\npopularity. To emulate frame buffer effects plugin read data from video card\u2019s frame buffer, scaled it<br \/>\ndown to N64 native resolution and put it into N64 frame buffer area in RDRAM. Thus, frame buffer effects<br \/>\nworked slowly and image quality was poor. I had no idea how to make it better, but there was one person,<br \/>\nwho had the IDEA! It was Orkin, the author of a good open source OpenGL video plugin glN64. N64 games<br \/>\ncreate auxiliary frame buffers in RDRAM, and then use them as textures. Orkin's idea was in using the<br \/>\nsame schema: create auxiliary frame buffer in video card\u2019s texture memory, and then use it as texture<br \/>\ninstead of the texture from N64 auxiliary frame buffer, with no need to copy it to the main memory.<br \/>\nOrkin had implemented the idea in his glN64, and all people including me were very impressed by Zelda<br \/>\nOOT pause screen frame buffer effect emulated in hardware. I wished that feature to be in my plugin,<br \/>\nbut was pretty sure that 3dfx hardware can\u2019t do that. Fortunately, I was right only partially.<br \/>\nI asked for help one of the 3dfx gurus, Hiroshi 'KoolSmoky' Morii (Japan). He said, that my Voodoo3<br \/>\nreally couldn\u2019t support texture frame buffers due to restriction on texture size. However, Voodoo 4\/5<br \/>\nare free of these restrictions and texture frame buffer can be created using Glide3x extensions,<br \/>\ncreated specially for these cards. Hiroshi also made me an unexpected offer I couldn't refuse:<br \/>\nhe donated me Voodoo 5 AGP card. It was end of 2003. This gift pushed the project forward greatly.<br \/>\nI found, that the card has almost everything for perfect N64 emulation. When I needed new functionality,<br \/>\nI just checked Glide3x extension section and found necessary extension. The extensions, necessary for<br \/>\nhardware frame buffer emulation (HWFBE) were powerful and at the same time easy for use and they exactly<br \/>\nmatch N64 functionality. With Voodoo 5 I could work with auxiliary frame buffers exactly the same way as<br \/>\nN64 games do. After several months of work I obtained impressive results: many frame buffer effects were<br \/>\nsupported in hardware, including motion blur. HWFBE also allowed me to emulate effects, which were<br \/>\nimpossible to support with the standard method, e.g. dynamic shadows. And what is the most important,<br \/>\nthe frame buffer effects worked with no loss in speed and image quality, as on real N64. It looked as<br \/>\na miracle, so new version of Glide64 was named \"Miracle Edition\" and released at Spring 2004.<br \/>\nThis release made Voodoo 4 and 5 the best video cards for N64 emulation, because only these cards supported<br \/>\nall features of the new release. Users of non-3dfx cards could not enjoy advanced features because Hacktarux<br \/>\nglide wrapper did not support necessary glide3x extensions. Fortunately, Hacktarux updated the wrapper and<br \/>\nimplemented most of the new extensions I used. However, texture buffer extension was a hard nut to crack.<br \/>\nOnly at the end of 2005, after the new major Glide64 release (\"Wonder\"), Hacktarux found a way to implement<br \/>\ntexture frame buffer with OpenGL similarly to Glide. He used new OpenGL extension: Frame Buffer Object (FBO).<br \/>\nIt is powerful tool, but it does not exactly matches glide3x functionality. Whole 2006 Hacktarux and me worked<br \/>\non HWFBE support in the wrapper, and only at the end of 2006 we achieved the result comparable with HWFBE<br \/>\non Voodoo cards. Comparable, but not the same. We could not use texture color buffer and main depth buffer<br \/>\nsimultaneously with FBO, while Glide3x easily provided that essential for correct emulation functionality.<br \/>\nThus, FBO based HWFBE suffers from depth issues. In the beginning of 2007 the wrapper got help from<br \/>\nVincent \u2018Ziggy\u2019 Penne (France), the author of z64, the first low-level graphics plugin for N64.<br \/>\nVincent decided to use another approach for implementing texture frame buffer functionality in the wrapper,<br \/>\nwithout FBO. He hoped that it would be free of FBO approach drawbacks. Vincent\u2019s successfully<br \/>\nimplemented his idea, and the new method is free of depth problem indeed. Unfortunately, it has it\u2019s own<br \/>\nproblems and causes its own glitches. Thus it was included in the wrapper as an alternative to FBO,<br \/>\nand users may switch between both methods. Of course, Voodoo 4\/5 have no such problems. Besides,<br \/>\nwe failed to fully implement texture depth buffer functionality in the wrapper, so Lens of Truth in<br \/>\nZelda MM still works 100% correct only on Voodoos. My Voodoo 5 is still the best video card for N64 emulation :)<\/p>\n<p>Texture enhancement.<br \/>\nSome emu users prefer emulators to keep original look and feel of classic games, others prefer to refresh<br \/>\nsomehow poor original image quality of their favorite games. The main method for improving quality of 2D<br \/>\nimages is using upsampling methods, e.g. 2xSaI, which interpolate original low-resolution image to new<br \/>\nhigh-resolution one. 3D graphics plugins provide high-resolution rendering, unavailable in the original<br \/>\nsystems, but they use the same low-polygon models and low-resolution textures. Thus, the first idea,<br \/>\nhow to improve image quality, was in using the image interpolating methods to get more detailed textures.<br \/>\nJabo and Rice added 2xSaI support to their video plugins, and many games really look better with it.<br \/>\nGlide64 users also would like to get texture enhancement functionality, but for me it was low-priority task.<br \/>\nBesides, I personally prefer original unmodified N64 textures. At July 2007 I've got new email from KoolSmoky.<br \/>\nHiroshi wrote that he took Glide64 sources and implemented support for Super2xSaI and hq4x filters.<br \/>\nIt was great news and big relief for me. This prototype underlay the new programming module of Glide64 project,<br \/>\nGlideHQ (High Quality). All texture enhancement algorithms were carried to GlideHQ, and only small changes<br \/>\nhad been made on Glide64 side. At August 2007 Glide64 users finally got texture enhancement support.<br \/>\nAnd it was not all.<\/p>\n<p>Enthusiasts of N64 emulation also always wished to somehow improve poor visual quality of their favorite games.<br \/>\nWhile the idea to replace original low-polygonal 3D models by new high-polygonal ones is impracticable,<br \/>\nthe idea to replace original low-resolution textures by new high-res ones is real. Rice, co-author of 1964<br \/>\nand the author of 'Rice Video' open source graphics plugin, was the first who practically supported texture<br \/>\nreplacement idea. He designed necessary specifications for texture artists and implemented texture dumping<br \/>\nand replacement in his plugin. It was a bomb! The idea was supported by many talented people, new texture<br \/>\npacks for most popular games appeared quickly after the release. Rice's format became standard de facto for<br \/>\nhi-res texture packs. A bit later Jabo designed his own format for textures packs, which is more<br \/>\nend-user friendly, but Rice's format has one huge advantage: it is implemented in freely available<br \/>\nopen source plugin, so it can be supported by other plugins. Hiroshi took that opportunity,<br \/>\nand at August 2007 he made the first version of GlideHQ with Rice hi-res format support.<br \/>\nSeveral months we polished that functionality and finally achieved very good results.<br \/>\nGlideHQ became the diamond in the crown of new Glide64 release, 'Napalm'.<\/p>\n<p>Portability.<br \/>\n'Napalm' was the first major release, for which I did not release the source code.<br \/>\nMy next goal was to make the project portable. While the wrapper was portable from the beginning,<br \/>\nand GlideHQ was also based on portable libraries, Glide64 used direct calls to Win32 API for all system tasks.<br \/>\nThere was a port of Glide64 to Linux, but I very disliked the way it was done.<br \/>\nI decided to make it right and do it myself. KoolSmoky suggested me to use portable assembler compiler<br \/>\nNASM for asm part of the code and a portable GUI library for system tasks, Qt or wxWidgets.<br \/>\nI chose wxWidgets since it is free and allows users to link its libraries statically.<br \/>\nAlso, wxWidgets contains not only GUI library, but also includes all necessary system functionality,<br \/>\nbitmaps support, internalization support, networking etc. I threw away large part of the original code<br \/>\nand rewrote it using wxWidgets. Assembler code was also re-written and moved from .cpp files into .asm files.<br \/>\nPlugin's source code started to look much better. It was time to actually port it to other OS.<br \/>\nI started with Linux. I never work with Linux before, and I needed help. I've got the help from<br \/>\nBrad 'mudlord' Miller (Australia). Brad is a well know person in emulation community, participant of<br \/>\nseveral emu projects. In Glide64 project, Brad made many improvements in the wrapper before 'Napalm' release.<br \/>\nAnisotropic filtering support is one of his works. He also is an experienced Linux user,<br \/>\nwith knowledge of GNU development tools. Brad helped me to compile the project on Linux and he made<br \/>\nall necessary updates for the wrapper, since it's SDL-related part was seriously outdated.<br \/>\nAt the end we had got the Linux port with nearly the same level of functionality, as with the original<br \/>\nWin32 version. Next goal was MacOSX. I've got limited access to a MacBook and managed to build the project on it.<br \/>\nIt looked almost alive: the GUI was fully functional, but actual rendering failed.<br \/>\nThen I lost access to the MacBook, and this work remained unfinished. The new version, 'Napalm WX' had been<br \/>\nreleased at August 20, 2009. All project's source code was added to the repository on code.google.com.<br \/>\nBtw, the repository was also created by Brad.<\/p>\n<p>The End.<br \/>\nAfter 'Napalm WX' release I become more and more busy with real life stuff. I could not work on the project<br \/>\nas actively, as before. Also, my interest in emulation faded. Nevertheless, the development continued.<br \/>\nMore then 200 commits submitted to the repository since 'Napalm WX' release, more then 100 reported issues fixed,<br \/>\nincluding several critical bug fixes. New features emulated, stability increased.<br \/>\nNew version supports internalization, translations for several languages included in the release.<br \/>\nThe project is now in the very good shape. Of course, not everything is perfect. More then 100 issues<br \/>\nare still open, and it seems that they will remain open forever, sorry.<\/p>\n<p>All these ten years I worked on the project using the same PC, powered by Intel Celeron CPU and 3dfx Voodoo card.<br \/>\nI used almost every ability of my hardware, and I can run almost all N64 games on it,<br \/>\nwith little-to-none glitches and at full speed. Glide64 is one of the most advanced Glide3x applications.<br \/>\nHowever, everything comes to its end. I finally bought myself a new PC, so I has no reasons to use Glide3x anymore.<br \/>\nMy new N64 project, if I'll ever decide to start it, will be free of 3dfx legacy.<\/p>\n<p>The Very Special Thanks.<br \/>\nIn this section I want to thank people, who performed non-coding tasks in the project,<br \/>\nor helped it in some other way. First of all, I thank all our beta testers. I already mentioned Ogy,<br \/>\nthe first main beta tester, the author of the first Compatibility List.<br \/>\nMany thanks to Leo 'Raziel64' Gutierrez (Argentina), the main beta tester of my first releases.<br \/>\nFederelli (Argentina), long time beta tester and author of 'Federelli Nemu64 ini' for Glide64.<br \/>\nVladimir 'Flash' Ermakov (Russia), long time beta tester. Vladimir provided me with complete N64 romset and<br \/>\nfound me working Voodoo 2 card, which I heavily used for debugging. Wes 'Legend' McDaniel (USA),<br \/>\nlong time beta tester, and quality assurance manager of 'Napalm WX' version. Wes gave me many valuable<br \/>\nadvices how to make the plugin more convenient for end users and greatly helped me with optimal GUI layout.<\/p>\n<p>My eternal gratitude to Olivieryuyu (France), the main beta tester of the project. Olivieryuyu is Indiana<br \/>\nJones of N64 emulation, the man, who discovered many lost artifacts: unreleased betas of N64 games,<br \/>\nrare N64 hardware documentation, N64 development tools etc. He also made an outstanding contribution<br \/>\nto Glide64 project, performing countless duties like Compatibility List and Known Bugs List maintenance,<br \/>\noptimization of the settings file, French translation and so on.<\/p>\n<p>I want to thank all authors of all open-source N64 projects, and especially Orkin, Rice and Ziggy,<br \/>\nwhose sources helped me to improve my work. Special thanks to Sergey 'Angrylion' Povalihin (Russia),<br \/>\nthe author of outstanding low-level graphics plugin, who shared with me sources of his work and helped<br \/>\nme to understand many complex details of RDP work.<\/p>\n<p>I want to thank S.M, Emu X Haven Admin\/Webmaster for hosting Glide64 forum and home page. Special thanks to kurono,<br \/>\nthe home page designer.<\/p>\n<p>Special thanks to Pokefan 999, a beta tester, who submitted many bug reports.<br \/>\nHe read all the sources of Glide64 and pointed me on many issues in the code. Pokefan 999 also suggested<br \/>\nprogrammer solutions for several problems. Since not all of his changes were included into Glide64 sources,<br \/>\nhe created his own branch of Glide64 and included it in his project 1964mod. I recommend you to check it.<\/p>\n<p>Happy birthday, Glide64, and farewell!<br \/>\nSergey 'Gonetz' Lipskiy, 29 December, 2011[\/CODE]<\/p>\n<p class=\"p_telecharger_icone_zip\"><a class=\"telecharger_icone_zip\" href=\"https:\/\/www.emu-france.com\/?wpfb_dl=3675\" title=\"Download Glide64 Final (10th Anniversary)\">T\u00e9l\u00e9charger Glide64 Final (10th Anniversary) r282 (1.7 Mo)<\/a><\/p>\n<p class=\"p_site_officiel\"><a href=\"http:\/\/glide64.emuxhaven.net\/\" class=\"site_officiel\" target=\"_blank\">Site Officiel<\/a><\/p>\n<p class=\"p_en_savoir_plus\"><a href=\"https:\/\/www.emu-france.com\/utilitaires\/19-plugin-n64\/194-video\/\" class=\"en_savoir_plus\">En savoir plus...<\/a><\/p>\n<div class=\"fcbkbttn_buttons_block\" id=\"fcbkbttn_left\"><div class=\"fb-share-button  \" data-href=\"https:\/\/www.emu-france.com\/?p=20425\" data-type=\"button_count\" data-size=\"small\"><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>L&rsquo;ultime version de Glide64 qui est le meilleur plugin graphique pour carte \u00e0 base de 3DFX. Pour rappel il utilise le glide wrapper Glitch64 d&rsquo;Hacktarux et le module GlideHQ (permettant d&rsquo;afficher des textures en hautes r\u00e9solutions) de KoolSmoky. Il fait &#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[],"tags":[],"class_list":["post-20425","post","type-post","status-publish","format-standard","hentry","uentry","postonpage-1","odd","post-author-Jets"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/sKi2R-","jetpack_likes_enabled":false,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/20425","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=20425"}],"version-history":[{"count":0,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/20425\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=20425"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=20425"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=20425"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}