Jump to navigation Jump to search
==Installation and usage==
# Copy all the .c and .h files into your project (make sure the .c are accessible as ''source''s and .h accessible as ''include''s).
# Add <code>#include "HomeMenu.h"</code> where appropriate.
# Add <code>-lasnd -lwiiuse</code> to your MakeFile's <code>LIBS :=</code> line.
===Usage===# Call <code>HomeMenu_Init()</code> to set things up. Its parameters are:
#* <code>int screenWidth</code> -- horizontal resolution of screen.
#* <code>int screenHeight</code> -- vertical resolution of screen.
#* <code>void* framebuffer1</code> -- pointer to the second framebuffer (Currently assumes double-buffering).
#* <code>u8 framebufferIndex</code> -- index to last buffer drawn to [0, 1].
# Specify graphics library with <code>HomeMenu_SetGFX()</code>. Accepted values are:
#* <code>HM_GFX_GRRLIB</code>
#* <code>HM_GFX_LIBWIISPRITE</code>
#* <code>HM_GFX_FAILSAFE</code> (which currently draws nothing).
# Specify sound library with <code>HomeMenu_SetSND()</code>. Accepted values are:
#* <code>HM_SND_ASND</code>
#* <code>HM_SND_SDL</code> (not yet implemented)
#* <code>HM_SND_NOSOUND</code>.
# When you want to display the menu (when the user presses HOME), simply call <code>HomeMenu_Show()</code>. In order for [[HomeMenu]] to be able to take a screenshot (used as the menu background) <code>HomeMenu_Show()</code> must be called ''before'' flushing the framebuffer.
'''Tip:''' If you have a callback set up for when the user holds down on the wiimote's powerbutton, add <code>HomeMenu_Hide()</code> to this callback to tell HomeMenu to relinquish its control of the main thread.
'''Tip:''' If your application relies on a timer, consider using the <code>HomeMenu_SetAfterHideMenu(yourCallback)</code> callback setter. This will allow you to update your timer (if necessary) before resuming your application.
====Libwiisprite users====Currently, the pointers to the framebuffers and the framebuffer index are stored in the <code>GameWindow</code> object as <code>private</code> members. [[Shiny Red Tank]] got around this problem by adding accessors to the <code>GameWindow</code> class. Hopefully, if there is enough demand, the accessors will be included in the next version of LWS (go ask!). Here are my modifications:
{| class="wikitable collapsible collapsed" width="61.8%"
====GRRLIB 4.0.0 users====I think the same problem (as mentioned above) applies to you guys. Here are the accessors I used during my testing.
{| class="wikitable collapsible collapsed" width="61.8%"
[[Category:How To]]

Navigation menu