void MoveMenuEntry(BYTE *address,BYTE *address2) { for (BYTE i=0; i<18; i++) { address[i] = address[i+address2-address]; } } void SetNewMenu() { // main menu --------------------------------------------------------------------- WriteBYTE(_b 0x6DA514, 23); // command start new game WriteBYTE(_b 0x6DA538, 40); // command quit game WriteBYTE(_b 0x6DA531, 4); // options target display menu WriteWORD(_w 0x6DA520, 520); // X-position of start command WriteWORD(_w 0x6DA522, 105); // Y-position of start command WriteWORD(_w 0x6DA532, 520); // X-position of options command WriteWORD(_w 0x6DA534, 130); // Y-position of options command WriteWORD(_w 0x6DA544, 520); // X-position of quit command WriteWORD(_w 0x6DA546, 155); // Y-position of quit command // pause menu -------------------------------------------------------------------- WriteBYTE(_b 0x6DA7CC, 23); // command start new game WriteBYTE(_b 0x6DA826, 40); // command quit game WriteBYTE(_b 0x6DA81F, 4); // options target display menu WriteWORD(_w 0x6DA7C6, 520); // X-position of continue command WriteWORD(_w 0x6DA7C8, 80); // Y-position of continue command WriteWORD(_w 0x6DA7D8, 520); // X-position of start again command WriteWORD(_w 0x6DA7DA, 105); // Y-position of start again command WriteWORD(_w 0x6DA820, 520); // X-position of options command WriteWORD(_w 0x6DA822, 130); // Y-position of options command WriteWORD(_w 0x6DA832, 520); // X-position of quit command WriteWORD(_w 0x6DA834, 155); // Y-position of quit command MoveMenuEntry(_b 0x6DA7DE,_b 0x6DA814); // move options command MoveMenuEntry(_b 0x6DA7F0,_b 0x6DA826); // move quit command MoveMenuEntry(_b 0x6DA802,_b 0x6DA838); // copy empty command MoveMenuEntry(_b 0x6DA814,_b 0x6DA838); // copy empty command MoveMenuEntry(_b 0x6DA826,_b 0x6DA838); // copy empty command WriteBYTE(_b 0x6DA7B2, 0x4D); // M WriteBYTE(_b 0x6DA7B4, 0x4D); // M WriteBYTE(_b 0x6DA7B5, 0x4D); // M WriteBYTE(_b 0x6DA7B6, 0x0); // // display (new options) menu ---------------------------------------------------- WriteBYTE(_b 0x6D8F00, 33); // parent options menu WriteBYTE(_b 0x6D8F01, 0); // return entry 1 WriteBYTE(_b 0x6D8EFA, 0x54); // T WriteBYTE(_b 0x6D8EFC, 0x4F); // O WriteBYTE(_b 0x6D8EFD, 0x50); // P WriteBYTE(_b 0x6D8EFE, 0x54); // T // back -------------------------------------------------------------------------- WriteWORD(_w 0x6D8FC2, 570); // X-position of back command WriteWORD(_w 0x6D8FC4, 380); // Y-position of back command MoveMenuEntry(_b 0x6D8FC8,_b 0x6D8FB6); // move back command // brightness -------------------------------------------------------------------- MenuBar1Y = 0.242f; WriteWORD(_w 0x6D8F10, 105); // Y-position of brightness command // MoveMenuEntry(_b 0x6D8F4A,_b 0x6D8F02); // move brightness command // distance ---------------------------------------------------------------------- MenuBar2Y = 0.298f; WriteWORD(_w 0x6D8F22, 130); // Y-position of distance command // MoveMenuEntry(_b 0x6D8F5C,_b 0x6D8F14); // move distance command // frame ------------------------------------------------------------------------- WriteWORD(_w 0x6D8F34, 230); // Y-position of frame command MoveMenuEntry(_b 0x6D8F5C,_b 0x6D8F26); // move distance command // widescreen -------------------------------------------------------------------- WriteWORD(_w 0x6D8F58, 255); // Y-position of widescreen command MoveMenuEntry(_b 0x6D8F6E,_b 0x6D8F4A); // move widescreen command // music ------------------------------------------------------------------------- MenuBar3Y = 0.354f; WriteBYTE(_b 0x6D8E2B, 4); // target menu options WriteWORD(_w 0x6D8E2E, 155); // Y-position of music command MoveMenuEntry(_b 0x6D8F26,_b 0x6D8E20); // move music command // sfx --------------------------------------------------------------------------- MenuBar4Y = 0.410f; WriteBYTE(_b 0x6D8E3D, 4); // target menu options WriteWORD(_w 0x6D8E3E, 40); // X-position of sfx command WriteWORD(_w 0x6D8E40, 180); // Y-position of sfx command MoveMenuEntry(_b 0x6D8F38,_b 0x6D8E32); // move sfx command // mp3 --------------------------------------------------------------------------- MenuBar5Y = 0.466f; WriteBYTE(_b 0x6D8E4F, 4); // target menu options WriteWORD(_w 0x6D8E50, 40); // X-position of mp3 command WriteWORD(_w 0x6D8E52, 205); // Y-position of mp3 command MoveMenuEntry(_b 0x6D8F4A,_b 0x6D8E44); // move mp3 command // HUD --------------------------------------------------------------------------- WriteWORD(_w 0x6D8F8E, 280); // Y-position of HUD command // MoveMenuEntry(_b 0x6D8F38,_b 0x6D8F80); // move HUD command // resolution -------------------------------------------------------------------- WriteWORD(_w 0x6D8FA0, 305); // Y-position of resolution command // MoveMenuEntry(_b 0x6D8F02,_b 0x6D8F92); // move resolution command // classic control --------------------------------------------------------------- WriteBYTE(_b 0x6DA279, 4); // target menu options WriteWORD(_w 0x6DA27A, 40); // X-position of classic control command WriteWORD(_w 0x6DA27C, 330); // Y-position of classic control command WriteWORD(_w 0x6DA27E, 1); // alignment of classic control command MoveMenuEntry(_b 0x6D8FA4,_b 0x6DA26E); // move classic control command // change control ---------------------------------------------------------------- WriteBYTE(_b 0x6DA5F4, 4); // parent menu options WriteWORD(_w 0x6DA28C, 40); // X-position of change control command WriteWORD(_w 0x6DA28E, 355); // Y-position of change control command WriteWORD(_w 0x6DA290, 1); // alignment of change control command MoveMenuEntry(_b 0x6D8FB6,_b 0x6DA280); // move change control command }