diff --git a/dk_config.py b/dk_config.py index 2cd96a2..37e31b1 100644 --- a/dk_config.py +++ b/dk_config.py @@ -54,6 +54,7 @@ ENABLE_MENU = 1 # Allow selection from the quick access game list INACTIVE_TIME = 15 # Screensaver with game instructions after period in seconds of inactivity. Integer SHOW_SPLASHSCREEN = 1 # Show the DKAFE splash screen and animation on startup +SHOW_GAMETEXT = 1 # Show the game text description when Jumpman faces an arcade machine ENABLE_HAMMERS = 1 # Show hammers and enable teleport between hammers in the frontend ENABLE_SHUTDOWN = 0 # Allow system shutdown from menu @@ -173,6 +174,7 @@ WHITE = (254, 252, 255) PINK = (255, 210, 190) GREY = (128, 128, 128) +MIDGREY = (104, 104, 104) DARKGREY = (40, 40, 40) DARKBLUE = (4, 2, 220) @@ -249,8 +251,9 @@ # In game messages and instructions QUESTION = "WHAT GAME WILL YOU PLAY ?" -COIN_INFO = ['Hey Jumpman!', '', 'You must collect coins...', 'to unlock more games', '', 'Push COIN for game info', ''] -FREE_INFO = ['Hey Jumpman!', '', 'All arcades are free to play', '', 'Push COIN to for game info', ''] +COIN_INFO = ["Hey Jumpman!", '', "You must collect coins...", "to unlock more games", "", "Push COIN for game info", ""] +FREE_INFO = ["Hey Jumpman!", '', "All arcades are free to play", "", "Push COIN to for game info", ""] +TEXT_INFO = [["", "Push 'JUMP' to play or 'P1 START' for game options"], ["", "Push 'COIN' to hide this game information"]] NO_ROMS_MESSAGE = [ "NO ROMS WERE FOUND!", "", diff --git a/dk_global.py b/dk_global.py index 86c4f65..a7b614a 100644 --- a/dk_global.py +++ b/dk_global.py @@ -36,8 +36,8 @@ wall_bounce = 1 # Adjustment for bouncing off edges. -1 will flip direction of Jumpman's movement # Toggle display options -showinfo = False # Press coin2 to show description above the icons -showslots = False # Press S to show the arcade machine slots (to assist with front end setup) +showinfo = False # Press coin button to show description above the icons +showslots = False # Press alt button to show the arcade machine slots (to assist with front end setup) skip = False # Skip the animation warning = False # Warning timer active grab = False # DK grabbed a coin @@ -65,7 +65,7 @@ screen, screen_map, screen_copy, last_image = (None,) * 4 # Menu -menu, exitmenu, settingmenu, launchmenu = (None,) * 4 +menu, exitmenu, setmenu, launchmenu = (None,) * 4 selected = None # Active Window diff --git a/dk_patch.py b/dk_patch.py index dd3f6ac..2bfe2f2 100644 --- a/dk_patch.py +++ b/dk_patch.py @@ -19,7 +19,8 @@ FIX_ALTERNATIVE_MD5 = "f116efa820a7cedd64bcc66513be389d", "d57b26931fc953933ee2458a9552541e", \ - "aa282b72ac409793b36780c99b26d07b", "e883b4225a76a79f38cf1db7c340aa8e" + "aa282b72ac409793b36780c99b26d07b", "e883b4225a76a79f38cf1db7c340aa8e", \ + "eb6571036ff25e8e5db5289f5524ab76" def validate_rom(): diff --git a/dk_system.py b/dk_system.py index 3446e26..b523a06 100644 --- a/dk_system.py +++ b/dk_system.py @@ -49,7 +49,7 @@ def apply_skill(base_score): def load_game_texts(): # load game texts texts = [] - for filename in glob(os.path.join(PATCH_DIR, "*kong*.txt")): + for filename in glob(os.path.join(PATCH_DIR, "gametext", "*.txt")): with open(filename, 'r') as f_in: texts.append([os.path.basename(filename).split(".")[0], f_in.readlines()]) return texts @@ -65,6 +65,8 @@ def read_romlist(): data = row.replace('"', '') if not data.startswith("#") and data.count(",") >= 10: name, sub, des, alt, slot, emu, rec, unlock, st3, st2, st1, *_ = [x.strip() for x in data.split(",")] + if not alt: + alt = des if (name and des and slot not in usedslots) or (slot == "99" and sub not in usedsubs): des = des.replace("DK ","$ ").replace("DK", "$ ") des = des.replace("1/2","{ ").replace("1/4","} ") @@ -82,8 +84,6 @@ def read_romlist(): rec = "0" if not unlock: unlock = "0" - if not alt: - alt = des if "-record" in get_emulator(int(emu)).lower(): # Score targets are not considered for recordings diff --git a/launch.py b/launch.py index 61885f7..aa46d04 100644 --- a/launch.py +++ b/launch.py @@ -228,7 +228,11 @@ def check_for_input(force_exit=False): build_menus() open_menu(_g.menu) if event.key == CONTROL_COIN: - _g.showinfo = not _g.showinfo + if _g.ready: + globals()["SHOW_GAMETEXT"] = not SHOW_GAMETEXT + set_gametext(None, SHOW_GAMETEXT, external=True) # Fix pygamemenu issue + else: + _g.showinfo = not _g.showinfo if event.key == CONTROL_ACTION: _g.showslots = not _g.showslots if event.key == CONTROL_SNAP: @@ -260,7 +264,11 @@ def check_for_input(force_exit=False): build_menus() open_menu(_g.menu) if button == BUTTON_COIN: - _g.showinfo = not _g.showinfo + if _g.ready: + globals()["SHOW_GAMETEXT"] = not SHOW_GAMETEXT + set_gametext(None, SHOW_GAMETEXT, external=True) # Fix pygamemenu issue + else: + _g.showinfo = not _g.showinfo if button == BUTTON_ACTION: _g.showslots = not _g.showslots if event.type == pygame.QUIT: @@ -502,23 +510,22 @@ def build_menus(initial=False): _g.exitmenu.add_button('Shutdown', shutdown_system) # Setting menu - _g.settingmenu = pymenu.Menu(GRAPHICS[1], GRAPHICS[0], " FRONTEND SETTINGS", mouse_visible=False, - mouse_enabled=False, theme=dkafe_theme, onclose=close_menu) - _g.settingmenu.add_selector(' Unlock Mode: ', [('Off', 0), ('On', 1)], default=UNLOCK_MODE, onchange=set_unlock) - _g.settingmenu.add_selector(' Free Play: ', [('Off', 0), ('On', 1)], default=FREE_PLAY, onchange=set_freeplay) - _g.settingmenu.add_selector(' Fullscreen: ', [('Off', 0), ('On', 1)], default=FULLSCREEN, - onchange=set_fullscreen) - _g.settingmenu.add_selector(' Confirm Exit: ', [('Off', 0), ('On', 1)], default=CONFIRM_EXIT, onchange=set_confirm) - _g.settingmenu.add_selector(' Show Splash: ', [('Off', 0), ('On', 1)], default=SHOW_SPLASHSCREEN, - onchange=set_splash) - _g.settingmenu.add_selector(' Speed Adjust: ', - [('0', 0), ('+1', 1), ('+2', 2), ('+3', 3), ('+4', 4), ('+5', 5), ('+6', 6), ('+7', 7), + _g.setmenu = pymenu.Menu(GRAPHICS[1], GRAPHICS[0], " FRONTEND SETTINGS", mouse_visible=False, + mouse_enabled=False, theme=dkafe_theme, onclose=close_menu) + _g.setmenu.add_selector(' Unlock Mode: ', [('Off', 0), ('On', 1)], default=UNLOCK_MODE, onchange=set_unlock) + _g.setmenu.add_selector(' Free Play: ', [('Off', 0), ('On', 1)], default=FREE_PLAY, onchange=set_freeplay) + _g.setmenu.add_selector(' Fullscreen: ', [('Off', 0), ('On', 1)], default=FULLSCREEN, onchange=set_fullscreen) + _g.setmenu.add_selector(' Confirm Exit: ', [('Off', 0), ('On', 1)], default=CONFIRM_EXIT, onchange=set_confirm) + _g.setmenu.add_selector('Show Game Text: ', [('Off', 0), ('On', 1)], default=SHOW_GAMETEXT, onchange=set_gametext) + _g.setmenu.add_selector(' Show Splash: ', [('Off', 0), ('On', 1)], default=SHOW_SPLASHSCREEN, onchange=set_splash) + _g.setmenu.add_selector(' Speed Adjust: ', + [('0', 0), ('+1', 1), ('+2', 2), ('+3', 3), ('+4', 4), ('+5', 5), ('+6', 6), ('+7', 7), ('+8', 8)], default=SPEED_ADJUST, onchange=set_speed) - _g.settingmenu.add_vertical_margin(15) - _g.settingmenu.add_selector('DKAFE Features: ', [('Full', 0), ('Basic', 1)], default=BASIC_MODE, onchange=set_basic) - _g.settingmenu.add_vertical_margin(15) - _g.settingmenu.add_button('Save Changes to File', save_menu_settings) - _g.settingmenu.add_button('Close Menu', close_menu) + _g.setmenu.add_vertical_margin(15) + _g.setmenu.add_selector('DKAFE Features: ', [('Full', 0), ('Basic', 1)], default=BASIC_MODE, onchange=set_basic) + _g.setmenu.add_vertical_margin(15) + _g.setmenu.add_button('Save Changes to File', save_menu_settings) + _g.setmenu.add_button('Close Menu', close_menu) def build_launch_menu(): @@ -581,7 +588,7 @@ def build_launch_menu(): def open_settings_menu(): - open_menu(_g.settingmenu) + open_menu(_g.setmenu) reset_all_inputs() @@ -605,6 +612,8 @@ def save_menu_settings(): f_out.write(f"BASIC_MODE = {BASIC_MODE}\n") elif "SHOW_SPLASHSCREEN=" in line_packed: f_out.write(f"SHOW_SPLASHSCREEN = {SHOW_SPLASHSCREEN}\n") + elif "SHOW_GAMETEXT=" in line_packed: + f_out.write(f"SHOW_GAMETEXT = {SHOW_GAMETEXT}\n") elif "SPEED_ADJUST=" in line_packed: f_out.write(f"SPEED_ADJUST = {SPEED_ADJUST}\n") else: @@ -633,6 +642,20 @@ def set_speed(_, setting_value): globals()["SPEED_ADJUST"] = setting_value +def set_confirm(_, setting_value): + globals()["CONFIRM_EXIT"] = setting_value + + +def set_gametext(_, setting_value, external=False): + globals()["SHOW_GAMETEXT"] = setting_value + if external: + # Hack to fix pygamemenu when updating outside of the menu + for i, w in enumerate(_g.setmenu._widgets): + if w._title.startswith("Show Game Text"): + _g.setmenu._widgets[i]._index = int(SHOW_GAMETEXT) + break + + def set_fullscreen(_, setting_value): if FULLSCREEN != setting_value: globals()["FULLSCREEN"] = setting_value @@ -642,10 +665,6 @@ def set_fullscreen(_, setting_value): pygame.display.set_icon(get_image("artwork/dkafe.ico")) -def set_confirm(_, setting_value): - globals()["CONFIRM_EXIT"] = setting_value - - def open_menu(menu): _g.timer.stop() pygame.mouse.set_visible(False) @@ -661,7 +680,7 @@ def close_menu(): intermission_channel.stop() _g.menu.disable() _g.exitmenu.disable() - _g.settingmenu.disable() + _g.setmenu.disable() if _g.launchmenu: _g.launchmenu.disable() update_screen() @@ -917,31 +936,34 @@ def process_interrupts(): if _g.ready: # Pauline shouts out the launch options if since_last_move() % 4 <= 2: - write_text("Push P1 START for options...", x=108, y=38, bg=MAGENTA, fg=PINK, bubble=True) - write_text("P1 START", x=128, y=38, bg=MAGENTA) + write_text("Push JUMP to play or..", x=108, y=38, bg=MAGENTA, fg=PINK, bubble=True) + write_text("JUMP", x=128, y=38, bg=MAGENTA) else: - write_text("or push JUMP to play", x=108, y=38, bg=MAGENTA, fg=PINK, bubble=True) - write_text("JUMP", x=140, y=38, bg=MAGENTA) + write_text("P1 START for options", x=108, y=38, bg=MAGENTA, fg=PINK, bubble=True) + write_text("P1 START", x=108, y=38, bg=MAGENTA) # Display game text - sub, name, *_ = display_icons(detect_only=True) - selected = sub if sub else name - for rom, text_lines in _g.gametext: - if rom == selected and text_lines: - # Text appears above or below Jumpman based on his Y position - text_y = _g.ypos - (len(text_lines)+2) * 6 if _g.ypos >= 138 else _g.ypos + 32 - # Clear a space for text and draw border - pygame.draw.rect(_g.screen, DARKGREY, (0, text_y-5, 223, len(text_lines)*6+8)) - pygame.draw.rect(_g.screen, GREY, (0, text_y - 5, 223, 14)) - pygame.draw.rect(_g.screen, GREY, (0, text_y-5, 223, len(text_lines)*6+8), width=2) - # Display the game text - for i, line in enumerate(text_lines): - text = line.replace("\n","").replace("\r","") - if i == 0: - # Center align the title - text = " "*int((55 - len(text.strip())) / 2)+text.strip() - write_text(text[:55], x=4, y=text_y+(i*6)) - break + if SHOW_GAMETEXT: + sub, name, *_ = display_icons(detect_only=True) + selected = sub if sub else name + for rom, text_lines in _g.gametext: + if rom == selected and text_lines: + # Text appears above or below Jumpman based on his Y position + text_y = _g.ypos - (len(text_lines)+5) * 6 if _g.ypos >= 138 else _g.ypos + 32 + # Clear a space for text and draw borders + pygame.draw.rect(_g.screen, DARKGREY, (0, text_y-5, 224, len(text_lines)*6+8)) + pygame.draw.rect(_g.screen, MIDGREY, (0, text_y - 5, 224, 14)) + pygame.draw.rect(_g.screen, MIDGREY, (0, text_y-5, 223, len(text_lines)*6+8), width=2) + pygame.draw.rect(_g.screen, MIDGREY, (0, text_y+len(text_lines)*6+2, 224, 14)) + # Display the game text + info_index = 0 if (_g.timer.duration - _g.lastmove) % 10 <= 6 else 1 + for i, line in enumerate(text_lines + TEXT_INFO[info_index]): + text = line.replace("\n","").replace("\r","") + if i == 0: + # Center align the title + text = " "*int((55 - len(text.strip())) / 2)+text.strip() + write_text(text[:55], x=4, y=text_y+(i*6)) + break def get_prize_placing(awarded): diff --git a/patch/fix_eb6571036ff25e8e5db5289f5524ab76.ips b/patch/fix_eb6571036ff25e8e5db5289f5524ab76.ips new file mode 100644 index 0000000..821d210 Binary files /dev/null and b/patch/fix_eb6571036ff25e8e5db5289f5524ab76.ips differ diff --git a/patch/ckongpt2.txt b/patch/gametext/ckongpt2.txt similarity index 84% rename from patch/ckongpt2.txt rename to patch/gametext/ckongpt2.txt index 0fd120d..c6484a2 100644 --- a/patch/ckongpt2.txt +++ b/patch/gametext/ckongpt2.txt @@ -2,8 +2,9 @@ CRAZY KONG This Donkey Kong clone retains all of the gameplay elements of Donkey Kong, but has the graphics redrawn -and re-colorised. There are some quirks with the game. - +and re-colorised. + +There are some quirks with the game. If something moves, don't touch it. If it doesn't move, it's either a hammer for bashing barrels or a bonus item for picking up umbrella, purse, etc.. diff --git a/patch/dkong.txt b/patch/gametext/dkong.txt similarity index 100% rename from patch/dkong.txt rename to patch/gametext/dkong.txt diff --git a/patch/gametext/dkong2600.txt b/patch/gametext/dkong2600.txt new file mode 100644 index 0000000..c2dca05 --- /dev/null +++ b/patch/gametext/dkong2600.txt @@ -0,0 +1,7 @@ +Donkey Kong Atari 2600 Graphics + +This hack is made to appear like the ATARI VCS version +of Donkey Kong. + +Hack Developed by Vic 20 George +using 'Gingerbread Kong' plugin by Jon Wilson (10yard) \ No newline at end of file diff --git a/patch/gametext/dkong2nut.txt b/patch/gametext/dkong2nut.txt new file mode 100644 index 0000000..a435366 --- /dev/null +++ b/patch/gametext/dkong2nut.txt @@ -0,0 +1,11 @@ +2NUT KONG + +Relentless barrel boards without breaks so you must +try to retain focus. All delays have been removed +from the game. + +This game starts at level 17-1 and there are 3 barrel +boards per level. + +Hack Developed by Jon Wilson (10yard) +Based on ideas from Luke (mr2nut123) \ No newline at end of file diff --git a/patch/dkong3.txt b/patch/gametext/dkong3.txt similarity index 100% rename from patch/dkong3.txt rename to patch/gametext/dkong3.txt diff --git a/patch/gametext/dkong40.txt b/patch/gametext/dkong40.txt new file mode 100644 index 0000000..b58d7a6 --- /dev/null +++ b/patch/gametext/dkong40.txt @@ -0,0 +1,14 @@ +Donkey Kong Annversary Edition + +Celebrating 40 years of the Donkey Kong arcade game. + +The original game was released on July 9th 1981. +Donkey Kong and Pauline decided to throw a party to +celebrate. They invited Jumpman and it is your job to +take him there. You should collect presents and +balloons on your way up. +The Boards are all variations of the original. + +Have fun ... and celebrate !!! + +Hack Developed by Paul Goes \ No newline at end of file diff --git a/patch/gametext/dkongallen.txt b/patch/gametext/dkongallen.txt new file mode 100644 index 0000000..d749d67 --- /dev/null +++ b/patch/gametext/dkongallen.txt @@ -0,0 +1,14 @@ +Allen Kong + +WARNING: THIS GAME CONTAINS STRONG LANGUAGE + +A very screwed up version of Donkey Kong were you take +control of Allen and help him to reach his dream 1 +Million points. Allen will vent his joy and +frustration via the hundreds of included sound samples. + +Allen can select a start level (1, 5, 12 or 17) and be +right on pace for the 1 million points. + +Hack Developed by Jon Wilson (10yard) +with the consent of Allen Staal (muscleandfitness) \ No newline at end of file diff --git a/patch/gametext/dkongbarpal.txt b/patch/gametext/dkongbarpal.txt new file mode 100644 index 0000000..5bb4756 --- /dev/null +++ b/patch/gametext/dkongbarpal.txt @@ -0,0 +1,11 @@ +Donkey Kong Barrel Palooza + +A barrel boards only hack with twelve variations: +'Steering Bonus', 'Into The Dark', 'Crazy Kong', +'More Wilds', 'Pauline's Heart', 'Both Hammers', +'Reverse Run', 'Slow Barrels', 'Shifted Girders', +'Pauline's Items', 'Spring Time' and 'Anti-Gravity'. + +The game has a randomized board selection. + +Hack Developed by Paul Goes \ No newline at end of file diff --git a/patch/dkongcb.txt b/patch/gametext/dkongcb.txt similarity index 100% rename from patch/dkongcb.txt rename to patch/gametext/dkongcb.txt diff --git a/patch/gametext/dkongce.txt b/patch/gametext/dkongce.txt new file mode 100644 index 0000000..1144caa --- /dev/null +++ b/patch/gametext/dkongce.txt @@ -0,0 +1,8 @@ +Donkey Kong Championship Edition + +This romhack introduces the famous Kill Screen at an +earlier level resulting in a much shorter game. + +This game defaults to a Kill Screen at level 11. + +Hack Developed by Paul Goes \ No newline at end of file diff --git a/patch/gametext/dkongd2k.txt b/patch/gametext/dkongd2k.txt new file mode 100644 index 0000000..b49863b --- /dev/null +++ b/patch/gametext/dkongd2k.txt @@ -0,0 +1,11 @@ +Donkey Kong 2: Jumpman Returns + +This modded game offers a total of 8 levels. This +includes the original 4 levels, with a few clever +updates, and 4 new levels: Mixer, Foundry, Refinery, +and Incinerator. + +The design and play make this game feel like a +Nintendo sequel. It's a hard game to master. + +ROM Developed by Jeff Kulczycki \ No newline at end of file diff --git a/patch/gametext/dkongfoundry.txt b/patch/gametext/dkongfoundry.txt new file mode 100644 index 0000000..affdce8 --- /dev/null +++ b/patch/gametext/dkongfoundry.txt @@ -0,0 +1,11 @@ +Donkey Kong Foundry + +Jump over flaming pits, ride moving steel beams, and +dodge shooting fireballs! + +Advanced difficulty. Welcome to the Foundry! + +Keep moving and hope that your timing is right on the +money. + +ROM Developed by Jeff Kulczycki \ No newline at end of file diff --git a/patch/dkonggalakong.txt b/patch/gametext/dkonggalakong.txt similarity index 100% rename from patch/dkonggalakong.txt rename to patch/gametext/dkonggalakong.txt diff --git a/patch/dkonghalf.txt b/patch/gametext/dkonghalf.txt similarity index 100% rename from patch/dkonghalf.txt rename to patch/gametext/dkonghalf.txt diff --git a/patch/dkonghrthnt.txt b/patch/gametext/dkonghrthnt.txt similarity index 100% rename from patch/dkonghrthnt.txt rename to patch/gametext/dkonghrthnt.txt diff --git a/patch/gametext/dkongitd.txt b/patch/gametext/dkongitd.txt new file mode 100644 index 0000000..2c80e1b --- /dev/null +++ b/patch/gametext/dkongitd.txt @@ -0,0 +1,10 @@ +Donkey Kong Into The Dark + +In this romhack Donkey Kong unplugs the power source. +This results in the lights to be switched off. So you +have to complete the boards in the dark. Once in a few +seconds the lights flash to allow the player to +orientate. The higher the level the longer the pause +between the flashes. + +Hack Developed by Paul Goes \ No newline at end of file diff --git a/patch/dkongjr.txt b/patch/gametext/dkongjr.txt similarity index 100% rename from patch/dkongjr.txt rename to patch/gametext/dkongjr.txt diff --git a/patch/gametext/dkongjrgala.txt b/patch/gametext/dkongjrgala.txt new file mode 100644 index 0000000..9c72274 --- /dev/null +++ b/patch/gametext/dkongjrgala.txt @@ -0,0 +1,13 @@ +GALAKONG JUNIOR + +A Donkey Kong Junior version of my Galakong hack. It +mashes up Donkey Kong Junior with Galaga. +Jumpman is assisted by an accompanying ship which can +take out enemies. Bonus points are awarded for hitting +multiple targets. The jump button also shoots. + +Your ship follows Jumpman's position automatically. +The ship can be controlled independently when you are +on a vine. + +Hack Developed by Jon Wilson (10yard) \ No newline at end of file diff --git a/patch/gametext/dkongkana.txt b/patch/gametext/dkongkana.txt new file mode 100644 index 0000000..a72f470 --- /dev/null +++ b/patch/gametext/dkongkana.txt @@ -0,0 +1,10 @@ +Kana Kong + +Donkey Kong with Touhou Project themed graphics. + +The player character is based on Touhou character, +Reimu Hakurei. + +The enemy character is based on Kanako Yasaka. + +Hack Developed by Kirai Shouen and 125scratch \ No newline at end of file diff --git a/patch/gametext/dkongkonkey.txt b/patch/gametext/dkongkonkey.txt new file mode 100644 index 0000000..ab49a10 --- /dev/null +++ b/patch/gametext/dkongkonkey.txt @@ -0,0 +1,12 @@ +Konkey Dong + +A mixed up version of Donkey Kong. + +The rom hack flips the barrels stage so that Jumpman +must run right to left at the start. +The pies stage is changed slighly too. + +The board sequence is: pies, barrels, +elevators, barrels, rivets for all levels. + +Hack Developed by Jon Wilson (10yard) diff --git a/patch/dkonglava.txt b/patch/gametext/dkonglava.txt similarity index 100% rename from patch/dkonglava.txt rename to patch/gametext/dkonglava.txt diff --git a/patch/gametext/dkongnoluck.txt b/patch/gametext/dkongnoluck.txt new file mode 100644 index 0000000..30fff32 --- /dev/null +++ b/patch/gametext/dkongnoluck.txt @@ -0,0 +1,6 @@ +No Luck Kong + +The 100% barrel steering and fixed points remove your +reliance on luck when focussed on putting up a score. + +Hack Developed by Jon Wilson (10yard) \ No newline at end of file diff --git a/patch/dkongoctomonkey.txt b/patch/gametext/dkongoctomonkey.txt similarity index 100% rename from patch/dkongoctomonkey.txt rename to patch/gametext/dkongoctomonkey.txt diff --git a/patch/gametext/dkongotr.txt b/patch/gametext/dkongotr.txt new file mode 100644 index 0000000..5bd70cd --- /dev/null +++ b/patch/gametext/dkongotr.txt @@ -0,0 +1,12 @@ +Donkey Kong On The Run + +This time Donkey Kong has not only kidnapped Pauline. +He also sabotaged the boards. Because of that he is +On The Run! + +Sabotages include randomly broken ladders, twice as +much wild barrels, blinking hammers, closely-spaced +pies and in-between springs. All the sabotages result +in a more brutal game that is a lot harder to play. + +Hack Developed by Paul Goes \ No newline at end of file diff --git a/patch/gametext/dkongpauline.txt b/patch/gametext/dkongpauline.txt new file mode 100644 index 0000000..2c8f41a --- /dev/null +++ b/patch/gametext/dkongpauline.txt @@ -0,0 +1,8 @@ +Donkey Kong Pauline Edition + +The hack replaces the main character with Pauline. It +was made by a father for his three year old daughter, +who wanted to play as Pauline instead of the main +Jumpman character. + +Hack Developed by Mike Mika and Clay Cowgill \ No newline at end of file diff --git a/patch/gametext/dkongpies.txt b/patch/gametext/dkongpies.txt new file mode 100644 index 0000000..10b0676 --- /dev/null +++ b/patch/gametext/dkongpies.txt @@ -0,0 +1,8 @@ +Donkey Kong Pies Only + +You play only the pie boards starting from level 1. + +Levels 1 and 2 are easily mastered. You don't get to +see these levels in the original Donkey Kong. + +Hack Developed by Jon Wilson (10yard) \ No newline at end of file diff --git a/patch/dkongquarter.txt b/patch/gametext/dkongquarter.txt similarity index 100% rename from patch/dkongquarter.txt rename to patch/gametext/dkongquarter.txt diff --git a/patch/gametext/dkongrdemo.txt b/patch/gametext/dkongrdemo.txt new file mode 100644 index 0000000..36c0018 --- /dev/null +++ b/patch/gametext/dkongrdemo.txt @@ -0,0 +1,3 @@ +Donkey Kong Remix Demo + +ROM Developed by John Kowalski (SockMaster) \ No newline at end of file diff --git a/patch/gametext/dkongrev.txt b/patch/gametext/dkongrev.txt new file mode 100644 index 0000000..9b32e92 --- /dev/null +++ b/patch/gametext/dkongrev.txt @@ -0,0 +1,12 @@ +Donkey Kong Reverse + +In Donkey Kong Reverse, jumpman starts the stages at +the top of the screen and has to grab Pauline's heart +at the bottom. And in the rivets stage, instead of +unplugging the rivets, jumpman has to plug them back +in. +In all stages it is a little easier to jump +fireballs/firefoxes: they do not change direction when +jumpman jumps them. + +Hack Developed by Paul Goes \ No newline at end of file diff --git a/patch/gametext/dkongrivets.txt b/patch/gametext/dkongrivets.txt new file mode 100644 index 0000000..2333024 --- /dev/null +++ b/patch/gametext/dkongrivets.txt @@ -0,0 +1,5 @@ +Donkey Kong Rivets Only + +You play only the rivet boards starting from level 1. + +Hack Developed by Jon Wilson (10yard) \ No newline at end of file diff --git a/patch/gametext/dkongrndmzr.txt b/patch/gametext/dkongrndmzr.txt new file mode 100644 index 0000000..26f0507 --- /dev/null +++ b/patch/gametext/dkongrndmzr.txt @@ -0,0 +1,12 @@ +Donkey Kong RNDMZR + +In this romhack, the boards are randomly constructed, +resulting in a unique layout for each board played. +The barrels board lends itself best for randomization, +with an algorithm that results in 49000 possible +variations. + +The game mechanics are not changed, so the game plays +exactly the same as the original. + +Hack Developed by Paul Goes \ No newline at end of file diff --git a/patch/gametext/dkongspooky.txt b/patch/gametext/dkongspooky.txt new file mode 100644 index 0000000..5465574 --- /dev/null +++ b/patch/gametext/dkongspooky.txt @@ -0,0 +1,6 @@ +Donkey Kong Spooky Remix + +A halloween themed version of Donkey Kong with new +challenging stages and bonus levels. + +ROM Developed by John Kowalski (SockMaster) \ No newline at end of file diff --git a/patch/gametext/dkongspringy.txt b/patch/gametext/dkongspringy.txt new file mode 100644 index 0000000..9dcc5d3 --- /dev/null +++ b/patch/gametext/dkongspringy.txt @@ -0,0 +1,9 @@ +Donkey Kong Springs Only + +This hack plays only the springs stage, starting from +level 1 - which you don't get to see in the original +Donkey Kong. You should be able to easily navigate +level 1 and 2. Just like the original, things get +more difficult from the 3rd stage. + +Hack Developed by Jon Wilson (10yard) \ No newline at end of file diff --git a/patch/gametext/dkongtj.txt b/patch/gametext/dkongtj.txt new file mode 100644 index 0000000..96ae5de --- /dev/null +++ b/patch/gametext/dkongtj.txt @@ -0,0 +1,13 @@ +Donkey Kong Twisted Jungle + +In this romhack Donkey Kong has kidnapped Pauline and +took her to his jungle. Jumpman has to save her in +five brand new jungle themed stages. But the jungle is +Donkey Kong's natural habitat, not Jumpman's! +Make sure you don't get hit by a coconut, watch out +when standing on disappearing ground, remove leaves +and tubers and evade worms, snapjaws and birds. + +Don't forget to pick up the bananas for bonus points. + +Hack Developed by Paul Goes \ No newline at end of file diff --git a/patch/dkongvector.txt b/patch/gametext/dkongvector.txt similarity index 100% rename from patch/dkongvector.txt rename to patch/gametext/dkongvector.txt diff --git a/patch/gametext/dkongwbh.txt b/patch/gametext/dkongwbh.txt new file mode 100644 index 0000000..27dc799 --- /dev/null +++ b/patch/gametext/dkongwbh.txt @@ -0,0 +1,9 @@ +Donkey Kong Wild Barrel Hack + +A crazy hard game of Donkey Kong with a constant +stream of wild barrels being thrown down from above. + +How long can you survive? +Can you even complete the first barrel stage? + +Developed by Unknown Author \ No newline at end of file diff --git a/patch/dkongwho.txt b/patch/gametext/dkongwho.txt similarity index 100% rename from patch/dkongwho.txt rename to patch/gametext/dkongwho.txt diff --git a/patch/dkongwizardry.txt b/patch/gametext/dkongwizardry.txt similarity index 100% rename from patch/dkongwizardry.txt rename to patch/gametext/dkongwizardry.txt diff --git a/patch/gametext/dkongxgala.txt b/patch/gametext/dkongxgala.txt new file mode 100644 index 0000000..2a15402 --- /dev/null +++ b/patch/gametext/dkongxgala.txt @@ -0,0 +1,13 @@ +Extreme GalaKong + +An extreme version of GalaKong which is played with +wild barrels only. You'll need to pickup the ship +a.s.a.p. and shoot barrels to survive. The jump +button also shoots. + +The ship can be controlled independantly when you are +on a ladder. + +Bonus points awarded for destroying multiple targets. + +Hack Developed by Jon Wilson (10yard) \ No newline at end of file diff --git a/patch/gametext/dkongxgalakong.txt b/patch/gametext/dkongxgalakong.txt new file mode 100644 index 0000000..2a15402 --- /dev/null +++ b/patch/gametext/dkongxgalakong.txt @@ -0,0 +1,13 @@ +Extreme GalaKong + +An extreme version of GalaKong which is played with +wild barrels only. You'll need to pickup the ship +a.s.a.p. and shoot barrels to survive. The jump +button also shoots. + +The ship can be controlled independantly when you are +on a ladder. + +Bonus points awarded for destroying multiple targets. + +Hack Developed by Jon Wilson (10yard) \ No newline at end of file diff --git a/patch/gametext/dkongxmas.txt b/patch/gametext/dkongxmas.txt new file mode 100644 index 0000000..a052181 --- /dev/null +++ b/patch/gametext/dkongxmas.txt @@ -0,0 +1,6 @@ +Donkey Kong Christmas Remix + +A Christmas themed version of Donkey Kong with new +challenging stages and bonus levels. + +ROM Developed by John Kowalski (SockMaster) \ No newline at end of file diff --git a/patch/readme.txt b/patch/readme.txt index 4d350ef..5a529ab 100644 --- a/patch/readme.txt +++ b/patch/readme.txt @@ -12,74 +12,11 @@ DKAFE builds the default frontend using patches of the original "dkong.zip" (US The .ips patches are included with the software. The orginal Donkey Kong rom is not provided with the software and must be obtained and placed into the dkafe/roms folder as dkong.zip. -DKAFE will then apply patches and generate the following hacked version of Donkey Kong automatically for you. The hacked versions will be organised into subfolders of the roms folder. Folder name shown in brackets below. - -By Jon Wilson (me) - - VectorKong (dkongvector) - - Galakong (dkonggalakong) - - Galakong Junior (dkongjrgala) - - Allen Kong - - OctoMonkey (dkongoctomonkey) - - Half Kong (dkonghalf) - - Quarter Kong (dkonghalf) - - 2NUT Kong - - NoLuck Kong - - Donkey Kong Lava Panic! (dkonglava) - - DK Who and the Daleks (dkongwho) - - Konkey Dong (dkongkonkey) - - DK Pies Only (dkongpies) - - DK Rivets Only (dkongrivets) - - DK Barrels Only (dkongbarrels) - - DK Springs Only (dkongspringy) - -By Paul Goes - - Donkey Kong Crazy Barrels Edition (dkongcb) - - Donkey Kong Championship Edition (dkongce) - - Donkey Kong Randomized Edition (dkongrnd) - - Donkey Kong Freerun Edition (dkongfr) - - Donkey Kong Into The Dark (dkongitd) - - Donkey Kong Skip Start (dkongl05) - - Donkey Kong Reverse (dkongrev) - - Donkey Kong On The Run (dkongotr) - - Donkey Kong Twisted Jungle (dkongtj) - - Donkey Kong Barrelpalooza (dkongbp) - - Donkey Kong 40th Anniversary Edition (dkong40) - - Donkey Kong Duel (dkongduel) - - Donkey Kong Wizardry (dkongwizardry) - - Donkey Kong RNDMZR (dkongrndmzr) - - Donkey Kong Springfinity (dkongsprfin) - -By John Kowalski (Sock Master) - - Donkey Kong Spooky Remix (dkongspooky) - - Donkey Kong Christmas Remix (dkongxmas) - - Donkey Kong Springs Trainer (dkongst2) - - Donkey Kong Trainer (dkongtrn) - - Donkey Kong Pace (dkongpace) - - Donkey Kong Rainbow (dkongrainbow) - -By Jeff Kulczycki - - Donkey Kong 2 Jumpman Returns (dkongd2k) - - Donkey Kong Foundry (dkongf) - - Donkey Kong Barrel Control Colouring (dkongbcc) - -By Mike Mika and Clay Cowgill - - Donkey Kong Pauline Edition (dkongpe) - -By Don Hodges - - Donkey Kong Killscreen Fix (dkongksfix) - -By Tim Appleton - - Donkey Kong Pac-Man (dkongpac) - -By Vic Twenty George - - Donkey Kong Atari 2600 Graphics (dkong2600) - -By Others - - Donkey Kong Wild Barrel Hack (dkongwbh) - - Donkey Kong 2 Marios (dkong2m) - - Donkey Kong Naked (dkongnad) - - Donkey Kong Hard (dkonghrd) - - Donkey Kong Japan (dkongjapan) +DKAFE will then apply patches and generate hacked versions of Donkey Kong automatically for you. +The hacked versions will be organised into subfolders of the roms folder. + +For a list of generated roms, refer to: +https://github.com/10yard/dkafe#automatically-generated-roms Creating patches diff --git a/readme.md b/readme.md index 71d60d4..08d2546 100644 --- a/readme.md +++ b/readme.md @@ -15,8 +15,8 @@ The latest releases are available to download from below. Refer to the **How to | Download Link | Version | Operating System | | -------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------------------------| -| [dkafe_win64_binary_v0.37.zip](https://github.com/10yard/dkafe/releases/download/v0.37/dkafe_win64_binary_v0.37.zip) | 0.37 | Windows 64 bit (x64) systems: 10, 11 | -| [dkafe_win32_binary_v0.37.zip](https://github.com/10yard/dkafe/releases/download/v0.37/dkafe_win32_binary_v0.37.zip) | 0.37 | Windows 32 bit (x86) systems: Vista, 7, 8 | +| [dkafe_win64_binary_v0.38.zip](https://github.com/10yard/dkafe/releases/download/v0.38/dkafe_win64_binary_v0.38.zip) | 0.38 | Windows 64 bit (x64) systems: 10, 11 | +| [dkafe_win32_binary_v0.38.zip](https://github.com/10yard/dkafe/releases/download/v0.38/dkafe_win32_binary_v0.38.zip) | 0.38 | Windows 32 bit (x86) systems: Vista, 7, 8 | | [dkafe_rpi4_image_v0.36.gz](https://github.com/10yard/dkafe/releases/download/v0.36/dkafe_rpi4_image_v0.36.gz) | 0.36 | Raspberry Pi 4 and 400 only | | [dkafe_winxp_binary_v0.36.zip](https://github.com/10yard/dkafe/releases/download/v0.36/dkafe_winxp_binary_v0.36.zip) | 0.36 | Windows XP only | @@ -253,6 +253,9 @@ Default settings can be changed in the `settings.txt` file. Some settings can b `SHOW_SPLASHSCREEN = 1` 1 to show the DKAFE splash screen and animation on startup. 0 to skip the splash screen. +`SHOW_GAMETEXT = 1` +1 to show the game text descriptions when Jumpman faces an arcade machine. 0 to hide the game descriptions. + `SPEED_ADJUST = 0` Increase the frontend speed. 0 is normal. If frontend is running slow then try incrementing by 1 until desired speed is achieved. @@ -489,9 +492,8 @@ I would love to get to the infamous killscreen on level 22. My current PB is 51 ## What's next? + - Adding descriptive text for each of the games. - Add a test screen for the player controls and a welcome screen to set the initial frontend settings. - - Complete work on the coaching plugin. Helpers for Rivets and Pies stages to be added. Barrels needs more work too. - - Unlock achievements for one-off objectives in the game such as completing stages for the first time (barrels, rivets, elevators, pies) or reaching levels for the first time. - Create an alternative frontend made for vertical arcade games (like 60-in-1 board) with DK, Pacman, Ms Pacman, Galaga, Burger Time, Frogger etc. No roms will be provided. ## Thanks to diff --git a/requirements.txt b/requirements.txt index 1c08439..14ef738 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,7 +3,7 @@ future==0.18.2 ips-util==1.0 pefile==2019.4.18 pygame==2.1.0 -pygame-menu==3.1.4 +pygame-menu==3.5.8 pyinstaller==4.0 pyinstaller-hooks-contrib==2020.10 pyperclip==1.8.1 diff --git a/settings.txt b/settings.txt index a75b14c..61832ff 100644 --- a/settings.txt +++ b/settings.txt @@ -14,6 +14,7 @@ BASIC_MODE = 0 FULLSCREEN = 1 CONFIRM_EXIT = 1 SHOW_SPLASHSCREEN = 1 +SHOW_GAMETEXT = 1 ENABLE_MENU = 1 ENABLE_SHUTDOWN = 0 INACTIVE_TIME = 20