Skip to content

Commit

Permalink
Finish building out the Crazy Kong board
Browse files Browse the repository at this point in the history
Bring XP up to v0.62
  • Loading branch information
10yard committed May 21, 2024
1 parent 238a83f commit a288382
Show file tree
Hide file tree
Showing 17 changed files with 207 additions and 147 deletions.
Binary file added artwork/icon/shell/pc_a2600_arcade_easy.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added artwork/icon/shell/pc_a2600_arcade_hard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added artwork/icon/shell/pc_dk_aa.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added artwork/icon/shell/pc_dk_plus.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added artwork/icon/shell/pc_fixitfelix.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions buildxp.bat
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ rmdir build /s /Q
rmdir dist /s /Q

echo **** build the exe ****
pyinstaller launch.py --onedir --clean --noconsole --icon artwork\dkafe.ico --name launchxp --exclude-module rotate-screen
pyinstaller launch.py --onedir --clean --console --icon artwork\dkafe.ico --name launchxp --exclude-module rotate-screen

echo **** copy python dependencies ****
echo **** these are files from the base_library.zip ****
Expand All @@ -48,7 +48,7 @@ copy VERSION dist\launchxp\ /Y
copy COPYING dist\launchxp\ /Y

echo **** export the system architecture to file
echo winxp > dist\ARCH
echo winxp > dist\launchxp\ARCH

echo **** create empty roms folder
xcopy roms\---* dist\launchxp\roms /S /i /Y
Expand Down
9 changes: 6 additions & 3 deletions dk_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,9 @@
DKONG3_ZIP = os.path.join(ROM_DIR, "dkong3.zip")

# Optional rom names
OPTIONAL_NAMES = "dkong", "dkongjr", "dkong3", "logger", "congo"
OPTIONAL_NAMES = "dkong", "dkongjr", "dkong3"
if ARCH != "winxp":
OPTIONAL_NAMES += "logger", "congo"

# Plugins add functionality to certain roms
PLUGINS = (
Expand Down Expand Up @@ -663,11 +665,12 @@
"dos_aldo": "ctrl>space",
"dos_davikong": "ctrl>f1|num 2>n,enter|num 1>1,enter|esc>forcequit:dosbox-x.exe",
"dos_dk": "y>n|ctrl>space|esc>forcequit:dosbox-x.exe",
"dos_kong": "num 1>enter|esc>forcequit:dosbox-x.exe",
"dos_kong": "num 1>enter|tab>esc|esc>forcequit:dosbox-x.exe", # TAB to access and save in-game settings
"dos_mamedk": "num 5>num 3|num 2>enter",
"dos_willy": "num 1>enter|ctrl>space",
"pc_atarist_mb":"ctrl>space",
"pc_atarist_junior":"num 1>a|num 2>b",
"pc_dk_aa": "1>enter|2>enter|ctrl>x",
"pc_dk_craze": "esc>forcequit:stdrt.exe",
"pc_dk_jr_remake": "num 1>enter|ctrl>space|esc>forcequit",
"pc_dk_plus": "left>a|right>d|up>w|down>s|1>enter|ctrl>space",
Expand All @@ -679,7 +682,7 @@
"pc_pico8_dinkyking": "ctrl>x|esc>forcequit:zepto8.exe",
"pc_raiders":"ctrl>space",
"pc_tic80_denis_kogne":"ctrl>z|alt>x|esc>forcequit:tic80.exe",
"pc_tic80_kongremake":"ctrl>up|esc>forcequit:tic80.exe",
"pc_tic80_kongremake":"ctrl>z|up>z|esc>forcequit:tic80.exe",
"pc_trs80_ape":"ctrl>space|p>enter,1|num 2>home|num 1>enter,1",
"pc_trs80_kong":"ctrl>space|num 1>home",
"pc_trs80_dk":"ctrl>space|num 1>enter,1",
Expand Down
Binary file modified dkwolf/dkwolfxp.exe
Binary file not shown.
33 changes: 22 additions & 11 deletions launch.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
"""
import os
import sys
sys.path.append("c:\\dkafe")

os.environ['PYGAME_HIDE_SUPPORT_PROMPT'] = '1'
import pygame.cursors
Expand Down Expand Up @@ -39,13 +40,14 @@ def exit_program(confirm=False):
except (EOFError, FileNotFoundError, IOError):
pygame.time.delay(250 * attempt)
rotate_display(exiting=True)
kill_pc_external(program="remap_pc.exe") # ensure keyboard remaps are ended
if ARCH == "win64":
kill_pc_external(program="remap_pc.exe") # ensure keyboard remaps are ended
pygame.quit()
sys.exit()


def kill_pc_external(pid=None, program=None):
from subprocess import call, DEVNULL, STDOUT
from subprocess import call, DEVNULL, STDOUT, CREATE_NO_WINDOW
if pid:
call(f"taskkill /f /PID {pid}", stdout=DEVNULL, stderr=STDOUT, creationflags=CREATE_NO_WINDOW)
elif program:
Expand All @@ -72,14 +74,22 @@ def rotate_display(exiting=False, initial=False, rotate=ROTATION):
pass

def initialise_screen(reset=False):
_g.screen = pygame.display.set_mode(DISPLAY, pygame.FULLSCREEN * int(FULLSCREEN) | pygame.SCALED | pygame.WINDOWFOCUSGAINED)
try:
_g.screen = pygame.display.set_mode(DISPLAY, pygame.FULLSCREEN * int(FULLSCREEN) | pygame.SCALED | pygame.WINDOWFOCUSGAINED)
except AttributeError:
# Target doesn't support WINDOWFOCUSGAINED
_g.screen = pygame.display.set_mode(DISPLAY, pygame.FULLSCREEN * int(FULLSCREEN) | pygame.SCALED)
pygame.event.set_grab(FULLSCREEN == 1)
pygame.mouse.set_visible(False)

# Hack to force hide of the mouse cursor in the menus by making cursor transparent
cursor_img = pygame.image.load('artwork/transparent.png').convert_alpha()
cursor = pygame.cursors.Cursor((9, 0), cursor_img)
pygame.mouse.set_cursor(cursor)
try:
cursor_img = pygame.image.load('artwork/transparent.png').convert_alpha()
cursor = pygame.cursors.Cursor((9, 0), cursor_img)
pygame.mouse.set_cursor(cursor)
except AttributeError:
# Target doesn't support a custom Cursor
pass

if not reset:
_g.screen_map = _g.screen.copy()
Expand Down Expand Up @@ -365,9 +375,9 @@ def play_intro_animation():
for from_scene, to_scene, below_y, above_y, smash_scene in SCENE_ICONS:
if from_scene < current < to_scene:
display_icons(below_y=below_y, above_y=above_y, intro=True, smash=current < smash_scene)
display_slots()
else:
display_slots(version_only=True)
# display_slots()
#else:
# display_slots(version_only=True)

# Title and messages
write_text(("", QUESTION)[855 < current < 1010], font=dk_font, x=12, y=240, bg=BLACK)
Expand Down Expand Up @@ -717,7 +727,8 @@ def get_addon():
else:
clear_screen()
write_text("PROBLEM WITH DOWNLOAD", font=dk_font, y=0, fg=WHITE)
write_text("Sorry! Download is not currently available", font=pl_font, y=14, fg=WHITE)
write_text("The download target is not currently reachable.", font=pl_font, y=14, fg=WHITE)
write_text("Please check your internet connectivity.", font=pl_font, y=22, fg=WHITE)
jump_to_continue()

def reset_addon_state_files():
Expand Down Expand Up @@ -919,7 +930,7 @@ def open_menu(menu, remember_selection=False):
_widget = _g.last_selected or _g.last_launched
try:
menu.select_widget(widget=_widget)
except AssertionError:
except (AssertionError, AttributeError):
# Item was not found in the active list
pass
_g.current_menu_title = menu.get_title()
Expand Down
11 changes: 11 additions & 0 deletions patch/gametext/pc_a2600_arcade_easy.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Atari 2600 - Donkey Kong Arcade 2600 Demo (Easy)

An amazing arcade implementation of Donkey Kong on the
VCS.

The playable demo below features all four levels but
will end after the rivet level (Level 4).

This is the "Easy" version.

Developed by Byte Knight
11 changes: 11 additions & 0 deletions patch/gametext/pc_a2600_arcade_hard.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Atari 2600 - Donkey Kong Arcade 2600 Demo (Hard)

An amazing arcade implementation of Donkey Kong on the
VCS.

The playable demo below features all four levels but
will end after the rivet level (Level 4).

This is the "Hard" version. The difficulty increases.

Developed by Byte Knight
13 changes: 13 additions & 0 deletions patch/gametext/pc_dk_aa.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
PC - Donkey Kong Attacks Again

A Donkey Kong fan game with interesting gameplay
variations.

Some of the graphics appear to have been taken from
Donkey Kong 3.

Also this fangame has a secret!
Can you reach the final level after many repeated
levels?

Developed by GBFan45
8 changes: 8 additions & 0 deletions patch/gametext/pc_dk_plus.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
PC - Donkey Kong Plus

Donkey Kong Plus is a fan game based featuring 17
changing levels of Mario hammering barrel avoiding
fun. It offers a spin on the original game and it's
a ton of fun to play.

Developed by Gojisaurus_Rex
19 changes: 19 additions & 0 deletions patch/gametext/pc_fixitfelix.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
PC - Fix It Felix Classic

It's not Donkey Kong but The Fix-It Felix Jr. Cabinet
from Wreck-It Ralph is based on a Donkey Kong cabinet.

This game is the result of looking at the depiction of
the Fix-It Felix Jr. game in the film, as well as the
various playable versions, and thinking "What would
this be like if it was actually released in the early
80s?". Its goal is not so much to recreate the game
shown in the movie as accurately as possible, but
rather to try to be the game that the makers of the
movie had in mind when designing it, while staying
close to authentic hardware constraints.

The game provides a stronger challenge than any
official version, though not an unfair one.

Developed by 125scratch
8 changes: 8 additions & 0 deletions patch/gametext/pc_zx80_kong.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
ZX80 - Kong

The game implements a fully featured version of Donkey
Kong, and incorporates all four levels of the original
Japanese version. The game supports a screen display
of 24 rows by 31 columns and is flicker free!

Developed by Lightning Software
1 change: 0 additions & 1 deletion remap_pc.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ def kill_pc_external(pid=None, program=None):
# Ensure remappings are ended
keyboard.unhook_all()
call(f"taskkill /f /IM remap_pc.exe")
sys.exit()

def remap(name, mappings):
"""asynchronous: temporary keyboard remapping and force quit option"""
Expand Down
Loading

0 comments on commit a288382

Please sign in to comment.