Compare commits

...

63 Commits

Author SHA1 Message Date
Storm Dragon 04b9ac5a51 Fixed a bug where random items found in coffins didn't correctly trigger events. 2025-10-12 01:03:34 -04:00
Storm Dragon 275ead1e80 Bug fixes from the massive code cleanup. 2025-10-04 02:17:54 -04:00
Storm Dragon dd67eb5e1d Fix up some inconsistancies in the code levels should only be needed in one directory now, so update the hook to move levels into place on first run if needed. Warning, this version breaks existing save files. 2025-10-03 01:46:53 -04:00
Storm Dragon 95fc94a507 Improvements and lots of bug fixes to new weapon systems. 2025-09-30 16:12:42 -04:00
Storm Dragon 6d49ea25c3 Simplified the spec file and it will hopefully include all files in levels, not just folders. 2025-09-27 21:36:47 -04:00
Storm Dragon 870ef051ba Alternative key ' for console. 2025-09-27 16:25:34 -04:00
Storm Dragon fbbb970303 Fixed some console command bugs. 2025-09-27 02:20:31 -04:00
Storm Dragon a16b6f0b1f Well, unifying the way levels are called didn't seem to fix the requirement, so now using copy for levels in the hook file. 2025-09-26 17:49:38 -04:00
Storm Dragon 4681dc5a2e Found some differences in how levels are called that required the levels directory be in both _internal and in source directory. This fix hopefully makes them work from a single location. 2025-09-26 17:41:32 -04:00
Storm Dragon 28856d2662 Hopefully improve packaging. This is experimental and may have to be removed. 2025-09-26 17:05:20 -04:00
Storm Dragon 525c9d7563 Hopefully improve packaging. This is experimental and may have to be removed. 2025-09-26 17:04:13 -04:00
Storm Dragon 10f859136b Fixed a few bugs in console commands. 2025-09-26 13:42:17 -04:00
Storm Dragon 1d39ff0ca7 Console added, bound to ` 2025-09-26 05:05:42 -04:00
Storm Dragon 7eb353677a Fixed wrong name used for catapult firing interval in Wicked Quest levels. There shouldn't really be any noticeable changes in game play. 2025-09-24 11:53:24 -04:00
Storm Dragon fcf54760d7 Fixed errors in documentation for level creation. Fixed some save loading bugs. 2025-09-24 11:52:09 -04:00
Storm Dragon 33e0f6093b Updated submodule. 2025-09-23 18:04:07 -04:00
Storm Dragon 8688c8fad3 Added speech history in the game bound to f1 previous, f2 current, f3 next. I may expand this later. 2025-09-23 17:56:22 -04:00
Storm Dragon e15b497c54 Updated submodule. 2025-09-23 14:29:40 -04:00
Storm Dragon d2304fae85 Tweaks to survival mode with spawn chances. 2025-09-23 00:41:32 -04:00
Storm Dragon a686e816f5 Missed a bit of the skullstorm override system. Fixed that and updated documentation. 2025-09-21 23:40:10 -04:00
Storm Dragon 77633adf14 Updated submodule. 2025-09-21 22:38:44 -04:00
Storm Dragon b516593f5d Updated submodule. 2025-09-21 22:18:28 -04:00
Storm Dragon 3845d93808 Fixed all spiders to have their original behavior. The ability to customize spider webs broke them. Players would have been in for a nasty shock if I hadn't caught that lol. 2025-09-21 20:48:22 -04:00
Storm Dragon 477fb747b1 Updated documentation for custom levels. 2025-09-21 19:54:25 -04:00
Storm Dragon 948d0c32f7 Extended override system to include spider webs. They can now be altered to be on the ground and require jumping, the name and the sponned monster can be changed as well. Fixed various bugs. 2025-09-21 19:25:09 -04:00
Storm Dragon bd7df4804d Updated submodule. 2025-09-21 14:34:13 -04:00
Storm Dragon b1d6fc3468 Updated submodule. 2025-09-21 14:21:12 -04:00
Storm Dragon bd1eb7c1c7 Introduced a bug with coffins and items when working on survival mode. Hopefully fixed now. 2025-09-21 12:37:26 -04:00
Storm Dragon 4b21552ca9 Actually found a bug with weapon progression. Made survival mode more random. Graves can now have any item from all levels or be empty. Coffins will always have a random item. 2025-09-21 01:38:49 -04:00
Storm Dragon ed764cdfdf More improvements to the override system. Fixed a bug that reared its ugly head during updates to grasping hands code. 2025-09-21 00:17:25 -04:00
Storm Dragon befc6bbe92 Updated level creation documentation. Fixed a couple bugs in weapon overrides. 2025-09-20 20:48:08 -04:00
Storm Dragon 63a5088f51 Fixed a few bugs with the new override system. 2025-09-20 20:15:02 -04:00
Storm Dragon 5dd78a1687 Added override capabilities for lots of items, weapons, and hazards. 2025-09-20 04:10:32 -04:00
Storm Dragon 91eecae786 Updated submodule, hopefully clicks and pops are gone once and for all. Added dialogue system for levels that mave more than just a simple 1 line description. 2025-09-19 16:20:20 -04:00
Storm Dragon 0d4e5e7bde Add ability for dialogue based messages. 2025-09-18 15:52:21 -04:00
Storm Dragon 3fa36e4ac1 Updated submodule. 2025-09-17 22:48:27 -04:00
Storm Dragon 5826aa4580 Updated libstormgames. Added end of skull storm sound. Fixed inconsistancy with escape key in survival as apposed to story mode. 2025-09-17 15:34:01 -04:00
Storm Dragon bd298ab17e fixed a bug with nunchucks not saving weapon speed. Updated libstormgames. 2025-09-16 12:54:27 -04:00
Storm Dragon 90f14b842e Fixed jumping while ducking bug. Updated level creation documentation. 2025-09-15 17:22:47 -04:00
Storm Dragon 4041983385 Finally got it, I think. The path to the end.ogg file was constructed differently from other sounds loaded by libstormgames. Because the libstormgames version works, just use it here too. 2025-09-13 14:44:19 -04:00
Storm Dragon 8218d28701 Sound file error hopefully fixed for pyinstaller. 2025-09-13 01:33:16 -04:00
Storm Dragon 82f1128087 Fixed sample rate for sounds. Removed debug statement for info for survival mode. 2025-09-12 16:47:15 -04:00
Storm Dragon 1f51a2e6be Clarify information about bone dust. 2025-09-11 20:30:00 -04:00
Storm Dragon d5fcbcaf40 Volume a bit too low on Spider's Domain. 2025-09-11 20:01:33 -04:00
Storm Dragon 8ee60f7f45 Fixed bug with missing Spider's Domain music, updated credits. 2025-09-11 18:36:14 -04:00
Storm Dragon 60ab8cd868 Changes merged from testing. 2025-09-11 11:47:43 -04:00
Storm Dragon d83e7db248 A few adjustments to documentation and reworked how monsters are unlocked in survival mode. Added bonus for unlocking everything. 2025-09-11 11:44:46 -04:00
Storm Dragon cc0f0437f5 game cover picture added. 2025-09-10 01:03:26 -04:00
Storm Dragon 2bfb146ef5 game cover picture added. 2025-09-10 01:02:41 -04:00
Storm Dragon 21d3cd7788 lint and spacing fixes. Also fixed problem with levels not showing up in compiled version (hopefully). 2025-09-09 22:02:33 -04:00
Storm Dragon 949c12f193 A few minor cleanups. Added game over sound to survival mode. Not sure how I missed that for this long lol. 2025-09-09 18:12:51 -04:00
Storm Dragon dc1557e71d Oops, forgot to add some files in the last push. Rest of the sound changes. 2025-09-09 03:03:22 -04:00
Storm Dragon 494de84ba3 Improve sound playing code to check for specific level pack sounds. 2025-09-09 03:02:40 -04:00
Storm Dragon 8766290ccd Hopefully fixed a race condition where you could be killed while getting a cauldron and come back to life. Added sound for fill in grave and for survivor bonus. 2025-09-09 00:01:53 -04:00
Storm Dragon 1d37a16f9e Minor cosmetic updates. 2025-09-08 18:03:05 -04:00
Storm Dragon 2437e13604 Updated libstormgames. Fixed death sounds following player. Fixed volume keys in survival mode. 2025-09-08 16:00:13 -04:00
Storm Dragon 04067a4bb3 Updated credits and instructions. 2025-09-07 20:27:16 -04:00
Storm Dragon 8a60c8e454 Fixed traceback in menu. 2025-09-07 18:21:13 -04:00
Storm Dragon 3034712c95 If wielding witch broom instantly land when jumping by pressing down. 2025-09-07 14:50:09 -04:00
Storm Dragon 56a78aa4ff Weapons now do different things. Shovels fill in graves, broom gives a speed and jump bonus and nunchucks just thwack things real hard and have best reach. 2025-09-07 13:20:49 -04:00
Storm Dragon cf3f27d9b8 Add ability to switch weapons with number keys. 2025-09-07 12:11:52 -04:00
Storm Dragon 2bc27c0e28 More work on survival mode. 2025-09-07 11:13:01 -04:00
Storm Dragon ce353d0ed9 Updates to libstormgames submodule. Updated the game to use the menu improvements. Started work on survival mode. 2025-09-07 03:13:25 -04:00
124 changed files with 3947 additions and 1074 deletions
+1
View File
@@ -1 +1,2 @@
*.ogg filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
+7 -3
View File
@@ -6,6 +6,9 @@ https://git.stormux.org/storm/wicked-quest
Angus Kola: Beta testing.
https://angus.kola.casa
Chris Wright: Beta testing.
https://www.youtube.com/channel/UCDWOwfwJ18lQiXRubVBEFkw
Deedra Waters: Beta testing.
Ember Wolfe: Sound effects, beta testing, and visual verification of messages.
@@ -25,9 +28,6 @@ https://hubert-humphrey.com
Steven Robinson:
Ko-fi Supporters:
https://ko-fi.com/stormux/leaderboard
Music:
Choir of Doom:
@@ -40,6 +40,10 @@ https://youtu.be/3F8C713XUj8
Wayward Ghouls:
http://teknoaxe.com/Link_Code_3.php?q=1469
Spider's Domain
Alexey Kasyanchuk (DEgITx) [ https://degitx.com/links ]
https://creativecommons.org/licenses/by/4.0/
Sound Effects:
_finish_level.ogg uses Shock Stab 08 by nomiqbomi from freesound. License Creative Commons 0.
+27 -3
View File
@@ -19,6 +19,9 @@ tab or capslock: Toggle run lock.
Control: Attack.
Space or shift: Hold to run if runlock is disabled. If run lock is enabled, hold to walk.
f, z, or /: Throw jack O'lantern.
1: Switch to rusty shovel (if available).
2: Switch to witch's broom (if available).
3: Switch to nunchucks (if available).
c: Check bone dust.
e: Check currently wielded weapon.
h: Check health.
@@ -28,10 +31,13 @@ l: Check lives remaining.
Alt+PageDown: Master volume decrease.
Alt+PageUp: Master volume increase.
Alt+End: Ambience volume decrease.
Alt+Home: Game volume increase.
Alt+Home: Ambience volume increase.
Alt+Delete: Game sounds volume decrease.
Alt+Insert: Game sounds volume increase.
Backspace: Pause or resume the game.
F1: Navigate to previous speech message in history.
F2: Repeat current speech message.
F3: Navigate to next speech message in history.
Notes
@@ -41,7 +47,25 @@ Spider webs can be passed by ducking as you move by them.
If you hit a spiderweb, a spider spawns, and you are slowed for 15 seconds. If you are invincible, you are not slowed, but the spider still appears.
Running and jumping both move you at 1.5 your normal speed.
Items bounce away from you when they are freed from the coffin. You must jump to catch them when they are in range.
The game automatically saves your progress when you have collected 200 bone dust. You will hear a message saying the game has been saved, and a wolf will howl. To load a game, use the load option in the main menu. Load only appears if you have saved games. The first save should happen around level 6.
You can switch between weapons you've collected using the number keys 1, 2, and 3. This allows strategic combat use different weapons for different situations based on their damage, range, and speed.
The shovel is a weak weapon, but it can fill in graves. While wielding the shovel hold down and walk (do not run) over the grave. If you run you will trip and fall in.
The witch's broom isn't in good enough condition from bashing enemies to be used for true flight, but it does grant a speed bonus and also allows you to land at any point while jumping, just press down.
The game automatically saves your progress when you have collected 200 bone dust. You will hear a message saying the game has been saved, and a wolf will howl. To load a game, use the load option in the main menu. Load only appears if you have saved games.
Game Modes
Story Mode: Traditional level-by-level progression through predefined stages. Your progress is saved, and you can collect extra lives by gathering 100 bone dust.
At 200 bone dust the game will save allowing you to load from the current level.
Survival Mode: An endless challenge where you face wave after wave of increasingly difficult enemies. Each wave gets progressively harder with stronger enemies, faster spawn rates, and longer levels. Level length starts at 300 units and increases by 20 units per wave (capped at 500 units). In survival mode:
No saving or loading - each run is a fresh start
No extra lives are awarded
Each wave must be completed by defeating all enemies before you can advance
Bone dust still provides health bonuses but collecting 100 bone dust gives 2000 bonus score instead of extra lives
Monsters unlock per wave that matches the level in which they are found
Once all monsters are unlocked your score is doubled
All coffin contents are randomized
A detailed statistics report shows your performance at the end of each run
Enemies
@@ -61,7 +85,7 @@ Bonuses and items
Bone dust: Currency of the game. Collect it to gain health and extra lives.
Cauldron: Restores you to full health.
Witch's broom: A weapon gained from witches. Stronger than the grave digger's rusty shovel.
Witch's broom: A weapon gained from witches. Stronger than the grave digger's rusty shovel and grants extra speed and jump time.
Coffin: Contains items. Be quick, they try to escape.
Guts: Adds 2 health to your maximum unlife if your unlife is below 20 points otherwise it restores your health.
Hand of Glory: Grants invincibility for a short time.
+895 -140
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -123,7 +123,7 @@
"x": 135,
"y": 0,
"type": "catapult",
"fire_interval": 4000,
"fireInterval": 5000,
"range": 30
},
{
@@ -254,7 +254,7 @@
"x": 310,
"y": 0,
"type": "catapult",
"fire_interval": 4000,
"fireInterval": 5000,
"range": 30
},
{
+4 -4
View File
@@ -61,7 +61,7 @@
{
"type": "spider_web",
"x": 65,
"y": 0
"y": 1
},
{
"x": 75,
@@ -130,7 +130,7 @@
"x": 155,
"y": 0,
"type": "catapult",
"fire_interval": 4000,
"fireInterval": 5000,
"range": 30
},
{
@@ -143,7 +143,7 @@
{
"type": "spider_web",
"x": 180,
"y": 0
"y": 1
},
{
"x": 190,
@@ -265,7 +265,7 @@
{
"type": "spider_web",
"x": 355,
"y": 0
"y": 1
},
{
"x_range": [365, 380],
+12 -12
View File
@@ -25,7 +25,7 @@
"x": 50,
"y": 0,
"type": "catapult",
"fire_interval": 3000,
"fireInterval": 5000,
"range": 30
},
{
@@ -38,7 +38,7 @@
{
"type": "spider_web",
"x": 70,
"y": 0
"y": 1
},
{
"x_range": [75, 85],
@@ -55,7 +55,7 @@
"x": 100,
"y": 0,
"type": "catapult",
"fire_interval": 3000,
"fireInterval": 5000,
"range": 30
},
{
@@ -85,7 +85,7 @@
"x": 150,
"y": 0,
"type": "catapult",
"fire_interval": 3000,
"fireInterval": 5000,
"range": 30
},
{
@@ -117,7 +117,7 @@
"x": 200,
"y": 0,
"type": "catapult",
"fire_interval": 3000,
"fireInterval": 5000,
"range": 30
},
{
@@ -142,13 +142,13 @@
{
"type": "spider_web",
"x": 220,
"y": 0
"y": 1
},
{
"x": 250,
"y": 0,
"type": "catapult",
"fire_interval": 3000,
"fireInterval": 5000,
"range": 30
},
{
@@ -169,7 +169,7 @@
"x": 300,
"y": 0,
"type": "catapult",
"fire_interval": 3000,
"fireInterval": 5000,
"range": 30
},
{
@@ -194,7 +194,7 @@
"x": 350,
"y": 0,
"type": "catapult",
"fire_interval": 3000,
"fireInterval": 5000,
"range": 30
},
{
@@ -220,7 +220,7 @@
"x": 400,
"y": 0,
"type": "catapult",
"fire_interval": 3000,
"fireInterval": 5000,
"range": 30
},
{
@@ -245,7 +245,7 @@
"x": 450,
"y": 0,
"type": "catapult",
"fire_interval": 3000,
"fireInterval": 5000,
"range": 30
},
{
@@ -266,7 +266,7 @@
"x": 500,
"y": 0,
"type": "catapult",
"fire_interval": 3000,
"fireInterval": 5000,
"range": 30
},
{
+14 -14
View File
@@ -26,13 +26,13 @@
"x": 50,
"y": 0,
"type": "catapult",
"fire_interval": 3000,
"fireInterval": 5000,
"range": 30
},
{
"type": "spider_web",
"x": 35,
"y": 0
"y": 1
},
{
"x_range": [55, 60],
@@ -54,7 +54,7 @@
"x": 100,
"y": 0,
"type": "catapult",
"fire_interval": 3000,
"fireInterval": 5000,
"range": 30
},
{
@@ -91,13 +91,13 @@
"x": 150,
"y": 0,
"type": "catapult",
"fire_interval": 3000,
"fireInterval": 5000,
"range": 30
},
{
"type": "spider_web",
"x": 135,
"y": 0
"y": 1
},
{
"x_range": [155, 160],
@@ -110,7 +110,7 @@
"x": 200,
"y": 0,
"type": "catapult",
"fire_interval": 3000,
"fireInterval": 5000,
"range": 30
},
{
@@ -154,7 +154,7 @@
"x": 300,
"y": 0,
"type": "catapult",
"fire_interval": 3000,
"fireInterval": 5000,
"range": 30
},
{
@@ -174,13 +174,13 @@
{
"type": "spider_web",
"x": 335,
"y": 0
"y": 1
},
{
"x": 350,
"y": 0,
"type": "catapult",
"fire_interval": 3000,
"fireInterval": 5000,
"range": 30
},
{
@@ -202,7 +202,7 @@
"x": 400,
"y": 0,
"type": "catapult",
"fire_interval": 3000,
"fireInterval": 5000,
"range": 30
},
{
@@ -241,7 +241,7 @@
"x": 500,
"y": 0,
"type": "catapult",
"fire_interval": 3000,
"fireInterval": 5000,
"range": 30
},
{
@@ -254,13 +254,13 @@
{
"type": "spider_web",
"x": 525,
"y": 0
"y": 1
},
{
"x": 550,
"y": 0,
"type": "catapult",
"fire_interval": 3000,
"fireInterval": 5000,
"range": 30
},
{
@@ -281,7 +281,7 @@
"x": 600,
"y": 0,
"type": "catapult",
"fire_interval": 3000,
"fireInterval": 5000,
"range": 30
},
{
+1 -1
View File
@@ -107,7 +107,7 @@
"x": 120,
"y": 0,
"type": "catapult",
"fire_interval": 5000,
"fireInterval": 5000,
"range": 15
},
{
+1 -1
View File
@@ -229,7 +229,7 @@
"x": 175,
"y": 0,
"type": "catapult",
"fire_interval": 4500,
"fireInterval": 5000,
"range": 20
},
{
+1 -1
View File
@@ -125,7 +125,7 @@
"x": 90,
"y": 0,
"type": "catapult",
"fire_interval": 4500,
"fireInterval": 5000,
"range": 20
},
{
+2 -2
View File
@@ -76,7 +76,7 @@
"x": 55,
"y": 0,
"type": "catapult",
"fire_interval": 4000,
"fireInterval": 5000,
"range": 25
},
{
@@ -198,7 +198,7 @@
"x": 175,
"y": 0,
"type": "catapult",
"fire_interval": 4000,
"fireInterval": 5000,
"range": 25
},
{
+6 -6
View File
@@ -18,7 +18,7 @@
{
"type": "spider_web",
"x": 15,
"y": 0
"y": 1
},
{
"x_range": [20, 35],
@@ -75,7 +75,7 @@
"x": 60,
"y": 0,
"type": "catapult",
"fire_interval": 4000,
"fireInterval": 5000,
"range": 30
},
{
@@ -99,7 +99,7 @@
{
"type": "spider_web",
"x": 90,
"y": 0
"y": 1
},
{
"x_range": [95, 98],
@@ -194,7 +194,7 @@
"x": 175,
"y": 0,
"type": "catapult",
"fire_interval": 4000,
"fireInterval": 5000,
"range": 30
},
{
@@ -214,7 +214,7 @@
{
"type": "spider_web",
"x": 205,
"y": 0
"y": 1
},
{
"x_range": [215, 230],
@@ -281,7 +281,7 @@
{
"type": "spider_web",
"x": 290,
"y": 0
"y": 1
},
{
"x_range": [295, 298],
+10 -10
View File
@@ -17,7 +17,7 @@
{
"type": "spider_web",
"x": 10,
"y": 0
"y": 1
},
{
"x": 15,
@@ -57,7 +57,7 @@
{
"type": "spider_web",
"x": 40,
"y": 0
"y": 1
},
{
"x": 45,
@@ -126,7 +126,7 @@
"x": 100,
"y": 0,
"type": "catapult",
"fire_interval": 4000,
"fireInterval": 5000,
"range": 30
},
{
@@ -147,7 +147,7 @@
{
"type": "spider_web",
"x": 120,
"y": 0
"y": 1
},
{
"x_range": [125, 145],
@@ -196,7 +196,7 @@
{
"type": "spider_web",
"x": 175,
"y": 0
"y": 1
},
{
"x_range": [180, 200],
@@ -256,13 +256,13 @@
{
"type": "spider_web",
"x": 220,
"y": 0
"y": 1
},
{
"x": 225,
"y": 0,
"type": "catapult",
"fire_interval": 4000,
"fireInterval": 5000,
"range": 20
},
{
@@ -293,7 +293,7 @@
{
"type": "spider_web",
"x": 255,
"y": 0
"y": 1
},
{
"x_range": [260, 275],
@@ -334,7 +334,7 @@
{
"type": "spider_web",
"x": 305,
"y": 0
"y": 1
},
{
"x_range": [310, 325],
@@ -371,7 +371,7 @@
{
"type": "spider_web",
"x": 355,
"y": 0
"y": 1
},
{
"x_range": [360, 375],
+2 -2
View File
@@ -95,7 +95,7 @@
"x": 115,
"y": 0,
"type": "catapult",
"fire_interval": 4000,
"fireInterval": 5000,
"range": 30
},
{
@@ -217,7 +217,7 @@
"x": 270,
"y": 0,
"type": "catapult",
"fire_interval": 4000,
"fireInterval": 5000,
"range": 30
},
{
+4 -4
View File
@@ -17,7 +17,7 @@
{
"type": "spider_web",
"x": 15,
"y": 0
"y": 1
},
{
"x_range": [25, 45],
@@ -111,13 +111,13 @@
{
"type": "spider_web",
"x": 140,
"y": 0
"y": 1
},
{
"x": 150,
"y": 0,
"type": "catapult",
"fire_interval": 4000,
"fireInterval": 5000,
"range": 30
},
{
@@ -244,7 +244,7 @@
"x": 330,
"y": 0,
"type": "catapult",
"fire_interval": 4000,
"fireInterval": 5000,
"range": 30
},
{
BIN
View File
Binary file not shown.
+59
View File
@@ -0,0 +1,59 @@
import os
import sys
import shutil
# Runtime hook to move directories and files from _internal to parent directory
if hasattr(sys, '_MEIPASS'):
# We're running from a PyInstaller bundle
bundleDir = os.path.dirname(sys.executable)
internalDir = sys._MEIPASS
# Directories to move from _internal to parent
# All these use the parent directory for easier user customization
dirsToMove = ['sounds', 'libstormgames', 'levels']
# Directories to copy (keep in both locations)
# None needed - everything now uses parent directory
dirsToCopy = []
# Files to move from _internal to parent
filesToMove = ['files', 'logo.png']
# Move directories
for dir_name in dirsToMove:
internalPath = os.path.join(internalDir, dir_name)
targetPath = os.path.join(bundleDir, dir_name)
# Only move if source exists and target doesn't exist
if os.path.exists(internalPath) and not os.path.exists(targetPath):
try:
shutil.move(internalPath, targetPath)
except Exception as e:
# Silently fail if we can't move - game will still work from _internal
pass
# Copy directories (keep in both locations)
for dir_name in dirsToCopy:
internalPath = os.path.join(internalDir, dir_name)
targetPath = os.path.join(bundleDir, dir_name)
# Only copy if source exists and target doesn't exist
if os.path.exists(internalPath) and not os.path.exists(targetPath):
try:
shutil.copytree(internalPath, targetPath)
except Exception as e:
# Silently fail if we can't copy - game will still work from _internal
pass
# Move files
for file_name in filesToMove:
internalPath = os.path.join(internalDir, file_name)
targetPath = os.path.join(bundleDir, file_name)
# Only move if source exists and target doesn't exist
if os.path.exists(internalPath) and not os.path.exists(targetPath):
try:
shutil.move(internalPath, targetPath)
except Exception as e:
# Silently fail if we can't move - game will still work from _internal at least enough to exit.
pass
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More