diff --git a/Makefile b/Makefile
index 71bef2dc..ddaea1e4 100644
--- a/Makefile
+++ b/Makefile
@@ -64,11 +64,11 @@ NO_LDIV ?= 0
# Backend selection
-# Renderers: GL, GL_LEGACY, D3D11, D3D12
+# Renderers: GL, GL_LEGACY, D3D11, D3D12, DUMMY
RENDER_API ?= GL
-# Window managers: SDL1, SDL2, DXGI (forced if D3D11 or D3D12 in RENDER_API)
+# Window managers: SDL1, SDL2, DXGI (forced if D3D11 or D3D12 in RENDER_API), DUMMY (forced if RENDER_API is DUMMY)
WINDOW_API ?= SDL2
-# Audio backends: SDL1, SDL2
+# Audio backends: SDL1, SDL2, DUMMY
AUDIO_API ?= SDL2
# Controller backends (can have multiple, space separated): SDL2, SDL1
CONTROLLER_API ?= SDL2
@@ -242,6 +242,17 @@ else
ifeq ($(WINDOW_API),DXGI)
$(error DXGI can only be used with DirectX renderers)
endif
+ ifneq ($(WINDOW_API),DUMMY)
+ ifeq ($(RENDER_API),DUMMY)
+ $(warning Dummy renderer requires dummy window API, forcing WINDOW_API value)
+ WINDOW_API := DUMMY
+ endif
+ else
+ ifneq ($(RENDER_API),DUMMY)
+ $(warning Dummy window API requires dummy renderer, forcing RENDER_API value)
+ RENDER_API := DUMMY
+ endif
+ endif
endif
################### Universal Dependencies ###################
@@ -749,6 +760,7 @@ endif
# lua
LDFLAGS += -Llib/lua -l:liblua54.a
+LUA_LIBS := lib/lua/lua54.dll
ifeq ($(WINDOWS_BUILD),1)
LDFLAGS += -L"ws2_32" -lwsock32
@@ -853,6 +865,9 @@ $(BUILD_DIR)/$(RPC_LIBS):
$(BUILD_DIR)/$(DISCORD_SDK_LIBS):
@$(CP) -f $(DISCORD_SDK_LIBS) $(BUILD_DIR)
+$(BUILD_DIR)/$(LUA_LIBS):
+ @$(CP) -f $(LUA_LIBS) $(BUILD_DIR)
+
$(BUILD_DIR)/$(MOD_DIR):
@$(CP) -f -r $(MOD_DIR) $(BUILD_DIR)
@@ -1106,7 +1121,7 @@ $(BUILD_DIR)/%.o: %.s
-$(EXE): $(O_FILES) $(MIO0_FILES:.mio0=.o) $(SOUND_OBJ_FILES) $(ULTRA_O_FILES) $(GODDARD_O_FILES) $(BUILD_DIR)/$(RPC_LIBS) $(BUILD_DIR)/$(DISCORD_SDK_LIBS) $(BUILD_DIR)/$(MOD_DIR)
+$(EXE): $(O_FILES) $(MIO0_FILES:.mio0=.o) $(SOUND_OBJ_FILES) $(ULTRA_O_FILES) $(GODDARD_O_FILES) $(BUILD_DIR)/$(RPC_LIBS) $(BUILD_DIR)/$(DISCORD_SDK_LIBS) $(BUILD_DIR)/$(LUA_LIBS) $(BUILD_DIR)/$(MOD_DIR)
$(LD) -L $(BUILD_DIR) -o $@ $(O_FILES) $(SOUND_OBJ_FILES) $(ULTRA_O_FILES) $(GODDARD_O_FILES) $(LDFLAGS)
.PHONY: all clean distclean default diff test load libultra res
diff --git a/build-windows-visual-studio/sm64ex.vcxproj b/build-windows-visual-studio/sm64ex.vcxproj
index e3290c87..ec8f50b1 100644
--- a/build-windows-visual-studio/sm64ex.vcxproj
+++ b/build-windows-visual-studio/sm64ex.vcxproj
@@ -89,7 +89,7 @@
Level3
true
- _DEBUG;_CONSOLE;WINSOCK;DEBUG;CAPI_SDL2;WAPI_SDL2;RAPI_GL;F3DEX_GBI_2;_LANGUAGE_C;BETTERCAMERA;VERSION_US;EXT_OPTIONS_MENU;%(PreprocessorDefinitions)
+ _DEBUG;_CONSOLE;WINSOCK;DEBUG;CAPI_SDL2;WAPI_SDL2;RAPI_GL;F3DEX_GBI_2;_LANGUAGE_C;BETTERCAMERA;VERSION_US;EXT_OPTIONS_MENU;HAVE_SDL2;%(PreprocessorDefinitions)
true
@@ -142,237 +142,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -409,579 +184,8 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1001,468 +205,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1475,2123 +217,113 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -3627,230 +359,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -3863,6 +371,7 @@
+
@@ -3936,6 +445,7 @@
+
@@ -4059,8 +569,6 @@
-
-
@@ -4399,7 +907,9 @@
+
+
diff --git a/build-windows-visual-studio/sm64ex.vcxproj.filters b/build-windows-visual-studio/sm64ex.vcxproj.filters
index 43ed6a37..b3af4401 100644
--- a/build-windows-visual-studio/sm64ex.vcxproj.filters
+++ b/build-windows-visual-studio/sm64ex.vcxproj.filters
@@ -3462,510 +3462,6 @@
-
- Source Files\actors\amp\anims
-
-
- Source Files\actors\amp\anims
-
-
- Source Files\actors\amp\anims
-
-
- Source Files\actors\amp
-
-
- Source Files\actors\amp
-
-
- Source Files\actors\bird\anims
-
-
- Source Files\actors\bird\anims
-
-
- Source Files\actors\bird\anims
-
-
- Source Files\actors\bird\anims
-
-
- Source Files\actors\bird
-
-
- Source Files\actors\bird
-
-
- Source Files\actors\blargg\anims
-
-
- Source Files\actors\blargg\anims
-
-
- Source Files\actors\blargg\anims
-
-
- Source Files\actors\blargg\anims
-
-
- Source Files\actors\blargg
-
-
- Source Files\actors\blargg
-
-
- Source Files\actors\blue_coin_switch
-
-
- Source Files\actors\blue_coin_switch
-
-
- Source Files\actors\blue_coin_switch
-
-
- Source Files\actors\blue_fish\anims
-
-
- Source Files\actors\blue_fish\anims
-
-
- Source Files\actors\blue_fish\anims
-
-
- Source Files\actors\blue_fish
-
-
- Source Files\actors\blue_fish
-
-
- Source Files\actors\bobomb\anims
-
-
- Source Files\actors\bobomb\anims
-
-
- Source Files\actors\bobomb\anims
-
-
- Source Files\actors\bobomb\anims
-
-
- Source Files\actors\bobomb
-
-
- Source Files\actors\bobomb
-
-
- Source Files\actors\bomb
-
-
- Source Files\actors\bomb
-
-
- Source Files\actors\boo
-
-
- Source Files\actors\boo
-
-
- Source Files\actors\boo_castle
-
-
- Source Files\actors\boo_castle
-
-
- Source Files\actors\book
-
-
- Source Files\actors\book
-
-
- Source Files\actors\bookend\anims
-
-
- Source Files\actors\bookend\anims
-
-
- Source Files\actors\bookend\anims
-
-
- Source Files\actors\bookend\anims
-
-
- Source Files\actors\bookend\anims
-
-
- Source Files\actors\bookend
-
-
- Source Files\actors\bookend
-
-
- Source Files\actors\bowling_ball
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser\anims
-
-
- Source Files\actors\bowser
-
-
- Source Files\actors\bowser
-
-
- Source Files\actors\bowser
-
-
- Source Files\actors\bowser_flame
-
-
- Source Files\actors\bowser_flame
-
-
- Source Files\actors\bowser_key\anims
-
-
- Source Files\actors\bowser_key\anims
-
-
- Source Files\actors\bowser_key\anims
-
-
- Source Files\actors\bowser_key\anims
-
-
- Source Files\actors\bowser_key
-
-
- Source Files\actors\bowser_key
-
-
- Source Files\actors\breakable_box
-
-
- Source Files\actors\breakable_box
-
-
- Source Files\actors\breakable_box
-
-
- Source Files\actors\bub\anims
-
-
- Source Files\actors\bub\anims
-
-
- Source Files\actors\bub\anims
-
-
- Source Files\actors\bub
-
-
- Source Files\actors\bub
-
-
- Source Files\actors\bubba
-
-
- Source Files\actors\bubba
-
-
- Source Files\actors\bubble
-
-
- Source Files\actors\bubble
-
-
- Source Files\actors\bullet_bill
-
-
- Source Files\actors\bullet_bill
-
-
- Source Files\actors\bully\anims
-
-
- Source Files\actors\bully\anims
-
-
- Source Files\actors\bully\anims
-
-
- Source Files\actors\bully\anims
-
-
- Source Files\actors\bully\anims
-
-
- Source Files\actors\bully\anims
-
-
- Source Files\actors\bully
-
-
- Source Files\actors\bully
-
-
- Source Files\actors\burn_smoke
-
-
- Source Files\actors\burn_smoke
-
-
- Source Files\actors\butterfly\anims
-
-
- Source Files\actors\butterfly\anims
-
-
- Source Files\actors\butterfly\anims
-
-
- Source Files\actors\butterfly\anims
-
-
- Source Files\actors\butterfly
-
-
- Source Files\actors\butterfly
-
-
- Source Files\actors\cannon_barrel
-
-
- Source Files\actors\cannon_barrel
-
-
- Source Files\actors\cannon_base
-
-
- Source Files\actors\cannon_base
-
-
- Source Files\actors\cannon_lid
-
-
- Source Files\actors\cannon_lid
-
-
- Source Files\actors\cannon_lid
-
-
- Source Files\actors\capswitch
-
-
- Source Files\actors\capswitch
-
-
- Source Files\actors\capswitch
-
-
- Source Files\actors\chain_ball
-
-
- Source Files\actors\chain_ball
-
-
- Source Files\actors\chain_chomp\anims
-
-
- Source Files\actors\chain_chomp\anims
-
-
- Source Files\actors\chain_chomp\anims
-
-
- Source Files\actors\chain_chomp
-
-
- Source Files\actors\chain_chomp
-
-
- Source Files\actors\chair\anims
-
-
- Source Files\actors\chair\anims
-
-
- Source Files\actors\chair\anims
-
-
- Source Files\actors\chair
-
-
- Source Files\actors\chair
-
-
- Source Files\actors\checkerboard_platform
-
-
- Source Files\actors\checkerboard_platform
-
-
- Source Files\actors\checkerboard_platform
-
-
- Source Files\actors\chillychief\anims
-
-
- Source Files\actors\chillychief\anims
-
-
- Source Files\actors\chillychief\anims
-
-
- Source Files\actors\chillychief\anims
-
-
- Source Files\actors\chillychief\anims
-
-
- Source Files\actors\chillychief\anims
-
-
- Source Files\actors\chillychief
-
-
- Source Files\actors\chillychief
-
-
- Source Files\actors\chuckya\anims
-
-
- Source Files\actors\chuckya\anims
-
-
- Source Files\actors\chuckya\anims
-
-
- Source Files\actors\chuckya\anims
-
-
- Source Files\actors\chuckya\anims
-
-
- Source Files\actors\chuckya\anims
-
-
- Source Files\actors\chuckya\anims
-
-
- Source Files\actors\chuckya\anims
-
-
- Source Files\actors\chuckya
-
-
- Source Files\actors\chuckya
-
-
- Source Files\actors\clam_shell\anims
-
-
- Source Files\actors\clam_shell\anims
-
-
- Source Files\actors\clam_shell\anims
-
-
- Source Files\actors\clam_shell\anims
-
-
- Source Files\actors\clam_shell
-
-
- Source Files\actors\clam_shell
-
-
- Source Files\actors\coin
-
-
- Source Files\actors\coin
-
Source Files\actors
@@ -3978,177 +3474,6 @@
Source Files\actors
-
- Source Files\actors\cyan_fish\anims
-
-
- Source Files\actors\cyan_fish\anims
-
-
- Source Files\actors\cyan_fish\anims
-
-
- Source Files\actors\cyan_fish
-
-
- Source Files\actors\cyan_fish
-
-
- Source Files\actors\dirt
-
-
- Source Files\actors\dirt
-
-
- Source Files\actors\door\anims
-
-
- Source Files\actors\door\anims
-
-
- Source Files\actors\door\anims
-
-
- Source Files\actors\door\anims
-
-
- Source Files\actors\door\anims
-
-
- Source Files\actors\door\anims
-
-
- Source Files\actors\door\anims
-
-
- Source Files\actors\door
-
-
- Source Files\actors\door
-
-
- Source Files\actors\dorrie\anims
-
-
- Source Files\actors\dorrie\anims
-
-
- Source Files\actors\dorrie\anims
-
-
- Source Files\actors\dorrie\anims
-
-
- Source Files\actors\dorrie\anims
-
-
- Source Files\actors\dorrie
-
-
- Source Files\actors\dorrie
-
-
- Source Files\actors\dorrie
-
-
- Source Files\actors\exclamation_box
-
-
- Source Files\actors\exclamation_box
-
-
- Source Files\actors\exclamation_box_outline
-
-
- Source Files\actors\exclamation_box_outline
-
-
- Source Files\actors\exclamation_box_outline
-
-
- Source Files\actors\explosion
-
-
- Source Files\actors\explosion
-
-
- Source Files\actors\eyerok\anims
-
-
- Source Files\actors\eyerok\anims
-
-
- Source Files\actors\eyerok\anims
-
-
- Source Files\actors\eyerok\anims
-
-
- Source Files\actors\eyerok\anims
-
-
- Source Files\actors\eyerok\anims
-
-
- Source Files\actors\eyerok\anims
-
-
- Source Files\actors\eyerok\anims
-
-
- Source Files\actors\eyerok\anims
-
-
- Source Files\actors\eyerok\anims
-
-
- Source Files\actors\eyerok
-
-
- Source Files\actors\eyerok
-
-
- Source Files\actors\flame
-
-
- Source Files\actors\flame
-
-
- Source Files\actors\flyguy\anims
-
-
- Source Files\actors\flyguy\anims
-
-
- Source Files\actors\flyguy\anims
-
-
- Source Files\actors\flyguy
-
-
- Source Files\actors\flyguy
-
-
- Source Files\actors\fwoosh
-
-
- Source Files\actors\fwoosh
-
-
- Source Files\actors\goomba\anims
-
-
- Source Files\actors\goomba\anims
-
-
- Source Files\actors\goomba\anims
-
-
- Source Files\actors\goomba
-
-
- Source Files\actors\goomba
-
Source Files\actors
@@ -4257,1707 +3582,6 @@
Source Files\actors
-
- Source Files\actors\haunted_cage
-
-
- Source Files\actors\haunted_cage
-
-
- Source Files\actors\heart
-
-
- Source Files\actors\heart
-
-
- Source Files\actors\heave_ho\anims
-
-
- Source Files\actors\heave_ho\anims
-
-
- Source Files\actors\heave_ho\anims
-
-
- Source Files\actors\heave_ho\anims
-
-
- Source Files\actors\heave_ho\anims
-
-
- Source Files\actors\heave_ho
-
-
- Source Files\actors\heave_ho
-
-
- Source Files\actors\hoot\anims
-
-
- Source Files\actors\hoot\anims
-
-
- Source Files\actors\hoot\anims
-
-
- Source Files\actors\hoot\anims
-
-
- Source Files\actors\hoot
-
-
- Source Files\actors\hoot
-
-
- Source Files\actors\impact_ring
-
-
- Source Files\actors\impact_ring
-
-
- Source Files\actors\impact_smoke
-
-
- Source Files\actors\impact_smoke
-
-
- Source Files\actors\king_bobomb\anims
-
-
- Source Files\actors\king_bobomb\anims
-
-
- Source Files\actors\king_bobomb\anims
-
-
- Source Files\actors\king_bobomb\anims
-
-
- Source Files\actors\king_bobomb\anims
-
-
- Source Files\actors\king_bobomb\anims
-
-
- Source Files\actors\king_bobomb\anims
-
-
- Source Files\actors\king_bobomb\anims
-
-
- Source Files\actors\king_bobomb\anims
-
-
- Source Files\actors\king_bobomb\anims
-
-
- Source Files\actors\king_bobomb\anims
-
-
- Source Files\actors\king_bobomb\anims
-
-
- Source Files\actors\king_bobomb\anims
-
-
- Source Files\actors\king_bobomb\anims
-
-
- Source Files\actors\king_bobomb
-
-
- Source Files\actors\king_bobomb
-
-
- Source Files\actors\klepto\anims
-
-
- Source Files\actors\klepto\anims
-
-
- Source Files\actors\klepto\anims
-
-
- Source Files\actors\klepto\anims
-
-
- Source Files\actors\klepto\anims
-
-
- Source Files\actors\klepto\anims
-
-
- Source Files\actors\klepto\anims
-
-
- Source Files\actors\klepto\anims
-
-
- Source Files\actors\klepto\anims
-
-
- Source Files\actors\klepto
-
-
- Source Files\actors\klepto
-
-
- Source Files\actors\koopa\anims
-
-
- Source Files\actors\koopa\anims
-
-
- Source Files\actors\koopa\anims
-
-
- Source Files\actors\koopa\anims
-
-
- Source Files\actors\koopa\anims
-
-
- Source Files\actors\koopa\anims
-
-
- Source Files\actors\koopa\anims
-
-
- Source Files\actors\koopa\anims
-
-
- Source Files\actors\koopa\anims
-
-
- Source Files\actors\koopa\anims
-
-
- Source Files\actors\koopa\anims
-
-
- Source Files\actors\koopa\anims
-
-
- Source Files\actors\koopa\anims
-
-
- Source Files\actors\koopa\anims
-
-
- Source Files\actors\koopa\anims
-
-
- Source Files\actors\koopa\anims
-
-
- Source Files\actors\koopa
-
-
- Source Files\actors\koopa
-
-
- Source Files\actors\koopa_flag\anims
-
-
- Source Files\actors\koopa_flag\anims
-
-
- Source Files\actors\koopa_flag\anims
-
-
- Source Files\actors\koopa_flag
-
-
- Source Files\actors\koopa_flag
-
-
- Source Files\actors\koopa_shell
-
-
- Source Files\actors\koopa_shell
-
-
- Source Files\actors\lakitu_cameraman\anims
-
-
- Source Files\actors\lakitu_cameraman\anims
-
-
- Source Files\actors\lakitu_cameraman\anims
-
-
- Source Files\actors\lakitu_cameraman
-
-
- Source Files\actors\lakitu_cameraman
-
-
- Source Files\actors\lakitu_enemy\anims
-
-
- Source Files\actors\lakitu_enemy\anims
-
-
- Source Files\actors\lakitu_enemy\anims
-
-
- Source Files\actors\lakitu_enemy\anims
-
-
- Source Files\actors\lakitu_enemy\anims
-
-
- Source Files\actors\lakitu_enemy\anims
-
-
- Source Files\actors\lakitu_enemy
-
-
- Source Files\actors\lakitu_enemy
-
-
- Source Files\actors\leaves
-
-
- Source Files\actors\leaves
-
-
- Source Files\actors\mad_piano\anims
-
-
- Source Files\actors\mad_piano\anims
-
-
- Source Files\actors\mad_piano\anims
-
-
- Source Files\actors\mad_piano\anims
-
-
- Source Files\actors\mad_piano
-
-
- Source Files\actors\mad_piano
-
-
- Source Files\actors\manta\anims
-
-
- Source Files\actors\manta\anims
-
-
- Source Files\actors\manta\anims
-
-
- Source Files\actors\manta
-
-
- Source Files\actors\manta
-
-
- Source Files\actors\mario
-
-
- Source Files\actors\mario
-
-
- Source Files\actors\mario_cap
-
-
- Source Files\actors\mario_cap
-
-
- Source Files\actors\metal_box
-
-
- Source Files\actors\metal_box
-
-
- Source Files\actors\metal_box
-
-
- Source Files\actors\mips\anims
-
-
- Source Files\actors\mips\anims
-
-
- Source Files\actors\mips\anims
-
-
- Source Files\actors\mips\anims
-
-
- Source Files\actors\mips\anims
-
-
- Source Files\actors\mips\anims
-
-
- Source Files\actors\mips\anims
-
-
- Source Files\actors\mips
-
-
- Source Files\actors\mips
-
-
- Source Files\actors\mist
-
-
- Source Files\actors\mist
-
-
- Source Files\actors\moneybag\anims
-
-
- Source Files\actors\moneybag\anims
-
-
- Source Files\actors\moneybag\anims
-
-
- Source Files\actors\moneybag\anims
-
-
- Source Files\actors\moneybag\anims
-
-
- Source Files\actors\moneybag\anims
-
-
- Source Files\actors\moneybag\anims
-
-
- Source Files\actors\moneybag
-
-
- Source Files\actors\moneybag
-
-
- Source Files\actors\monty_mole\anims
-
-
- Source Files\actors\monty_mole\anims
-
-
- Source Files\actors\monty_mole\anims
-
-
- Source Files\actors\monty_mole\anims
-
-
- Source Files\actors\monty_mole\anims
-
-
- Source Files\actors\monty_mole\anims
-
-
- Source Files\actors\monty_mole\anims
-
-
- Source Files\actors\monty_mole\anims
-
-
- Source Files\actors\monty_mole\anims
-
-
- Source Files\actors\monty_mole\anims
-
-
- Source Files\actors\monty_mole\anims
-
-
- Source Files\actors\monty_mole\anims
-
-
- Source Files\actors\monty_mole
-
-
- Source Files\actors\monty_mole
-
-
- Source Files\actors\monty_mole_hole
-
-
- Source Files\actors\mr_i_eyeball
-
-
- Source Files\actors\mr_i_eyeball
-
-
- Source Files\actors\mr_i_iris
-
-
- Source Files\actors\mr_i_iris
-
-
- Source Files\actors\mushroom_1up
-
-
- Source Files\actors\mushroom_1up
-
-
- Source Files\actors\number
-
-
- Source Files\actors\peach\anims
-
-
- Source Files\actors\peach\anims
-
-
- Source Files\actors\peach\anims
-
-
- Source Files\actors\peach\anims
-
-
- Source Files\actors\peach\anims
-
-
- Source Files\actors\peach\anims
-
-
- Source Files\actors\peach\anims
-
-
- Source Files\actors\peach\anims
-
-
- Source Files\actors\peach\anims
-
-
- Source Files\actors\peach\anims
-
-
- Source Files\actors\peach\anims
-
-
- Source Files\actors\peach\anims
-
-
- Source Files\actors\peach\anims
-
-
- Source Files\actors\peach\anims
-
-
- Source Files\actors\peach
-
-
- Source Files\actors\peach
-
-
- Source Files\actors\pebble
-
-
- Source Files\actors\penguin\anims
-
-
- Source Files\actors\penguin\anims
-
-
- Source Files\actors\penguin\anims
-
-
- Source Files\actors\penguin\anims
-
-
- Source Files\actors\penguin\anims
-
-
- Source Files\actors\penguin\anims
-
-
- Source Files\actors\penguin
-
-
- Source Files\actors\penguin
-
-
- Source Files\actors\penguin
-
-
- Source Files\actors\piranha_plant\anims
-
-
- Source Files\actors\piranha_plant\anims
-
-
- Source Files\actors\piranha_plant\anims
-
-
- Source Files\actors\piranha_plant\anims
-
-
- Source Files\actors\piranha_plant\anims
-
-
- Source Files\actors\piranha_plant\anims
-
-
- Source Files\actors\piranha_plant\anims
-
-
- Source Files\actors\piranha_plant\anims
-
-
- Source Files\actors\piranha_plant\anims
-
-
- Source Files\actors\piranha_plant\anims
-
-
- Source Files\actors\piranha_plant\anims
-
-
- Source Files\actors\piranha_plant\anims
-
-
- Source Files\actors\piranha_plant
-
-
- Source Files\actors\piranha_plant
-
-
- Source Files\actors\pokey
-
-
- Source Files\actors\pokey
-
-
- Source Files\actors\poundable_pole
-
-
- Source Files\actors\poundable_pole
-
-
- Source Files\actors\poundable_pole
-
-
- Source Files\actors\power_meter
-
-
- Source Files\actors\purple_switch
-
-
- Source Files\actors\purple_switch
-
-
- Source Files\actors\purple_switch
-
-
- Source Files\actors\sand
-
-
- Source Files\actors\scuttlebug\anims
-
-
- Source Files\actors\scuttlebug\anims
-
-
- Source Files\actors\scuttlebug\anims
-
-
- Source Files\actors\scuttlebug
-
-
- Source Files\actors\scuttlebug
-
-
- Source Files\actors\seaweed\anims
-
-
- Source Files\actors\seaweed\anims
-
-
- Source Files\actors\seaweed\anims
-
-
- Source Files\actors\seaweed
-
-
- Source Files\actors\seaweed
-
-
- Source Files\actors\skeeter\anims
-
-
- Source Files\actors\skeeter\anims
-
-
- Source Files\actors\skeeter\anims
-
-
- Source Files\actors\skeeter\anims
-
-
- Source Files\actors\skeeter\anims
-
-
- Source Files\actors\skeeter\anims
-
-
- Source Files\actors\skeeter
-
-
- Source Files\actors\skeeter
-
-
- Source Files\actors\small_key
-
-
- Source Files\actors\small_key
-
-
- Source Files\actors\smoke
-
-
- Source Files\actors\snowman\anims
-
-
- Source Files\actors\snowman\anims
-
-
- Source Files\actors\snowman\anims
-
-
- Source Files\actors\snowman\anims
-
-
- Source Files\actors\snowman
-
-
- Source Files\actors\snowman
-
-
- Source Files\actors\snufit
-
-
- Source Files\actors\snufit
-
-
- Source Files\actors\sparkle
-
-
- Source Files\actors\sparkle
-
-
- Source Files\actors\sparkle_animation
-
-
- Source Files\actors\sparkle_animation
-
-
- Source Files\actors\spindrift\anims
-
-
- Source Files\actors\spindrift\anims
-
-
- Source Files\actors\spindrift\anims
-
-
- Source Files\actors\spindrift
-
-
- Source Files\actors\spindrift
-
-
- Source Files\actors\spiny\anims
-
-
- Source Files\actors\spiny\anims
-
-
- Source Files\actors\spiny\anims
-
-
- Source Files\actors\spiny
-
-
- Source Files\actors\spiny
-
-
- Source Files\actors\spiny_egg\anims
-
-
- Source Files\actors\spiny_egg\anims
-
-
- Source Files\actors\spiny_egg\anims
-
-
- Source Files\actors\spiny_egg
-
-
- Source Files\actors\spiny_egg
-
-
- Source Files\actors\springboard
-
-
- Source Files\actors\springboard
-
-
- Source Files\actors\springboard
-
-
- Source Files\actors\star
-
-
- Source Files\actors\star
-
-
- Source Files\actors\stomp_smoke
-
-
- Source Files\actors\stomp_smoke
-
-
- Source Files\actors\sushi\anims
-
-
- Source Files\actors\sushi\anims
-
-
- Source Files\actors\sushi\anims
-
-
- Source Files\actors\sushi
-
-
- Source Files\actors\sushi
-
-
- Source Files\actors\swoop\anims
-
-
- Source Files\actors\swoop\anims
-
-
- Source Files\actors\swoop\anims
-
-
- Source Files\actors\swoop\anims
-
-
- Source Files\actors\swoop
-
-
- Source Files\actors\swoop
-
-
- Source Files\actors\test_platform
-
-
- Source Files\actors\test_platform
-
-
- Source Files\actors\test_platform
-
-
- Source Files\actors\thwomp
-
-
- Source Files\actors\thwomp
-
-
- Source Files\actors\thwomp
-
-
- Source Files\actors\toad\anims
-
-
- Source Files\actors\toad\anims
-
-
- Source Files\actors\toad\anims
-
-
- Source Files\actors\toad\anims
-
-
- Source Files\actors\toad\anims
-
-
- Source Files\actors\toad\anims
-
-
- Source Files\actors\toad\anims
-
-
- Source Files\actors\toad\anims
-
-
- Source Files\actors\toad\anims
-
-
- Source Files\actors\toad\anims
-
-
- Source Files\actors\toad
-
-
- Source Files\actors\toad
-
-
- Source Files\actors\tornado
-
-
- Source Files\actors\tornado
-
-
- Source Files\actors\transparent_star
-
-
- Source Files\actors\transparent_star
-
-
- Source Files\actors\treasure_chest
-
-
- Source Files\actors\treasure_chest
-
-
- Source Files\actors\tree
-
-
- Source Files\actors\tree
-
-
- Source Files\actors\ukiki\anims
-
-
- Source Files\actors\ukiki\anims
-
-
- Source Files\actors\ukiki\anims
-
-
- Source Files\actors\ukiki\anims
-
-
- Source Files\actors\ukiki\anims
-
-
- Source Files\actors\ukiki\anims
-
-
- Source Files\actors\ukiki\anims
-
-
- Source Files\actors\ukiki\anims
-
-
- Source Files\actors\ukiki\anims
-
-
- Source Files\actors\ukiki\anims
-
-
- Source Files\actors\ukiki\anims
-
-
- Source Files\actors\ukiki\anims
-
-
- Source Files\actors\ukiki\anims
-
-
- Source Files\actors\ukiki\anims
-
-
- Source Files\actors\ukiki\anims
-
-
- Source Files\actors\ukiki
-
-
- Source Files\actors\ukiki
-
-
- Source Files\actors\unagi\anims
-
-
- Source Files\actors\unagi\anims
-
-
- Source Files\actors\unagi\anims
-
-
- Source Files\actors\unagi\anims
-
-
- Source Files\actors\unagi\anims
-
-
- Source Files\actors\unagi\anims
-
-
- Source Files\actors\unagi\anims
-
-
- Source Files\actors\unagi\anims
-
-
- Source Files\actors\unagi\anims
-
-
- Source Files\actors\unagi
-
-
- Source Files\actors\unagi
-
-
- Source Files\actors\walk_smoke
-
-
- Source Files\actors\walk_smoke
-
-
- Source Files\actors\warp_collision
-
-
- Source Files\actors\warp_pipe
-
-
- Source Files\actors\warp_pipe
-
-
- Source Files\actors\warp_pipe
-
-
- Source Files\actors\water_bubble
-
-
- Source Files\actors\water_bubble
-
-
- Source Files\actors\water_mine
-
-
- Source Files\actors\water_mine
-
-
- Source Files\actors\water_ring\anims
-
-
- Source Files\actors\water_ring\anims
-
-
- Source Files\actors\water_ring\anims
-
-
- Source Files\actors\water_ring
-
-
- Source Files\actors\water_ring
-
-
- Source Files\actors\water_splash
-
-
- Source Files\actors\water_splash
-
-
- Source Files\actors\water_wave
-
-
- Source Files\actors\water_wave
-
-
- Source Files\actors\whirlpool
-
-
- Source Files\actors\white_particle
-
-
- Source Files\actors\white_particle
-
-
- Source Files\actors\white_particle_small
-
-
- Source Files\actors\whomp\anims
-
-
- Source Files\actors\whomp\anims
-
-
- Source Files\actors\whomp\anims
-
-
- Source Files\actors\whomp\anims
-
-
- Source Files\actors\whomp
-
-
- Source Files\actors\whomp
-
-
- Source Files\actors\whomp
-
-
- Source Files\actors\wiggler_body\anims
-
-
- Source Files\actors\wiggler_body\anims
-
-
- Source Files\actors\wiggler_body\anims
-
-
- Source Files\actors\wiggler_body
-
-
- Source Files\actors\wiggler_body
-
-
- Source Files\actors\wiggler_head\anims
-
-
- Source Files\actors\wiggler_head\anims
-
-
- Source Files\actors\wiggler_head\anims
-
-
- Source Files\actors\wiggler_head
-
-
- Source Files\actors\wiggler_head
-
-
- Source Files\actors\wooden_signpost
-
-
- Source Files\actors\wooden_signpost
-
-
- Source Files\actors\wooden_signpost
-
-
- Source Files\actors\yellow_sphere
-
-
- Source Files\actors\yellow_sphere
-
-
- Source Files\actors\yellow_sphere_small
-
-
- Source Files\actors\yellow_sphere_small
-
-
- Source Files\actors\yoshi\anims
-
-
- Source Files\actors\yoshi\anims
-
-
- Source Files\actors\yoshi\anims
-
-
- Source Files\actors\yoshi\anims
-
-
- Source Files\actors\yoshi\anims
-
-
- Source Files\actors\yoshi
-
-
- Source Files\actors\yoshi
-
-
- Source Files\actors\yoshi_egg
-
-
- Source Files\actors\yoshi_egg
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
-
- Source Files\assets\anims
-
Source Files\bin
@@ -6015,1392 +3639,6 @@
Source Files\bin
-
- Source Files\build\us_pc\actors\amp
-
-
- Source Files\build\us_pc\actors\amp
-
-
- Source Files\build\us_pc\actors\amp
-
-
- Source Files\build\us_pc\actors\amp
-
-
- Source Files\build\us_pc\actors\blue_coin_switch
-
-
- Source Files\build\us_pc\actors\blue_coin_switch
-
-
- Source Files\build\us_pc\actors\blue_fish
-
-
- Source Files\build\us_pc\actors\bobomb
-
-
- Source Files\build\us_pc\actors\bobomb
-
-
- Source Files\build\us_pc\actors\bobomb
-
-
- Source Files\build\us_pc\actors\bobomb
-
-
- Source Files\build\us_pc\actors\bobomb
-
-
- Source Files\build\us_pc\actors\bobomb
-
-
- Source Files\build\us_pc\actors\bomb
-
-
- Source Files\build\us_pc\actors\bomb
-
-
- Source Files\build\us_pc\actors\bomb
-
-
- Source Files\build\us_pc\actors\boo
-
-
- Source Files\build\us_pc\actors\boo
-
-
- Source Files\build\us_pc\actors\boo_castle
-
-
- Source Files\build\us_pc\actors\boo_castle
-
-
- Source Files\build\us_pc\actors\book
-
-
- Source Files\build\us_pc\actors\bookend
-
-
- Source Files\build\us_pc\actors\bookend
-
-
- Source Files\build\us_pc\actors\bookend
-
-
- Source Files\build\us_pc\actors\bookend
-
-
- Source Files\build\us_pc\actors\bookend
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser
-
-
- Source Files\build\us_pc\actors\bowser_flame
-
-
- Source Files\build\us_pc\actors\bowser_flame
-
-
- Source Files\build\us_pc\actors\bowser_flame
-
-
- Source Files\build\us_pc\actors\bowser_flame
-
-
- Source Files\build\us_pc\actors\bowser_flame
-
-
- Source Files\build\us_pc\actors\bowser_flame
-
-
- Source Files\build\us_pc\actors\bowser_flame
-
-
- Source Files\build\us_pc\actors\bowser_flame
-
-
- Source Files\build\us_pc\actors\bowser_flame
-
-
- Source Files\build\us_pc\actors\bowser_flame
-
-
- Source Files\build\us_pc\actors\bowser_flame
-
-
- Source Files\build\us_pc\actors\bowser_flame
-
-
- Source Files\build\us_pc\actors\bowser_flame
-
-
- Source Files\build\us_pc\actors\bowser_flame
-
-
- Source Files\build\us_pc\actors\breakable_box
-
-
- Source Files\build\us_pc\actors\breakable_box
-
-
- Source Files\build\us_pc\actors\bub
-
-
- Source Files\build\us_pc\actors\bub
-
-
- Source Files\build\us_pc\actors\bub
-
-
- Source Files\build\us_pc\actors\bub
-
-
- Source Files\build\us_pc\actors\bubba
-
-
- Source Files\build\us_pc\actors\bubba
-
-
- Source Files\build\us_pc\actors\bubba
-
-
- Source Files\build\us_pc\actors\bubba
-
-
- Source Files\build\us_pc\actors\bubba
-
-
- Source Files\build\us_pc\actors\bubble
-
-
- Source Files\build\us_pc\actors\bubble
-
-
- Source Files\build\us_pc\actors\bullet_bill
-
-
- Source Files\build\us_pc\actors\bullet_bill
-
-
- Source Files\build\us_pc\actors\bully
-
-
- Source Files\build\us_pc\actors\bully
-
-
- Source Files\build\us_pc\actors\bully
-
-
- Source Files\build\us_pc\actors\bully
-
-
- Source Files\build\us_pc\actors\burn_smoke
-
-
- Source Files\build\us_pc\actors\butterfly
-
-
- Source Files\build\us_pc\actors\cannon_barrel
-
-
- Source Files\build\us_pc\actors\cannon_base
-
-
- Source Files\build\us_pc\actors\cannon_lid
-
-
- Source Files\build\us_pc\actors\capswitch
-
-
- Source Files\build\us_pc\actors\capswitch
-
-
- Source Files\build\us_pc\actors\chain_ball
-
-
- Source Files\build\us_pc\actors\chain_chomp
-
-
- Source Files\build\us_pc\actors\chain_chomp
-
-
- Source Files\build\us_pc\actors\chain_chomp
-
-
- Source Files\build\us_pc\actors\chain_chomp
-
-
- Source Files\build\us_pc\actors\chain_chomp
-
-
- Source Files\build\us_pc\actors\chair
-
-
- Source Files\build\us_pc\actors\chair
-
-
- Source Files\build\us_pc\actors\chair
-
-
- Source Files\build\us_pc\actors\chair
-
-
- Source Files\build\us_pc\actors\checkerboard_platform
-
-
- Source Files\build\us_pc\actors\checkerboard_platform
-
-
- Source Files\build\us_pc\actors\chillychief
-
-
- Source Files\build\us_pc\actors\chillychief
-
-
- Source Files\build\us_pc\actors\chillychief
-
-
- Source Files\build\us_pc\actors\chuckya
-
-
- Source Files\build\us_pc\actors\chuckya
-
-
- Source Files\build\us_pc\actors\chuckya
-
-
- Source Files\build\us_pc\actors\chuckya
-
-
- Source Files\build\us_pc\actors\clam_shell
-
-
- Source Files\build\us_pc\actors\clam_shell
-
-
- Source Files\build\us_pc\actors\coin
-
-
- Source Files\build\us_pc\actors\coin
-
-
- Source Files\build\us_pc\actors\coin
-
-
- Source Files\build\us_pc\actors\coin
-
-
- Source Files\build\us_pc\actors\cyan_fish
-
-
- Source Files\build\us_pc\actors\dirt
-
-
- Source Files\build\us_pc\actors\door
-
-
- Source Files\build\us_pc\actors\door
-
-
- Source Files\build\us_pc\actors\door
-
-
- Source Files\build\us_pc\actors\door
-
-
- Source Files\build\us_pc\actors\door
-
-
- Source Files\build\us_pc\actors\door
-
-
- Source Files\build\us_pc\actors\door
-
-
- Source Files\build\us_pc\actors\door
-
-
- Source Files\build\us_pc\actors\door
-
-
- Source Files\build\us_pc\actors\door
-
-
- Source Files\build\us_pc\actors\door
-
-
- Source Files\build\us_pc\actors\door
-
-
- Source Files\build\us_pc\actors\door
-
-
- Source Files\build\us_pc\actors\door
-
-
- Source Files\build\us_pc\actors\dorrie
-
-
- Source Files\build\us_pc\actors\dorrie
-
-
- Source Files\build\us_pc\actors\dorrie
-
-
- Source Files\build\us_pc\actors\exclamation_box
-
-
- Source Files\build\us_pc\actors\exclamation_box
-
-
- Source Files\build\us_pc\actors\exclamation_box
-
-
- Source Files\build\us_pc\actors\exclamation_box
-
-
- Source Files\build\us_pc\actors\exclamation_box
-
-
- Source Files\build\us_pc\actors\exclamation_box
-
-
- Source Files\build\us_pc\actors\exclamation_box
-
-
- Source Files\build\us_pc\actors\exclamation_box
-
-
- Source Files\build\us_pc\actors\exclamation_box_outline
-
-
- Source Files\build\us_pc\actors\exclamation_box_outline
-
-
- Source Files\build\us_pc\actors\explosion
-
-
- Source Files\build\us_pc\actors\explosion
-
-
- Source Files\build\us_pc\actors\explosion
-
-
- Source Files\build\us_pc\actors\explosion
-
-
- Source Files\build\us_pc\actors\explosion
-
-
- Source Files\build\us_pc\actors\explosion
-
-
- Source Files\build\us_pc\actors\explosion
-
-
- Source Files\build\us_pc\actors\eyerok
-
-
- Source Files\build\us_pc\actors\eyerok
-
-
- Source Files\build\us_pc\actors\eyerok
-
-
- Source Files\build\us_pc\actors\eyerok
-
-
- Source Files\build\us_pc\actors\eyerok
-
-
- Source Files\build\us_pc\actors\flame
-
-
- Source Files\build\us_pc\actors\flame
-
-
- Source Files\build\us_pc\actors\flame
-
-
- Source Files\build\us_pc\actors\flame
-
-
- Source Files\build\us_pc\actors\flame
-
-
- Source Files\build\us_pc\actors\flame
-
-
- Source Files\build\us_pc\actors\flame
-
-
- Source Files\build\us_pc\actors\flame
-
-
- Source Files\build\us_pc\actors\flyguy
-
-
- Source Files\build\us_pc\actors\flyguy
-
-
- Source Files\build\us_pc\actors\flyguy
-
-
- Source Files\build\us_pc\actors\fwoosh
-
-
- Source Files\build\us_pc\actors\goomba
-
-
- Source Files\build\us_pc\actors\goomba
-
-
- Source Files\build\us_pc\actors\goomba
-
-
- Source Files\build\us_pc\actors\haunted_cage
-
-
- Source Files\build\us_pc\actors\haunted_cage
-
-
- Source Files\build\us_pc\actors\haunted_cage
-
-
- Source Files\build\us_pc\actors\haunted_cage
-
-
- Source Files\build\us_pc\actors\haunted_cage
-
-
- Source Files\build\us_pc\actors\haunted_cage
-
-
- Source Files\build\us_pc\actors\heart
-
-
- Source Files\build\us_pc\actors\heave_ho
-
-
- Source Files\build\us_pc\actors\heave_ho
-
-
- Source Files\build\us_pc\actors\heave_ho
-
-
- Source Files\build\us_pc\actors\heave_ho
-
-
- Source Files\build\us_pc\actors\heave_ho
-
-
- Source Files\build\us_pc\actors\heave_ho
-
-
- Source Files\build\us_pc\actors\hoot
-
-
- Source Files\build\us_pc\actors\hoot
-
-
- Source Files\build\us_pc\actors\hoot
-
-
- Source Files\build\us_pc\actors\impact_ring
-
-
- Source Files\build\us_pc\actors\impact_ring
-
-
- Source Files\build\us_pc\actors\impact_smoke
-
-
- Source Files\build\us_pc\actors\impact_smoke
-
-
- Source Files\build\us_pc\actors\impact_smoke
-
-
- Source Files\build\us_pc\actors\impact_smoke
-
-
- Source Files\build\us_pc\actors\king_bobomb
-
-
- Source Files\build\us_pc\actors\king_bobomb
-
-
- Source Files\build\us_pc\actors\king_bobomb
-
-
- Source Files\build\us_pc\actors\king_bobomb
-
-
- Source Files\build\us_pc\actors\king_bobomb
-
-
- Source Files\build\us_pc\actors\king_bobomb
-
-
- Source Files\build\us_pc\actors\king_bobomb
-
-
- Source Files\build\us_pc\actors\king_bobomb
-
-
- Source Files\build\us_pc\actors\king_bobomb
-
-
- Source Files\build\us_pc\actors\king_bobomb
-
-
- Source Files\build\us_pc\actors\klepto
-
-
- Source Files\build\us_pc\actors\klepto
-
-
- Source Files\build\us_pc\actors\klepto
-
-
- Source Files\build\us_pc\actors\klepto
-
-
- Source Files\build\us_pc\actors\klepto
-
-
- Source Files\build\us_pc\actors\koopa
-
-
- Source Files\build\us_pc\actors\koopa
-
-
- Source Files\build\us_pc\actors\koopa
-
-
- Source Files\build\us_pc\actors\koopa
-
-
- Source Files\build\us_pc\actors\koopa
-
-
- Source Files\build\us_pc\actors\koopa
-
-
- Source Files\build\us_pc\actors\koopa
-
-
- Source Files\build\us_pc\actors\koopa
-
-
- Source Files\build\us_pc\actors\koopa_flag
-
-
- Source Files\build\us_pc\actors\koopa_shell
-
-
- Source Files\build\us_pc\actors\koopa_shell
-
-
- Source Files\build\us_pc\actors\lakitu_cameraman
-
-
- Source Files\build\us_pc\actors\lakitu_cameraman
-
-
- Source Files\build\us_pc\actors\lakitu_cameraman
-
-
- Source Files\build\us_pc\actors\lakitu_cameraman
-
-
- Source Files\build\us_pc\actors\lakitu_cameraman
-
-
- Source Files\build\us_pc\actors\lakitu_cameraman
-
-
- Source Files\build\us_pc\actors\lakitu_enemy
-
-
- Source Files\build\us_pc\actors\lakitu_enemy
-
-
- Source Files\build\us_pc\actors\lakitu_enemy
-
-
- Source Files\build\us_pc\actors\lakitu_enemy
-
-
- Source Files\build\us_pc\actors\lakitu_enemy
-
-
- Source Files\build\us_pc\actors\leaves
-
-
- Source Files\build\us_pc\actors\mad_piano
-
-
- Source Files\build\us_pc\actors\mad_piano
-
-
- Source Files\build\us_pc\actors\mad_piano
-
-
- Source Files\build\us_pc\actors\mad_piano
-
-
- Source Files\build\us_pc\actors\mad_piano
-
-
- Source Files\build\us_pc\actors\mad_piano
-
-
- Source Files\build\us_pc\actors\manta
-
-
- Source Files\build\us_pc\actors\manta
-
-
- Source Files\build\us_pc\actors\manta
-
-
- Source Files\build\us_pc\actors\manta
-
-
- Source Files\build\us_pc\actors\mario
-
-
- Source Files\build\us_pc\actors\mario
-
-
- Source Files\build\us_pc\actors\mario
-
-
- Source Files\build\us_pc\actors\mario
-
-
- Source Files\build\us_pc\actors\mario
-
-
- Source Files\build\us_pc\actors\mario
-
-
- Source Files\build\us_pc\actors\mario
-
-
- Source Files\build\us_pc\actors\mario
-
-
- Source Files\build\us_pc\actors\mario
-
-
- Source Files\build\us_pc\actors\mario
-
-
- Source Files\build\us_pc\actors\mario
-
-
- Source Files\build\us_pc\actors\mario
-
-
- Source Files\build\us_pc\actors\mario
-
-
- Source Files\build\us_pc\actors\mario
-
-
- Source Files\build\us_pc\actors\mario
-
-
- Source Files\build\us_pc\actors\mario
-
-
- Source Files\build\us_pc\actors\mario
-
-
- Source Files\build\us_pc\actors\mario
-
-
- Source Files\build\us_pc\actors\mario
-
-
- Source Files\build\us_pc\actors\mario_cap
-
-
- Source Files\build\us_pc\actors\mario_cap
-
-
- Source Files\build\us_pc\actors\mario_cap
-
-
- Source Files\build\us_pc\actors\mario_cap
-
-
- Source Files\build\us_pc\actors\mario_cap
-
-
- Source Files\build\us_pc\actors\mario_cap
-
-
- Source Files\build\us_pc\actors\metal_box
-
-
- Source Files\build\us_pc\actors\mips
-
-
- Source Files\build\us_pc\actors\mist
-
-
- Source Files\build\us_pc\actors\moneybag
-
-
- Source Files\build\us_pc\actors\moneybag
-
-
- Source Files\build\us_pc\actors\monty_mole
-
-
- Source Files\build\us_pc\actors\monty_mole
-
-
- Source Files\build\us_pc\actors\monty_mole
-
-
- Source Files\build\us_pc\actors\monty_mole
-
-
- Source Files\build\us_pc\actors\monty_mole
-
-
- Source Files\build\us_pc\actors\monty_mole_hole
-
-
- Source Files\build\us_pc\actors\mr_i_eyeball
-
-
- Source Files\build\us_pc\actors\mr_i_eyeball
-
-
- Source Files\build\us_pc\actors\mr_i_iris
-
-
- Source Files\build\us_pc\actors\mr_i_iris
-
-
- Source Files\build\us_pc\actors\mr_i_iris
-
-
- Source Files\build\us_pc\actors\mr_i_iris
-
-
- Source Files\build\us_pc\actors\mushroom_1up
-
-
- Source Files\build\us_pc\actors\peach
-
-
- Source Files\build\us_pc\actors\peach
-
-
- Source Files\build\us_pc\actors\peach
-
-
- Source Files\build\us_pc\actors\peach
-
-
- Source Files\build\us_pc\actors\peach
-
-
- Source Files\build\us_pc\actors\peach
-
-
- Source Files\build\us_pc\actors\peach
-
-
- Source Files\build\us_pc\actors\peach
-
-
- Source Files\build\us_pc\actors\peach
-
-
- Source Files\build\us_pc\actors\peach
-
-
- Source Files\build\us_pc\actors\pebble
-
-
- Source Files\build\us_pc\actors\penguin
-
-
- Source Files\build\us_pc\actors\penguin
-
-
- Source Files\build\us_pc\actors\penguin
-
-
- Source Files\build\us_pc\actors\penguin
-
-
- Source Files\build\us_pc\actors\penguin
-
-
- Source Files\build\us_pc\actors\penguin
-
-
- Source Files\build\us_pc\actors\piranha_plant
-
-
- Source Files\build\us_pc\actors\piranha_plant
-
-
- Source Files\build\us_pc\actors\piranha_plant
-
-
- Source Files\build\us_pc\actors\piranha_plant
-
-
- Source Files\build\us_pc\actors\piranha_plant
-
-
- Source Files\build\us_pc\actors\piranha_plant
-
-
- Source Files\build\us_pc\actors\pokey
-
-
- Source Files\build\us_pc\actors\pokey
-
-
- Source Files\build\us_pc\actors\pokey
-
-
- Source Files\build\us_pc\actors\poundable_pole
-
-
- Source Files\build\us_pc\actors\poundable_pole
-
-
- Source Files\build\us_pc\actors\power_meter
-
-
- Source Files\build\us_pc\actors\power_meter
-
-
- Source Files\build\us_pc\actors\power_meter
-
-
- Source Files\build\us_pc\actors\power_meter
-
-
- Source Files\build\us_pc\actors\power_meter
-
-
- Source Files\build\us_pc\actors\power_meter
-
-
- Source Files\build\us_pc\actors\power_meter
-
-
- Source Files\build\us_pc\actors\power_meter
-
-
- Source Files\build\us_pc\actors\power_meter
-
-
- Source Files\build\us_pc\actors\power_meter
-
-
- Source Files\build\us_pc\actors\purple_switch
-
-
- Source Files\build\us_pc\actors\purple_switch
-
-
- Source Files\build\us_pc\actors\sand
-
-
- Source Files\build\us_pc\actors\scuttlebug
-
-
- Source Files\build\us_pc\actors\scuttlebug
-
-
- Source Files\build\us_pc\actors\scuttlebug
-
-
- Source Files\build\us_pc\actors\scuttlebug
-
-
- Source Files\build\us_pc\actors\scuttlebug
-
-
- Source Files\build\us_pc\actors\seaweed
-
-
- Source Files\build\us_pc\actors\seaweed
-
-
- Source Files\build\us_pc\actors\seaweed
-
-
- Source Files\build\us_pc\actors\seaweed
-
-
- Source Files\build\us_pc\actors\skeeter
-
-
- Source Files\build\us_pc\actors\skeeter
-
-
- Source Files\build\us_pc\actors\smoke
-
-
- Source Files\build\us_pc\actors\snowman
-
-
- Source Files\build\us_pc\actors\snowman
-
-
- Source Files\build\us_pc\actors\snowman
-
-
- Source Files\build\us_pc\actors\snowman
-
-
- Source Files\build\us_pc\actors\snowman
-
-
- Source Files\build\us_pc\actors\snufit
-
-
- Source Files\build\us_pc\actors\snufit
-
-
- Source Files\build\us_pc\actors\snufit
-
-
- Source Files\build\us_pc\actors\snufit
-
-
- Source Files\build\us_pc\actors\sparkle
-
-
- Source Files\build\us_pc\actors\sparkle
-
-
- Source Files\build\us_pc\actors\sparkle
-
-
- Source Files\build\us_pc\actors\sparkle
-
-
- Source Files\build\us_pc\actors\sparkle
-
-
- Source Files\build\us_pc\actors\sparkle
-
-
- Source Files\build\us_pc\actors\sparkle_animation
-
-
- Source Files\build\us_pc\actors\sparkle_animation
-
-
- Source Files\build\us_pc\actors\sparkle_animation
-
-
- Source Files\build\us_pc\actors\sparkle_animation
-
-
- Source Files\build\us_pc\actors\sparkle_animation
-
-
- Source Files\build\us_pc\actors\spindrift
-
-
- Source Files\build\us_pc\actors\spindrift
-
-
- Source Files\build\us_pc\actors\spindrift
-
-
- Source Files\build\us_pc\actors\spindrift
-
-
- Source Files\build\us_pc\actors\springboard
-
-
- Source Files\build\us_pc\actors\springboard
-
-
- Source Files\build\us_pc\actors\star
-
-
- Source Files\build\us_pc\actors\star
-
-
- Source Files\build\us_pc\actors\stomp_smoke
-
-
- Source Files\build\us_pc\actors\stomp_smoke
-
-
- Source Files\build\us_pc\actors\stomp_smoke
-
-
- Source Files\build\us_pc\actors\stomp_smoke
-
-
- Source Files\build\us_pc\actors\stomp_smoke
-
-
- Source Files\build\us_pc\actors\stomp_smoke
-
-
- Source Files\build\us_pc\actors\sushi
-
-
- Source Files\build\us_pc\actors\sushi
-
-
- Source Files\build\us_pc\actors\sushi
-
-
- Source Files\build\us_pc\actors\swoop
-
-
- Source Files\build\us_pc\actors\swoop
-
-
- Source Files\build\us_pc\actors\swoop
-
-
- Source Files\build\us_pc\actors\swoop
-
-
- Source Files\build\us_pc\actors\thwomp
-
-
- Source Files\build\us_pc\actors\thwomp
-
-
- Source Files\build\us_pc\actors\toad
-
-
- Source Files\build\us_pc\actors\toad
-
-
- Source Files\build\us_pc\actors\tornado
-
-
- Source Files\build\us_pc\actors\treasure_chest
-
-
- Source Files\build\us_pc\actors\treasure_chest
-
-
- Source Files\build\us_pc\actors\treasure_chest
-
-
- Source Files\build\us_pc\actors\treasure_chest
-
-
- Source Files\build\us_pc\actors\tree
-
-
- Source Files\build\us_pc\actors\tree
-
-
- Source Files\build\us_pc\actors\tree
-
-
- Source Files\build\us_pc\actors\tree
-
-
- Source Files\build\us_pc\actors\tree
-
-
- Source Files\build\us_pc\actors\ukiki
-
-
- Source Files\build\us_pc\actors\ukiki
-
-
- Source Files\build\us_pc\actors\ukiki
-
-
- Source Files\build\us_pc\actors\ukiki
-
-
- Source Files\build\us_pc\actors\unagi
-
-
- Source Files\build\us_pc\actors\unagi
-
-
- Source Files\build\us_pc\actors\unagi
-
-
- Source Files\build\us_pc\actors\unagi
-
-
- Source Files\build\us_pc\actors\unagi
-
-
- Source Files\build\us_pc\actors\unagi
-
-
- Source Files\build\us_pc\actors\walk_smoke
-
-
- Source Files\build\us_pc\actors\walk_smoke
-
-
- Source Files\build\us_pc\actors\walk_smoke
-
-
- Source Files\build\us_pc\actors\walk_smoke
-
-
- Source Files\build\us_pc\actors\walk_smoke
-
-
- Source Files\build\us_pc\actors\walk_smoke
-
-
- Source Files\build\us_pc\actors\walk_smoke
-
-
- Source Files\build\us_pc\actors\warp_pipe
-
-
- Source Files\build\us_pc\actors\warp_pipe
-
-
- Source Files\build\us_pc\actors\water_bubble
-
-
- Source Files\build\us_pc\actors\water_mine
-
-
- Source Files\build\us_pc\actors\water_mine
-
-
- Source Files\build\us_pc\actors\water_mine
-
-
- Source Files\build\us_pc\actors\water_ring
-
-
- Source Files\build\us_pc\actors\water_splash
-
-
- Source Files\build\us_pc\actors\water_splash
-
-
- Source Files\build\us_pc\actors\water_splash
-
-
- Source Files\build\us_pc\actors\water_splash
-
-
- Source Files\build\us_pc\actors\water_splash
-
-
- Source Files\build\us_pc\actors\water_splash
-
-
- Source Files\build\us_pc\actors\water_splash
-
-
- Source Files\build\us_pc\actors\water_splash
-
-
- Source Files\build\us_pc\actors\water_wave
-
-
- Source Files\build\us_pc\actors\water_wave
-
-
- Source Files\build\us_pc\actors\water_wave
-
-
- Source Files\build\us_pc\actors\water_wave
-
-
- Source Files\build\us_pc\actors\whirlpool
-
-
- Source Files\build\us_pc\actors\white_particle
-
-
- Source Files\build\us_pc\actors\white_particle_small
-
-
- Source Files\build\us_pc\actors\whomp
-
-
- Source Files\build\us_pc\actors\whomp
-
-
- Source Files\build\us_pc\actors\whomp
-
-
- Source Files\build\us_pc\actors\whomp
-
-
- Source Files\build\us_pc\actors\wiggler
-
-
- Source Files\build\us_pc\actors\wiggler
-
-
- Source Files\build\us_pc\actors\wiggler
-
-
- Source Files\build\us_pc\actors\wiggler
-
-
- Source Files\build\us_pc\actors\wiggler
-
-
- Source Files\build\us_pc\actors\wiggler
-
-
- Source Files\build\us_pc\actors\wiggler
-
-
- Source Files\build\us_pc\actors\wooden_signpost
-
-
- Source Files\build\us_pc\actors\wooden_signpost
-
-
- Source Files\build\us_pc\actors\yellow_sphere
-
-
- Source Files\build\us_pc\actors\yellow_sphere_small
-
-
- Source Files\build\us_pc\actors\yoshi
-
-
- Source Files\build\us_pc\actors\yoshi
-
-
- Source Files\build\us_pc\actors\yoshi
-
-
- Source Files\build\us_pc\actors\yoshi_egg
-
-
- Source Files\build\us_pc\actors\yoshi_egg
-
-
- Source Files\build\us_pc\actors\yoshi_egg
-
-
- Source Files\build\us_pc\actors\yoshi_egg
-
-
- Source Files\build\us_pc\actors\yoshi_egg
-
-
- Source Files\build\us_pc\actors\yoshi_egg
-
-
- Source Files\build\us_pc\actors\yoshi_egg
-
-
- Source Files\build\us_pc\actors\yoshi_egg
-
Source Files\build\us_pc\assets
@@ -7437,2685 +3675,30 @@
Source Files\build\us_pc\bin
-
- Source Files\build\us_pc\levels\bbh
-
-
- Source Files\build\us_pc\levels\bbh
-
-
- Source Files\build\us_pc\levels\bbh
-
-
- Source Files\build\us_pc\levels\bbh
-
-
- Source Files\build\us_pc\levels\bbh
-
-
- Source Files\build\us_pc\levels\bbh
-
-
- Source Files\build\us_pc\levels\bbh
-
-
- Source Files\build\us_pc\levels\bitdw
-
-
- Source Files\build\us_pc\levels\bitdw
-
-
- Source Files\build\us_pc\levels\bitdw
-
-
- Source Files\build\us_pc\levels\bitdw
-
-
- Source Files\build\us_pc\levels\bitfs
-
-
- Source Files\build\us_pc\levels\bitfs
-
-
- Source Files\build\us_pc\levels\bitfs
-
-
- Source Files\build\us_pc\levels\bits
-
-
- Source Files\build\us_pc\levels\bits
-
-
- Source Files\build\us_pc\levels\bits
-
-
- Source Files\build\us_pc\levels\bob
-
-
- Source Files\build\us_pc\levels\bob
-
-
- Source Files\build\us_pc\levels\bob
-
-
- Source Files\build\us_pc\levels\bob
-
-
- Source Files\build\us_pc\levels\bob
-
-
- Source Files\build\us_pc\levels\bowser_1
-
-
- Source Files\build\us_pc\levels\bowser_1
-
-
- Source Files\build\us_pc\levels\bowser_1
-
-
- Source Files\build\us_pc\levels\bowser_2
-
-
- Source Files\build\us_pc\levels\bowser_3
-
-
- Source Files\build\us_pc\levels\bowser_3
-
-
- Source Files\build\us_pc\levels\bowser_3
-
-
- Source Files\build\us_pc\levels\castle_grounds
-
-
- Source Files\build\us_pc\levels\castle_grounds
-
-
- Source Files\build\us_pc\levels\castle_grounds
-
-
- Source Files\build\us_pc\levels\castle_grounds
-
-
- Source Files\build\us_pc\levels\castle_grounds
-
-
- Source Files\build\us_pc\levels\castle_grounds
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\castle_inside
-
-
- Source Files\build\us_pc\levels\ccm
-
-
- Source Files\build\us_pc\levels\ccm
-
-
- Source Files\build\us_pc\levels\ccm
-
-
- Source Files\build\us_pc\levels\ccm
-
-
- Source Files\build\us_pc\levels\ccm
-
-
- Source Files\build\us_pc\levels\ccm
-
-
- Source Files\build\us_pc\levels\ccm
-
-
- Source Files\build\us_pc\levels\ccm
-
-
- Source Files\build\us_pc\levels\ccm
-
-
- Source Files\build\us_pc\levels\ccm
-
-
- Source Files\build\us_pc\levels\ccm
-
-
- Source Files\build\us_pc\levels\ccm
-
-
- Source Files\build\us_pc\levels\ccm
-
-
- Source Files\build\us_pc\levels\cotmc
-
-
- Source Files\build\us_pc\levels\cotmc
-
-
- Source Files\build\us_pc\levels\cotmc
-
-
- Source Files\build\us_pc\levels\cotmc
-
-
- Source Files\build\us_pc\levels\cotmc
-
-
- Source Files\build\us_pc\levels\ddd
-
-
- Source Files\build\us_pc\levels\ddd
-
-
- Source Files\build\us_pc\levels\ddd
-
-
- Source Files\build\us_pc\levels\ddd
-
-
- Source Files\build\us_pc\levels\ddd
-
-
- Source Files\build\us_pc\levels\ending
-
-
- Source Files\build\us_pc\levels\hmc
-
-
- Source Files\build\us_pc\levels\hmc
-
-
- Source Files\build\us_pc\levels\hmc
-
-
- Source Files\build\us_pc\levels\hmc
-
-
- Source Files\build\us_pc\levels\hmc
-
-
- Source Files\build\us_pc\levels\hmc
-
-
- Source Files\build\us_pc\levels\hmc
-
-
- Source Files\build\us_pc\levels\hmc
-
-
- Source Files\build\us_pc\levels\intro
-
-
- Source Files\build\us_pc\levels\intro
-
-
- Source Files\build\us_pc\levels\intro
-
-
- Source Files\build\us_pc\levels\intro
-
-
- Source Files\build\us_pc\levels\jrb
-
-
- Source Files\build\us_pc\levels\jrb
-
-
- Source Files\build\us_pc\levels\jrb
-
-
- Source Files\build\us_pc\levels\jrb
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\lll
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\menu
-
-
- Source Files\build\us_pc\levels\pss
-
-
- Source Files\build\us_pc\levels\pss
-
-
- Source Files\build\us_pc\levels\pss
-
-
- Source Files\build\us_pc\levels\rr
-
-
- Source Files\build\us_pc\levels\rr
-
-
- Source Files\build\us_pc\levels\rr
-
-
- Source Files\build\us_pc\levels\sl
-
-
- Source Files\build\us_pc\levels\sl
-
-
- Source Files\build\us_pc\levels\sl
-
-
- Source Files\build\us_pc\levels\sl
-
-
- Source Files\build\us_pc\levels\sl
-
-
- Source Files\build\us_pc\levels\ssl
-
-
- Source Files\build\us_pc\levels\ssl
-
-
- Source Files\build\us_pc\levels\ssl
-
-
- Source Files\build\us_pc\levels\ssl
-
-
- Source Files\build\us_pc\levels\ssl
-
-
- Source Files\build\us_pc\levels\ssl
-
-
- Source Files\build\us_pc\levels\ssl
-
-
- Source Files\build\us_pc\levels\ssl
-
-
- Source Files\build\us_pc\levels\ssl
-
-
- Source Files\build\us_pc\levels\ssl
-
-
- Source Files\build\us_pc\levels\ssl
-
-
- Source Files\build\us_pc\levels\ssl
-
-
- Source Files\build\us_pc\levels\thi
-
-
- Source Files\build\us_pc\levels\thi
-
-
- Source Files\build\us_pc\levels\totwc
-
-
- Source Files\build\us_pc\levels\totwc
-
-
- Source Files\build\us_pc\levels\totwc
-
-
- Source Files\build\us_pc\levels\totwc
-
-
- Source Files\build\us_pc\levels\ttc
-
-
- Source Files\build\us_pc\levels\ttc
-
-
- Source Files\build\us_pc\levels\ttc
-
-
- Source Files\build\us_pc\levels\ttm
-
-
- Source Files\build\us_pc\levels\ttm
-
-
- Source Files\build\us_pc\levels\ttm
-
-
- Source Files\build\us_pc\levels\ttm
-
-
- Source Files\build\us_pc\levels\ttm
-
-
- Source Files\build\us_pc\levels\ttm
-
-
- Source Files\build\us_pc\levels\ttm
-
-
- Source Files\build\us_pc\levels\ttm
-
-
- Source Files\build\us_pc\levels\ttm
-
-
- Source Files\build\us_pc\levels\vcutm
-
-
- Source Files\build\us_pc\levels\vcutm
-
-
- Source Files\build\us_pc\levels\vcutm
-
-
- Source Files\build\us_pc\levels\vcutm
-
-
- Source Files\build\us_pc\levels\wdw
-
-
- Source Files\build\us_pc\levels\wdw
-
-
- Source Files\build\us_pc\levels\wdw
-
-
- Source Files\build\us_pc\levels\wdw
-
-
- Source Files\build\us_pc\levels\wdw
-
-
- Source Files\build\us_pc\levels\wf
-
-
- Source Files\build\us_pc\levels\wf
-
-
- Source Files\build\us_pc\levels\wf
-
-
- Source Files\build\us_pc\levels\wf
-
-
- Source Files\build\us_pc\levels\wf
-
-
- Source Files\build\us_pc\levels\wf
-
-
- Source Files\build\us_pc\levels\wmotr
-
-
- Source Files\build\us_pc\levels\wmotr
-
-
- Source Files\build\us_pc\levels\wmotr
-
-
- Source Files\build\us_pc\levels\wmotr
-
-
- Source Files\build\us_pc\levels\wmotr
-
Source Files\build\us_pc\sound
-
- Source Files\build\us_pc\sound
-
Source Files\build\us_pc\sound
-
- Source Files\build\us_pc\sound
-
Source Files\build\us_pc\sound
-
- Source Files\build\us_pc\sound
-
Source Files\build\us_pc\sound
-
- Source Files\build\us_pc\sound
-
-
- Source Files\build\us_pc\text\us
-
-
- Source Files\build\us_pc\textures\cave
-
-
- Source Files\build\us_pc\textures\cave
-
-
- Source Files\build\us_pc\textures\cave
-
-
- Source Files\build\us_pc\textures\cave
-
-
- Source Files\build\us_pc\textures\cave
-
-
- Source Files\build\us_pc\textures\cave
-
-
- Source Files\build\us_pc\textures\cave
-
-
- Source Files\build\us_pc\textures\cave
-
-
- Source Files\build\us_pc\textures\cave
-
-
- Source Files\build\us_pc\textures\cave
-
-
- Source Files\build\us_pc\textures\cave
-
-
- Source Files\build\us_pc\textures\cave
-
-
- Source Files\build\us_pc\textures\cave
-
-
- Source Files\build\us_pc\textures\cave
-
-
- Source Files\build\us_pc\textures\cave
-
-
- Source Files\build\us_pc\textures\cave
-
-
- Source Files\build\us_pc\textures\cave
-
-
- Source Files\build\us_pc\textures\effect
-
-
- Source Files\build\us_pc\textures\effect
-
-
- Source Files\build\us_pc\textures\effect
-
-
- Source Files\build\us_pc\textures\effect
-
-
- Source Files\build\us_pc\textures\effect
-
-
- Source Files\build\us_pc\textures\effect
-
-
- Source Files\build\us_pc\textures\effect
-
-
- Source Files\build\us_pc\textures\effect
-
-
- Source Files\build\us_pc\textures\effect
-
-
- Source Files\build\us_pc\textures\effect
-
-
- Source Files\build\us_pc\textures\effect
-
-
- Source Files\build\us_pc\textures\effect
-
-
- Source Files\build\us_pc\textures\effect
-
-
- Source Files\build\us_pc\textures\effect
-
-
- Source Files\build\us_pc\textures\effect
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\fire
-
-
- Source Files\build\us_pc\textures\generic
-
-
- Source Files\build\us_pc\textures\generic
-
-
- Source Files\build\us_pc\textures\generic
-
-
- Source Files\build\us_pc\textures\generic
-
-
- Source Files\build\us_pc\textures\generic
-
-
- Source Files\build\us_pc\textures\generic
-
-
- Source Files\build\us_pc\textures\generic
-
-
- Source Files\build\us_pc\textures\generic
-
-
- Source Files\build\us_pc\textures\generic
-
-
- Source Files\build\us_pc\textures\generic
-
-
- Source Files\build\us_pc\textures\generic
-
-
- Source Files\build\us_pc\textures\generic
-
-
- Source Files\build\us_pc\textures\generic
-
-
- Source Files\build\us_pc\textures\generic
-
-
- Source Files\build\us_pc\textures\generic
-
-
- Source Files\build\us_pc\textures\generic
-
-
- Source Files\build\us_pc\textures\generic
-
-
- Source Files\build\us_pc\textures\generic
-
-
- Source Files\build\us_pc\textures\generic
-
-
- Source Files\build\us_pc\textures\generic
-
-
- Source Files\build\us_pc\textures\generic
-
-
- Source Files\build\us_pc\textures\generic
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\grass
-
-
- Source Files\build\us_pc\textures\inside
-
-
- Source Files\build\us_pc\textures\inside
-
-
- Source Files\build\us_pc\textures\inside
-
-
- Source Files\build\us_pc\textures\inside
-
-
- Source Files\build\us_pc\textures\inside
-
-
- Source Files\build\us_pc\textures\inside
-
-
- Source Files\build\us_pc\textures\inside
-
-
- Source Files\build\us_pc\textures\inside
-
-
- Source Files\build\us_pc\textures\inside
-
-
- Source Files\build\us_pc\textures\inside
-
-
- Source Files\build\us_pc\textures\inside
-
-
- Source Files\build\us_pc\textures\inside
-
-
- Source Files\build\us_pc\textures\inside
-
-
- Source Files\build\us_pc\textures\inside
-
-
- Source Files\build\us_pc\textures\inside
-
-
- Source Files\build\us_pc\textures\inside
-
-
- Source Files\build\us_pc\textures\inside
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\intro_raw
-
-
- Source Files\build\us_pc\textures\machine
-
-
- Source Files\build\us_pc\textures\machine
-
-
- Source Files\build\us_pc\textures\machine
-
-
- Source Files\build\us_pc\textures\machine
-
-
- Source Files\build\us_pc\textures\machine
-
-
- Source Files\build\us_pc\textures\machine
-
-
- Source Files\build\us_pc\textures\machine
-
-
- Source Files\build\us_pc\textures\machine
-
-
- Source Files\build\us_pc\textures\machine
-
-
- Source Files\build\us_pc\textures\machine
-
-
- Source Files\build\us_pc\textures\machine
-
-
- Source Files\build\us_pc\textures\machine
-
-
- Source Files\build\us_pc\textures\machine
-
-
- Source Files\build\us_pc\textures\machine
-
-
- Source Files\build\us_pc\textures\machine
-
-
- Source Files\build\us_pc\textures\machine
-
-
- Source Files\build\us_pc\textures\machine
-
-
- Source Files\build\us_pc\textures\mountain
-
-
- Source Files\build\us_pc\textures\mountain
-
-
- Source Files\build\us_pc\textures\mountain
-
-
- Source Files\build\us_pc\textures\mountain
-
-
- Source Files\build\us_pc\textures\mountain
-
-
- Source Files\build\us_pc\textures\mountain
-
-
- Source Files\build\us_pc\textures\mountain
-
-
- Source Files\build\us_pc\textures\mountain
-
-
- Source Files\build\us_pc\textures\mountain
-
-
- Source Files\build\us_pc\textures\mountain
-
-
- Source Files\build\us_pc\textures\mountain
-
-
- Source Files\build\us_pc\textures\mountain
-
-
- Source Files\build\us_pc\textures\mountain
-
-
- Source Files\build\us_pc\textures\mountain
-
-
- Source Files\build\us_pc\textures\mountain
-
-
- Source Files\build\us_pc\textures\mountain
-
-
- Source Files\build\us_pc\textures\mountain
-
-
- Source Files\build\us_pc\textures\mountain
-
-
- Source Files\build\us_pc\textures\mountain
-
-
- Source Files\build\us_pc\textures\mountain
-
-
- Source Files\build\us_pc\textures\mountain
-
-
- Source Files\build\us_pc\textures\outside
-
-
- Source Files\build\us_pc\textures\outside
-
-
- Source Files\build\us_pc\textures\outside
-
-
- Source Files\build\us_pc\textures\outside
-
-
- Source Files\build\us_pc\textures\outside
-
-
- Source Files\build\us_pc\textures\outside
-
-
- Source Files\build\us_pc\textures\outside
-
-
- Source Files\build\us_pc\textures\outside
-
-
- Source Files\build\us_pc\textures\outside
-
-
- Source Files\build\us_pc\textures\outside
-
-
- Source Files\build\us_pc\textures\outside
-
-
- Source Files\build\us_pc\textures\outside
-
-
- Source Files\build\us_pc\textures\outside
-
-
- Source Files\build\us_pc\textures\outside
-
-
- Source Files\build\us_pc\textures\outside
-
-
- Source Files\build\us_pc\textures\outside
-
-
- Source Files\build\us_pc\textures\outside
-
-
- Source Files\build\us_pc\textures\outside
-
-
- Source Files\build\us_pc\textures\outside
-
-
- Source Files\build\us_pc\textures\outside
-
-
- Source Files\build\us_pc\textures\outside
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\segment2
-
-
- Source Files\build\us_pc\textures\sky
-
-
- Source Files\build\us_pc\textures\sky
-
-
- Source Files\build\us_pc\textures\sky
-
-
- Source Files\build\us_pc\textures\sky
-
-
- Source Files\build\us_pc\textures\sky
-
-
- Source Files\build\us_pc\textures\sky
-
-
- Source Files\build\us_pc\textures\sky
-
-
- Source Files\build\us_pc\textures\sky
-
-
- Source Files\build\us_pc\textures\sky
-
-
- Source Files\build\us_pc\textures\sky
-
-
- Source Files\build\us_pc\textures\sky
-
-
- Source Files\build\us_pc\textures\sky
-
-
- Source Files\build\us_pc\textures\sky
-
-
- Source Files\build\us_pc\textures\sky
-
-
- Source Files\build\us_pc\textures\sky
-
-
- Source Files\build\us_pc\textures\snow
-
-
- Source Files\build\us_pc\textures\snow
-
-
- Source Files\build\us_pc\textures\snow
-
-
- Source Files\build\us_pc\textures\snow
-
-
- Source Files\build\us_pc\textures\snow
-
-
- Source Files\build\us_pc\textures\snow
-
-
- Source Files\build\us_pc\textures\snow
-
-
- Source Files\build\us_pc\textures\snow
-
-
- Source Files\build\us_pc\textures\snow
-
-
- Source Files\build\us_pc\textures\snow
-
-
- Source Files\build\us_pc\textures\snow
-
-
- Source Files\build\us_pc\textures\snow
-
-
- Source Files\build\us_pc\textures\snow
-
-
- Source Files\build\us_pc\textures\snow
-
-
- Source Files\build\us_pc\textures\snow
-
-
- Source Files\build\us_pc\textures\snow
-
-
- Source Files\build\us_pc\textures\snow
-
-
- Source Files\build\us_pc\textures\snow
-
-
- Source Files\build\us_pc\textures\spooky
-
-
- Source Files\build\us_pc\textures\spooky
-
-
- Source Files\build\us_pc\textures\spooky
-
-
- Source Files\build\us_pc\textures\spooky
-
-
- Source Files\build\us_pc\textures\spooky
-
-
- Source Files\build\us_pc\textures\spooky
-
-
- Source Files\build\us_pc\textures\spooky
-
-
- Source Files\build\us_pc\textures\spooky
-
-
- Source Files\build\us_pc\textures\spooky
-
-
- Source Files\build\us_pc\textures\spooky
-
-
- Source Files\build\us_pc\textures\spooky
-
-
- Source Files\build\us_pc\textures\spooky
-
-
- Source Files\build\us_pc\textures\spooky
-
-
- Source Files\build\us_pc\textures\spooky
-
-
- Source Files\build\us_pc\textures\spooky
-
-
- Source Files\build\us_pc\textures\spooky
-
-
- Source Files\build\us_pc\textures\spooky
-
-
- Source Files\build\us_pc\textures\title_screen_bg
-
-
- Source Files\build\us_pc\textures\title_screen_bg
-
-
- Source Files\build\us_pc\textures\title_screen_bg
-
-
- Source Files\build\us_pc\textures\title_screen_bg
-
-
- Source Files\build\us_pc\textures\title_screen_bg
-
-
- Source Files\build\us_pc\textures\title_screen_bg
-
-
- Source Files\build\us_pc\textures\title_screen_bg
-
-
- Source Files\build\us_pc\textures\title_screen_bg
-
-
- Source Files\build\us_pc\textures\water
-
-
- Source Files\build\us_pc\textures\water
-
-
- Source Files\build\us_pc\textures\water
-
-
- Source Files\build\us_pc\textures\water
-
-
- Source Files\build\us_pc\textures\water
-
-
- Source Files\build\us_pc\textures\water
-
-
- Source Files\build\us_pc\textures\water
-
-
- Source Files\build\us_pc\textures\water
-
-
- Source Files\build\us_pc\textures\water
-
-
- Source Files\build\us_pc\textures\water
-
-
- Source Files\build\us_pc\textures\water
-
-
- Source Files\build\us_pc\textures\water
-
-
- Source Files\build\us_pc\textures\water
-
-
- Source Files\build\us_pc\textures\water
-
-
- Source Files\build\us_pc\textures\water
-
Source Files\data
-
- Source Files\include
-
-
- Source Files\levels\bbh\areas\1\1
-
-
- Source Files\levels\bbh\areas\1\10
-
-
- Source Files\levels\bbh\areas\1\11
-
-
- Source Files\levels\bbh\areas\1\12
-
-
- Source Files\levels\bbh\areas\1\13
-
-
- Source Files\levels\bbh\areas\1\14
-
-
- Source Files\levels\bbh\areas\1\15
-
-
- Source Files\levels\bbh\areas\1\16
-
-
- Source Files\levels\bbh\areas\1\17
-
-
- Source Files\levels\bbh\areas\1\18
-
-
- Source Files\levels\bbh\areas\1\19
-
-
- Source Files\levels\bbh\areas\1\2
-
-
- Source Files\levels\bbh\areas\1\20
-
-
- Source Files\levels\bbh\areas\1\21
-
-
- Source Files\levels\bbh\areas\1\22
-
-
- Source Files\levels\bbh\areas\1\23
-
-
- Source Files\levels\bbh\areas\1\24
-
-
- Source Files\levels\bbh\areas\1\25
-
-
- Source Files\levels\bbh\areas\1\26
-
-
- Source Files\levels\bbh\areas\1\27
-
-
- Source Files\levels\bbh\areas\1\28
-
-
- Source Files\levels\bbh\areas\1\29
-
-
- Source Files\levels\bbh\areas\1\3
-
-
- Source Files\levels\bbh\areas\1\30
-
-
- Source Files\levels\bbh\areas\1\31
-
-
- Source Files\levels\bbh\areas\1\32
-
-
- Source Files\levels\bbh\areas\1\33
-
-
- Source Files\levels\bbh\areas\1\34
-
-
- Source Files\levels\bbh\areas\1\35
-
-
- Source Files\levels\bbh\areas\1\36
-
-
- Source Files\levels\bbh\areas\1\37
-
-
- Source Files\levels\bbh\areas\1\38
-
-
- Source Files\levels\bbh\areas\1\39
-
-
- Source Files\levels\bbh\areas\1\4
-
-
- Source Files\levels\bbh\areas\1\5
-
-
- Source Files\levels\bbh\areas\1\6
-
-
- Source Files\levels\bbh\areas\1\7
-
-
- Source Files\levels\bbh\areas\1\8
-
-
- Source Files\levels\bbh\areas\1\9
-
-
- Source Files\levels\bbh\areas\1
-
-
- Source Files\levels\bbh\areas\1
-
-
- Source Files\levels\bbh\areas\1
-
-
- Source Files\levels\bbh\areas\1
-
-
- Source Files\levels\bbh\areas\1
-
-
- Source Files\levels\bbh\coffin
-
-
- Source Files\levels\bbh\coffin
-
-
- Source Files\levels\bbh\coffin
-
Source Files\levels\bbh
Source Files\levels\bbh
-
- Source Files\levels\bbh\merry_go_round
-
-
- Source Files\levels\bbh\merry_go_round
-
-
- Source Files\levels\bbh\merry_go_round
-
-
- Source Files\levels\bbh\mesh_elevator
-
-
- Source Files\levels\bbh\mesh_elevator
-
-
- Source Files\levels\bbh\mesh_elevator
-
-
- Source Files\levels\bbh\moving_bookshelf
-
-
- Source Files\levels\bbh\moving_bookshelf
-
-
- Source Files\levels\bbh\moving_bookshelf
-
Source Files\levels\bbh
-
- Source Files\levels\bbh\staircase_step
-
-
- Source Files\levels\bbh\staircase_step
-
-
- Source Files\levels\bbh\staircase_step
-
-
- Source Files\levels\bbh
-
-
- Source Files\levels\bbh\tilting_trap_platform
-
-
- Source Files\levels\bbh\tilting_trap_platform
-
-
- Source Files\levels\bbh\tilting_trap_platform
-
-
- Source Files\levels\bbh\tumbling_platform_far
-
-
- Source Files\levels\bbh\tumbling_platform_far
-
-
- Source Files\levels\bbh\tumbling_platform_far
-
-
- Source Files\levels\bbh\tumbling_platform_near
-
-
- Source Files\levels\bbh\tumbling_platform_near
-
-
- Source Files\levels\bbh\tumbling_platform_near
-
-
- Source Files\levels\bitdw\areas\1\1
-
-
- Source Files\levels\bitdw\areas\1
-
-
- Source Files\levels\bitdw\areas\1
-
-
- Source Files\levels\bitdw\areas\1\large_platform
-
-
- Source Files\levels\bitdw\areas\1\large_platform
-
-
- Source Files\levels\bitdw\areas\1
-
-
- Source Files\levels\bitdw\areas\1\narrow_path_platform
-
-
- Source Files\levels\bitdw\areas\1\narrow_path_platform
-
-
- Source Files\levels\bitdw\areas\1\octogonal_platform
-
-
- Source Files\levels\bitdw\areas\1\octogonal_platform
-
-
- Source Files\levels\bitdw\areas\1\platform_with_hill
-
-
- Source Files\levels\bitdw\areas\1\platform_with_hill
-
-
- Source Files\levels\bitdw\areas\1\platforms_and_tilting
-
-
- Source Files\levels\bitdw\areas\1\platforms_and_tilting
-
-
- Source Files\levels\bitdw\areas\1\platforms_and_tilting_2
-
-
- Source Files\levels\bitdw\areas\1\platforms_and_tilting_2
-
-
- Source Files\levels\bitdw\areas\1\quartz_crystal
-
-
- Source Files\levels\bitdw\areas\1\quartz_crystal
-
-
- Source Files\levels\bitdw\areas\1\quartzy_path_1
-
-
- Source Files\levels\bitdw\areas\1\quartzy_path_1
-
-
- Source Files\levels\bitdw\areas\1\quartzy_path_2
-
-
- Source Files\levels\bitdw\areas\1\quartzy_path_2
-
-
- Source Files\levels\bitdw\areas\1\quartzy_path_fences
-
-
- Source Files\levels\bitdw\areas\1\quartzy_path_fences
-
-
- Source Files\levels\bitdw\areas\1\staircase_slope_and_platform
-
-
- Source Files\levels\bitdw\areas\1\staircase_slope_and_platform
-
-
- Source Files\levels\bitdw\areas\1\starting_platform
-
-
- Source Files\levels\bitdw\areas\1\starting_platform
-
-
- Source Files\levels\bitdw\areas\1\track_for_pyramid_platforms
-
-
- Source Files\levels\bitdw\areas\1\track_for_pyramid_platforms
-
-
- Source Files\levels\bitdw\areas\1\wooden_bridge_and_fences
-
-
- Source Files\levels\bitdw\areas\1\wooden_bridge_and_fences
-
-
- Source Files\levels\bitdw\areas\1\wooden_platform
-
-
- Source Files\levels\bitdw\areas\1\wooden_platform
-
-
- Source Files\levels\bitdw\collapsing_stairs_1
-
-
- Source Files\levels\bitdw\collapsing_stairs_1
-
-
- Source Files\levels\bitdw\collapsing_stairs_1
-
-
- Source Files\levels\bitdw\collapsing_stairs_2
-
-
- Source Files\levels\bitdw\collapsing_stairs_2
-
-
- Source Files\levels\bitdw\collapsing_stairs_2
-
-
- Source Files\levels\bitdw\collapsing_stairs_3
-
-
- Source Files\levels\bitdw\collapsing_stairs_3
-
-
- Source Files\levels\bitdw\collapsing_stairs_3
-
-
- Source Files\levels\bitdw\collapsing_stairs_4
-
-
- Source Files\levels\bitdw\collapsing_stairs_4
-
-
- Source Files\levels\bitdw\collapsing_stairs_4
-
-
- Source Files\levels\bitdw\collapsing_stairs_5
-
-
- Source Files\levels\bitdw\collapsing_stairs_5
-
-
- Source Files\levels\bitdw\collapsing_stairs_5
-
-
- Source Files\levels\bitdw\ferris_platform
-
-
- Source Files\levels\bitdw\ferris_platform
-
-
- Source Files\levels\bitdw\ferris_platform
-
-
- Source Files\levels\bitdw\ferris_wheel_axle
-
-
- Source Files\levels\bitdw\ferris_wheel_axle
-
-
- Source Files\levels\bitdw\ferris_wheel_axle
-
Source Files\levels\bitdw
@@ -10125,522 +3708,15 @@
Source Files\levels\bitdw
-
- Source Files\levels\bitdw\seesaw_platform
-
-
- Source Files\levels\bitdw\seesaw_platform
-
-
- Source Files\levels\bitdw\seesaw_platform
-
-
- Source Files\levels\bitdw\sliding_platform
-
-
- Source Files\levels\bitdw\sliding_platform
-
-
- Source Files\levels\bitdw\sliding_platform
-
-
- Source Files\levels\bitdw\square_platform
-
-
- Source Files\levels\bitdw\square_platform
-
-
- Source Files\levels\bitdw\square_platform
-
-
- Source Files\levels\bitdw
-
-
- Source Files\levels\bitfs\areas\1\1
-
-
- Source Files\levels\bitfs\areas\1\10
-
-
- Source Files\levels\bitfs\areas\1\10
-
-
- Source Files\levels\bitfs\areas\1\11
-
-
- Source Files\levels\bitfs\areas\1\11
-
-
- Source Files\levels\bitfs\areas\1\12
-
-
- Source Files\levels\bitfs\areas\1\12
-
-
- Source Files\levels\bitfs\areas\1\13
-
-
- Source Files\levels\bitfs\areas\1\13
-
-
- Source Files\levels\bitfs\areas\1\14
-
-
- Source Files\levels\bitfs\areas\1\14
-
-
- Source Files\levels\bitfs\areas\1\15
-
-
- Source Files\levels\bitfs\areas\1\15
-
-
- Source Files\levels\bitfs\areas\1\16
-
-
- Source Files\levels\bitfs\areas\1\16
-
-
- Source Files\levels\bitfs\areas\1\17
-
-
- Source Files\levels\bitfs\areas\1\17
-
-
- Source Files\levels\bitfs\areas\1\18
-
-
- Source Files\levels\bitfs\areas\1\18
-
-
- Source Files\levels\bitfs\areas\1\19
-
-
- Source Files\levels\bitfs\areas\1\19
-
-
- Source Files\levels\bitfs\areas\1\2
-
-
- Source Files\levels\bitfs\areas\1\2
-
-
- Source Files\levels\bitfs\areas\1\20
-
-
- Source Files\levels\bitfs\areas\1\20
-
-
- Source Files\levels\bitfs\areas\1\3
-
-
- Source Files\levels\bitfs\areas\1\3
-
-
- Source Files\levels\bitfs\areas\1\4
-
-
- Source Files\levels\bitfs\areas\1\4
-
-
- Source Files\levels\bitfs\areas\1\5
-
-
- Source Files\levels\bitfs\areas\1\5
-
-
- Source Files\levels\bitfs\areas\1\6
-
-
- Source Files\levels\bitfs\areas\1\6
-
-
- Source Files\levels\bitfs\areas\1\7
-
-
- Source Files\levels\bitfs\areas\1\7
-
-
- Source Files\levels\bitfs\areas\1\8
-
-
- Source Files\levels\bitfs\areas\1\8
-
-
- Source Files\levels\bitfs\areas\1\9
-
-
- Source Files\levels\bitfs\areas\1\9
-
-
- Source Files\levels\bitfs\areas\1
-
-
- Source Files\levels\bitfs\areas\1
-
-
- Source Files\levels\bitfs\areas\1
-
-
- Source Files\levels\bitfs\areas\1
-
-
- Source Files\levels\bitfs\areas\1
-
-
- Source Files\levels\bitfs\elevator
-
-
- Source Files\levels\bitfs\elevator
-
-
- Source Files\levels\bitfs\elevator
-
Source Files\levels\bitfs
Source Files\levels\bitfs
-
- Source Files\levels\bitfs\moving_square_platform
-
-
- Source Files\levels\bitfs\moving_square_platform
-
-
- Source Files\levels\bitfs\moving_square_platform
-
-
- Source Files\levels\bitfs\platform_on_track
-
-
- Source Files\levels\bitfs\platform_on_track
-
-
- Source Files\levels\bitfs\platform_on_track
-
Source Files\levels\bitfs
-
- Source Files\levels\bitfs\seesaw_platform
-
-
- Source Files\levels\bitfs\seesaw_platform
-
-
- Source Files\levels\bitfs\seesaw_platform
-
-
- Source Files\levels\bitfs\sinking_cage_platform
-
-
- Source Files\levels\bitfs\sinking_cage_platform
-
-
- Source Files\levels\bitfs\sinking_cage_platform
-
-
- Source Files\levels\bitfs\sinking_cage_pole
-
-
- Source Files\levels\bitfs\sinking_cage_pole
-
-
- Source Files\levels\bitfs\sinking_platforms
-
-
- Source Files\levels\bitfs\sinking_platforms
-
-
- Source Files\levels\bitfs\sinking_platforms
-
-
- Source Files\levels\bitfs\sliding_platform
-
-
- Source Files\levels\bitfs\sliding_platform
-
-
- Source Files\levels\bitfs\sliding_platform
-
-
- Source Files\levels\bitfs\stretching_platform
-
-
- Source Files\levels\bitfs\stretching_platform
-
-
- Source Files\levels\bitfs\stretching_platform
-
-
- Source Files\levels\bitfs\stretching_platform
-
-
- Source Files\levels\bitfs
-
-
- Source Files\levels\bitfs\tilting_square_platform
-
-
- Source Files\levels\bitfs\tilting_square_platform
-
-
- Source Files\levels\bitfs\tilting_square_platform
-
-
- Source Files\levels\bitfs\tumbling_platform_far
-
-
- Source Files\levels\bitfs\tumbling_platform_far
-
-
- Source Files\levels\bitfs\tumbling_platform_near
-
-
- Source Files\levels\bitfs\tumbling_platform_near
-
-
- Source Files\levels\bitfs\tumbling_platform_near
-
-
- Source Files\levels\bits\areas\1\1
-
-
- Source Files\levels\bits\areas\1\10
-
-
- Source Files\levels\bits\areas\1\10
-
-
- Source Files\levels\bits\areas\1\11
-
-
- Source Files\levels\bits\areas\1\11
-
-
- Source Files\levels\bits\areas\1\12
-
-
- Source Files\levels\bits\areas\1\12
-
-
- Source Files\levels\bits\areas\1\13
-
-
- Source Files\levels\bits\areas\1\13
-
-
- Source Files\levels\bits\areas\1\14
-
-
- Source Files\levels\bits\areas\1\14
-
-
- Source Files\levels\bits\areas\1\15
-
-
- Source Files\levels\bits\areas\1\15
-
-
- Source Files\levels\bits\areas\1\16
-
-
- Source Files\levels\bits\areas\1\16
-
-
- Source Files\levels\bits\areas\1\17
-
-
- Source Files\levels\bits\areas\1\17
-
-
- Source Files\levels\bits\areas\1\18
-
-
- Source Files\levels\bits\areas\1\18
-
-
- Source Files\levels\bits\areas\1\19
-
-
- Source Files\levels\bits\areas\1\19
-
-
- Source Files\levels\bits\areas\1\2
-
-
- Source Files\levels\bits\areas\1\2
-
-
- Source Files\levels\bits\areas\1\20
-
-
- Source Files\levels\bits\areas\1\20
-
-
- Source Files\levels\bits\areas\1\20
-
-
- Source Files\levels\bits\areas\1\21
-
-
- Source Files\levels\bits\areas\1\21
-
-
- Source Files\levels\bits\areas\1\21
-
-
- Source Files\levels\bits\areas\1\22
-
-
- Source Files\levels\bits\areas\1\22
-
-
- Source Files\levels\bits\areas\1\22
-
-
- Source Files\levels\bits\areas\1\23
-
-
- Source Files\levels\bits\areas\1\23
-
-
- Source Files\levels\bits\areas\1\23
-
-
- Source Files\levels\bits\areas\1\24
-
-
- Source Files\levels\bits\areas\1\24
-
-
- Source Files\levels\bits\areas\1\24
-
-
- Source Files\levels\bits\areas\1\25
-
-
- Source Files\levels\bits\areas\1\25
-
-
- Source Files\levels\bits\areas\1\25
-
-
- Source Files\levels\bits\areas\1\26
-
-
- Source Files\levels\bits\areas\1\26
-
-
- Source Files\levels\bits\areas\1\26
-
-
- Source Files\levels\bits\areas\1\27
-
-
- Source Files\levels\bits\areas\1\27
-
-
- Source Files\levels\bits\areas\1\27
-
-
- Source Files\levels\bits\areas\1\28
-
-
- Source Files\levels\bits\areas\1\28
-
-
- Source Files\levels\bits\areas\1\28
-
-
- Source Files\levels\bits\areas\1\29
-
-
- Source Files\levels\bits\areas\1\29
-
-
- Source Files\levels\bits\areas\1\29
-
-
- Source Files\levels\bits\areas\1\3
-
-
- Source Files\levels\bits\areas\1\3
-
-
- Source Files\levels\bits\areas\1\30
-
-
- Source Files\levels\bits\areas\1\30
-
-
- Source Files\levels\bits\areas\1\30
-
-
- Source Files\levels\bits\areas\1\31
-
-
- Source Files\levels\bits\areas\1\31
-
-
- Source Files\levels\bits\areas\1\31
-
-
- Source Files\levels\bits\areas\1\32
-
-
- Source Files\levels\bits\areas\1\32
-
-
- Source Files\levels\bits\areas\1\32
-
-
- Source Files\levels\bits\areas\1\4
-
-
- Source Files\levels\bits\areas\1\4
-
-
- Source Files\levels\bits\areas\1\5
-
-
- Source Files\levels\bits\areas\1\5
-
-
- Source Files\levels\bits\areas\1\6
-
-
- Source Files\levels\bits\areas\1\6
-
-
- Source Files\levels\bits\areas\1\7
-
-
- Source Files\levels\bits\areas\1\7
-
-
- Source Files\levels\bits\areas\1\8
-
-
- Source Files\levels\bits\areas\1\8
-
-
- Source Files\levels\bits\areas\1\9
-
-
- Source Files\levels\bits\areas\1\9
-
-
- Source Files\levels\bits\areas\1
-
-
- Source Files\levels\bits\areas\1
-
-
- Source Files\levels\bits\areas\1
-
Source Files\levels\bits
@@ -10650,87 +3726,15 @@
Source Files\levels\bits
-
- Source Files\levels\bits
-
-
- Source Files\levels\bob\areas\1\1
-
-
- Source Files\levels\bob\areas\1\2
-
-
- Source Files\levels\bob\areas\1\3
-
-
- Source Files\levels\bob\areas\1\4
-
-
- Source Files\levels\bob\areas\1\5
-
-
- Source Files\levels\bob\areas\1\6
-
-
- Source Files\levels\bob\areas\1
-
-
- Source Files\levels\bob\areas\1
-
-
- Source Files\levels\bob\areas\1
-
-
- Source Files\levels\bob\areas\1
-
-
- Source Files\levels\bob\chain_chomp_gate
-
-
- Source Files\levels\bob\chain_chomp_gate
-
-
- Source Files\levels\bob\chain_chomp_gate
-
Source Files\levels\bob
-
- Source Files\levels\bob\grate_door
-
-
- Source Files\levels\bob\grate_door
-
-
- Source Files\levels\bob\grate_door
-
Source Files\levels\bob
Source Files\levels\bob
-
- Source Files\levels\bob\seesaw_platform
-
-
- Source Files\levels\bob\seesaw_platform
-
-
- Source Files\levels\bob\seesaw_platform
-
-
- Source Files\levels\bob
-
-
- Source Files\levels\bowser_1\areas\1\1
-
-
- Source Files\levels\bowser_1\areas\1
-
-
- Source Files\levels\bowser_1\areas\1
-
Source Files\levels\bowser_1
@@ -10740,18 +3744,6 @@
Source Files\levels\bowser_1
-
- Source Files\levels\bowser_1
-
-
- Source Files\levels\bowser_2\areas\1\1
-
-
- Source Files\levels\bowser_2\areas\1
-
-
- Source Files\levels\bowser_2\areas\1
-
Source Files\levels\bowser_2
@@ -10761,123 +3753,6 @@
Source Files\levels\bowser_2
-
- Source Files\levels\bowser_2
-
-
- Source Files\levels\bowser_2\tilting_platform
-
-
- Source Files\levels\bowser_2\tilting_platform
-
-
- Source Files\levels\bowser_2\tilting_platform
-
-
- Source Files\levels\bowser_3\areas\1\1
-
-
- Source Files\levels\bowser_3\areas\1\bomb_stand
-
-
- Source Files\levels\bowser_3\areas\1\bomb_stand
-
-
- Source Files\levels\bowser_3\areas\1
-
-
- Source Files\levels\bowser_3\areas\1
-
-
- Source Files\levels\bowser_3\falling_platform_1
-
-
- Source Files\levels\bowser_3\falling_platform_1
-
-
- Source Files\levels\bowser_3\falling_platform_1
-
-
- Source Files\levels\bowser_3\falling_platform_10
-
-
- Source Files\levels\bowser_3\falling_platform_10
-
-
- Source Files\levels\bowser_3\falling_platform_10
-
-
- Source Files\levels\bowser_3\falling_platform_2
-
-
- Source Files\levels\bowser_3\falling_platform_2
-
-
- Source Files\levels\bowser_3\falling_platform_2
-
-
- Source Files\levels\bowser_3\falling_platform_3
-
-
- Source Files\levels\bowser_3\falling_platform_3
-
-
- Source Files\levels\bowser_3\falling_platform_3
-
-
- Source Files\levels\bowser_3\falling_platform_4
-
-
- Source Files\levels\bowser_3\falling_platform_4
-
-
- Source Files\levels\bowser_3\falling_platform_4
-
-
- Source Files\levels\bowser_3\falling_platform_5
-
-
- Source Files\levels\bowser_3\falling_platform_5
-
-
- Source Files\levels\bowser_3\falling_platform_5
-
-
- Source Files\levels\bowser_3\falling_platform_6
-
-
- Source Files\levels\bowser_3\falling_platform_6
-
-
- Source Files\levels\bowser_3\falling_platform_6
-
-
- Source Files\levels\bowser_3\falling_platform_7
-
-
- Source Files\levels\bowser_3\falling_platform_7
-
-
- Source Files\levels\bowser_3\falling_platform_7
-
-
- Source Files\levels\bowser_3\falling_platform_8
-
-
- Source Files\levels\bowser_3\falling_platform_8
-
-
- Source Files\levels\bowser_3\falling_platform_8
-
-
- Source Files\levels\bowser_3\falling_platform_9
-
-
- Source Files\levels\bowser_3\falling_platform_9
-
-
- Source Files\levels\bowser_3\falling_platform_9
-
Source Files\levels\bowser_3
@@ -10887,36 +3762,6 @@
Source Files\levels\bowser_3
-
- Source Files\levels\bowser_3
-
-
- Source Files\levels\castle_courtyard\areas\1\1
-
-
- Source Files\levels\castle_courtyard\areas\1\2
-
-
- Source Files\levels\castle_courtyard\areas\1\3
-
-
- Source Files\levels\castle_courtyard\areas\1
-
-
- Source Files\levels\castle_courtyard\areas\1
-
-
- Source Files\levels\castle_courtyard\areas\1
-
-
- Source Files\levels\castle_courtyard\areas\1
-
-
- Source Files\levels\castle_courtyard\areas\1\spire
-
-
- Source Files\levels\castle_courtyard\areas\1\spire
-
Source Files\levels\castle_courtyard
@@ -10926,81 +3771,6 @@
Source Files\levels\castle_courtyard
-
- Source Files\levels\castle_courtyard
-
-
- Source Files\levels\castle_grounds\areas\1\1
-
-
- Source Files\levels\castle_grounds\areas\1\10
-
-
- Source Files\levels\castle_grounds\areas\1\11
-
-
- Source Files\levels\castle_grounds\areas\1\11
-
-
- Source Files\levels\castle_grounds\areas\1\11
-
-
- Source Files\levels\castle_grounds\areas\1\12
-
-
- Source Files\levels\castle_grounds\areas\1\13
-
-
- Source Files\levels\castle_grounds\areas\1\2
-
-
- Source Files\levels\castle_grounds\areas\1\3
-
-
- Source Files\levels\castle_grounds\areas\1\3
-
-
- Source Files\levels\castle_grounds\areas\1\4
-
-
- Source Files\levels\castle_grounds\areas\1\5
-
-
- Source Files\levels\castle_grounds\areas\1\6
-
-
- Source Files\levels\castle_grounds\areas\1\7
-
-
- Source Files\levels\castle_grounds\areas\1\7
-
-
- Source Files\levels\castle_grounds\areas\1\7
-
-
- Source Files\levels\castle_grounds\areas\1\8
-
-
- Source Files\levels\castle_grounds\areas\1\8
-
-
- Source Files\levels\castle_grounds\areas\1\8
-
-
- Source Files\levels\castle_grounds\areas\1\9
-
-
- Source Files\levels\castle_grounds\areas\1
-
-
- Source Files\levels\castle_grounds\areas\1
-
-
- Source Files\levels\castle_grounds\areas\1
-
-
- Source Files\levels\castle_grounds\areas\1
-
Source Files\levels\castle_grounds
@@ -11010,552 +3780,42 @@
Source Files\levels\castle_grounds
-
- Source Files\levels\castle_grounds
-
-
- Source Files\levels\castle_inside\areas\1\1
-
-
- Source Files\levels\castle_inside\areas\1\10
-
-
- Source Files\levels\castle_inside\areas\1\11
-
-
- Source Files\levels\castle_inside\areas\1\12
-
-
- Source Files\levels\castle_inside\areas\1\13
-
-
- Source Files\levels\castle_inside\areas\1\14
-
-
- Source Files\levels\castle_inside\areas\1\15
-
-
- Source Files\levels\castle_inside\areas\1\16
-
-
- Source Files\levels\castle_inside\areas\1\17
-
-
- Source Files\levels\castle_inside\areas\1\18
-
-
- Source Files\levels\castle_inside\areas\1\19
-
-
- Source Files\levels\castle_inside\areas\1\2
-
-
- Source Files\levels\castle_inside\areas\1\20
-
-
- Source Files\levels\castle_inside\areas\1\21
-
-
- Source Files\levels\castle_inside\areas\1\22
-
-
- Source Files\levels\castle_inside\areas\1\23
-
-
- Source Files\levels\castle_inside\areas\1\24
-
-
- Source Files\levels\castle_inside\areas\1\25
-
-
- Source Files\levels\castle_inside\areas\1\26
-
-
- Source Files\levels\castle_inside\areas\1\3
-
-
- Source Files\levels\castle_inside\areas\1\4
-
-
- Source Files\levels\castle_inside\areas\1\5
-
-
- Source Files\levels\castle_inside\areas\1\6
-
-
- Source Files\levels\castle_inside\areas\1\7
-
-
- Source Files\levels\castle_inside\areas\1\8
-
-
- Source Files\levels\castle_inside\areas\1\9
-
-
- Source Files\levels\castle_inside\areas\1
-
-
- Source Files\levels\castle_inside\areas\1
-
-
- Source Files\levels\castle_inside\areas\1
-
-
- Source Files\levels\castle_inside\areas\1
-
-
- Source Files\levels\castle_inside\areas\2\1
-
-
- Source Files\levels\castle_inside\areas\2\10
-
-
- Source Files\levels\castle_inside\areas\2\11
-
-
- Source Files\levels\castle_inside\areas\2\12
-
-
- Source Files\levels\castle_inside\areas\2\13
-
-
- Source Files\levels\castle_inside\areas\2\14
-
-
- Source Files\levels\castle_inside\areas\2\15
-
-
- Source Files\levels\castle_inside\areas\2\2
-
-
- Source Files\levels\castle_inside\areas\2\3
-
-
- Source Files\levels\castle_inside\areas\2\4
-
-
- Source Files\levels\castle_inside\areas\2\5
-
-
- Source Files\levels\castle_inside\areas\2\6
-
-
- Source Files\levels\castle_inside\areas\2\7
-
-
- Source Files\levels\castle_inside\areas\2\8
-
-
- Source Files\levels\castle_inside\areas\2\9
-
-
- Source Files\levels\castle_inside\areas\2
-
-
- Source Files\levels\castle_inside\areas\2
-
-
- Source Files\levels\castle_inside\areas\2
-
-
- Source Files\levels\castle_inside\areas\2\pendulum
-
-
- Source Files\levels\castle_inside\areas\2\pendulum
-
-
- Source Files\levels\castle_inside\areas\2
-
-
- Source Files\levels\castle_inside\areas\3\1
-
-
- Source Files\levels\castle_inside\areas\3\10
-
-
- Source Files\levels\castle_inside\areas\3\11
-
-
- Source Files\levels\castle_inside\areas\3\2
-
-
- Source Files\levels\castle_inside\areas\3\3
-
-
- Source Files\levels\castle_inside\areas\3\4
-
-
- Source Files\levels\castle_inside\areas\3\5
-
-
- Source Files\levels\castle_inside\areas\3\6
-
-
- Source Files\levels\castle_inside\areas\3\7
-
-
- Source Files\levels\castle_inside\areas\3\8
-
-
- Source Files\levels\castle_inside\areas\3\9
-
-
- Source Files\levels\castle_inside\areas\3
-
-
- Source Files\levels\castle_inside\areas\3
-
-
- Source Files\levels\castle_inside\areas\3
-
-
- Source Files\levels\castle_inside\areas\3
-
-
- Source Files\levels\castle_inside\areas\3
-
-
- Source Files\levels\castle_inside\areas\3
-
-
- Source Files\levels\castle_inside\clock_hour_hand
-
-
- Source Files\levels\castle_inside\clock_hour_hand
-
-
- Source Files\levels\castle_inside\clock_hour_hand
-
-
- Source Files\levels\castle_inside\clock_minute_hand
-
-
- Source Files\levels\castle_inside\clock_minute_hand
-
-
- Source Files\levels\castle_inside\clock_minute_hand
-
Source Files\levels\castle_inside
Source Files\levels\castle_inside
-
- Source Files\levels\castle_inside
-
Source Files\levels\castle_inside
-
- Source Files\levels\castle_inside\star_door
-
-
- Source Files\levels\castle_inside\star_door
-
-
- Source Files\levels\castle_inside\star_door
-
-
- Source Files\levels\castle_inside
-
-
- Source Files\levels\castle_inside\trap_door
-
-
- Source Files\levels\castle_inside\trap_door
-
-
- Source Files\levels\castle_inside\trap_door
-
-
- Source Files\levels\castle_inside\water_level_pillar
-
-
- Source Files\levels\castle_inside\water_level_pillar
-
-
- Source Files\levels\castle_inside\water_level_pillar
-
-
- Source Files\levels\ccm\areas\1\1
-
-
- Source Files\levels\ccm\areas\1\10
-
-
- Source Files\levels\ccm\areas\1\10
-
-
- Source Files\levels\ccm\areas\1\10
-
-
- Source Files\levels\ccm\areas\1\10
-
-
- Source Files\levels\ccm\areas\1\2
-
-
- Source Files\levels\ccm\areas\1\3
-
-
- Source Files\levels\ccm\areas\1\4
-
-
- Source Files\levels\ccm\areas\1\5
-
-
- Source Files\levels\ccm\areas\1\6
-
-
- Source Files\levels\ccm\areas\1\6
-
-
- Source Files\levels\ccm\areas\1\6
-
-
- Source Files\levels\ccm\areas\1\7
-
-
- Source Files\levels\ccm\areas\1\7
-
-
- Source Files\levels\ccm\areas\1\7
-
-
- Source Files\levels\ccm\areas\1\7
-
-
- Source Files\levels\ccm\areas\1\8
-
-
- Source Files\levels\ccm\areas\1\8
-
-
- Source Files\levels\ccm\areas\1\9
-
-
- Source Files\levels\ccm\areas\1\9
-
-
- Source Files\levels\ccm\areas\1
-
-
- Source Files\levels\ccm\areas\1
-
-
- Source Files\levels\ccm\areas\1
-
-
- Source Files\levels\ccm\areas\1
-
-
- Source Files\levels\ccm\areas\1
-
-
- Source Files\levels\ccm\areas\2\1
-
-
- Source Files\levels\ccm\areas\2\2
-
-
- Source Files\levels\ccm\areas\2\3
-
-
- Source Files\levels\ccm\areas\2\4
-
-
- Source Files\levels\ccm\areas\2\5
-
-
- Source Files\levels\ccm\areas\2\6
-
-
- Source Files\levels\ccm\areas\2\7
-
-
- Source Files\levels\ccm\areas\2
-
-
- Source Files\levels\ccm\areas\2
-
-
- Source Files\levels\ccm\areas\2
-
-
- Source Files\levels\ccm\areas\2
-
Source Files\levels\ccm
Source Files\levels\ccm
-
- Source Files\levels\ccm\ropeway_lift
-
-
- Source Files\levels\ccm\ropeway_lift
-
-
- Source Files\levels\ccm\ropeway_lift
-
-
- Source Files\levels\ccm\ropeway_lift
-
Source Files\levels\ccm
-
- Source Files\levels\ccm\snowman_base
-
-
- Source Files\levels\ccm\snowman_base
-
-
- Source Files\levels\ccm\snowman_head
-
-
- Source Files\levels\ccm\snowman_head
-
-
- Source Files\levels\ccm\snowman_head
-
-
- Source Files\levels\ccm
-
-
- Source Files\levels\cotmc\areas\1\1
-
-
- Source Files\levels\cotmc\areas\1\2
-
-
- Source Files\levels\cotmc\areas\1\3
-
-
- Source Files\levels\cotmc\areas\1
-
-
- Source Files\levels\cotmc\areas\1
-
-
- Source Files\levels\cotmc\areas\1
-
Source Files\levels\cotmc
Source Files\levels\cotmc
-
- Source Files\levels\cotmc
-
Source Files\levels\cotmc
-
- Source Files\levels\cotmc
-
-
- Source Files\levels\ddd\areas\1\1
-
-
- Source Files\levels\ddd\areas\1\2
-
-
- Source Files\levels\ddd\areas\1\3
-
-
- Source Files\levels\ddd\areas\1\4
-
-
- Source Files\levels\ddd\areas\1
-
-
- Source Files\levels\ddd\areas\1
-
-
- Source Files\levels\ddd\areas\1
-
-
- Source Files\levels\ddd\areas\1
-
-
- Source Files\levels\ddd\areas\2\1
-
-
- Source Files\levels\ddd\areas\2\2
-
-
- Source Files\levels\ddd\areas\2\3
-
-
- Source Files\levels\ddd\areas\2\4
-
-
- Source Files\levels\ddd\areas\2\5
-
-
- Source Files\levels\ddd\areas\2\6
-
-
- Source Files\levels\ddd\areas\2
-
-
- Source Files\levels\ddd\areas\2
-
-
- Source Files\levels\ddd\areas\2
-
-
- Source Files\levels\ddd\areas\2
-
Source Files\levels\ddd
Source Files\levels\ddd
-
- Source Files\levels\ddd\pole
-
-
- Source Files\levels\ddd\pole
-
Source Files\levels\ddd
-
- Source Files\levels\ddd\sub_door
-
-
- Source Files\levels\ddd\sub_door
-
-
- Source Files\levels\ddd\sub_door
-
-
- Source Files\levels\ddd\sub_door
-
-
- Source Files\levels\ddd\sub_door
-
-
- Source Files\levels\ddd\submarine
-
-
- Source Files\levels\ddd\submarine
-
-
- Source Files\levels\ddd\submarine
-
-
- Source Files\levels\ddd\submarine
-
-
- Source Files\levels\ddd
-
Source Files\levels\ending
@@ -11568,189 +3828,15 @@
Source Files\levels
-
- Source Files\levels\hmc\areas\1\1
-
-
- Source Files\levels\hmc\areas\1\10
-
-
- Source Files\levels\hmc\areas\1\11
-
-
- Source Files\levels\hmc\areas\1\12
-
-
- Source Files\levels\hmc\areas\1\13
-
-
- Source Files\levels\hmc\areas\1\14
-
-
- Source Files\levels\hmc\areas\1\15
-
-
- Source Files\levels\hmc\areas\1\16
-
-
- Source Files\levels\hmc\areas\1\17
-
-
- Source Files\levels\hmc\areas\1\18
-
-
- Source Files\levels\hmc\areas\1\19
-
-
- Source Files\levels\hmc\areas\1\2
-
-
- Source Files\levels\hmc\areas\1\20
-
-
- Source Files\levels\hmc\areas\1\21
-
-
- Source Files\levels\hmc\areas\1\22
-
-
- Source Files\levels\hmc\areas\1\23
-
-
- Source Files\levels\hmc\areas\1\24
-
-
- Source Files\levels\hmc\areas\1\25
-
-
- Source Files\levels\hmc\areas\1\26
-
-
- Source Files\levels\hmc\areas\1\27
-
-
- Source Files\levels\hmc\areas\1\28
-
-
- Source Files\levels\hmc\areas\1\29
-
-
- Source Files\levels\hmc\areas\1\3
-
-
- Source Files\levels\hmc\areas\1\30
-
-
- Source Files\levels\hmc\areas\1\31
-
-
- Source Files\levels\hmc\areas\1\32
-
-
- Source Files\levels\hmc\areas\1\4
-
-
- Source Files\levels\hmc\areas\1\5
-
-
- Source Files\levels\hmc\areas\1\6
-
-
- Source Files\levels\hmc\areas\1\7
-
-
- Source Files\levels\hmc\areas\1\8
-
-
- Source Files\levels\hmc\areas\1\9
-
-
- Source Files\levels\hmc\areas\1
-
-
- Source Files\levels\hmc\areas\1
-
-
- Source Files\levels\hmc\areas\1\grill_door
-
-
- Source Files\levels\hmc\areas\1\grill_door
-
-
- Source Files\levels\hmc\areas\1\grill_door
-
-
- Source Files\levels\hmc\areas\1
-
-
- Source Files\levels\hmc\areas\1
-
-
- Source Files\levels\hmc\areas\1
-
-
- Source Files\levels\hmc\areas\1
-
-
- Source Files\levels\hmc\areas\1
-
-
- Source Files\levels\hmc\arrow_platform
-
-
- Source Files\levels\hmc\arrow_platform
-
-
- Source Files\levels\hmc\arrow_platform
-
-
- Source Files\levels\hmc\arrow_platform_button
-
-
- Source Files\levels\hmc\arrow_platform_button
-
-
- Source Files\levels\hmc\arrow_platform_button
-
-
- Source Files\levels\hmc\elevator_platform
-
-
- Source Files\levels\hmc\elevator_platform
-
-
- Source Files\levels\hmc\elevator_platform
-
Source Files\levels\hmc
Source Files\levels\hmc
-
- Source Files\levels\hmc\rolling_rock
-
-
- Source Files\levels\hmc\rolling_rock
-
-
- Source Files\levels\hmc\rolling_rock_fragment_1
-
-
- Source Files\levels\hmc\rolling_rock_fragment_1
-
-
- Source Files\levels\hmc\rolling_rock_fragment_2
-
-
- Source Files\levels\hmc\rolling_rock_fragment_2
-
Source Files\levels\hmc
-
- Source Files\levels\hmc
-
Source Files\levels\intro
@@ -11760,396 +3846,24 @@
Source Files\levels\intro
-
- Source Files\levels\jrb\areas\1\1
-
-
- Source Files\levels\jrb\areas\1\2
-
-
- Source Files\levels\jrb\areas\1\3
-
-
- Source Files\levels\jrb\areas\1\4
-
-
- Source Files\levels\jrb\areas\1\5
-
-
- Source Files\levels\jrb\areas\1\6
-
-
- Source Files\levels\jrb\areas\1\7
-
-
- Source Files\levels\jrb\areas\1
-
-
- Source Files\levels\jrb\areas\1
-
-
- Source Files\levels\jrb\areas\1
-
-
- Source Files\levels\jrb\areas\1
-
-
- Source Files\levels\jrb\areas\1
-
-
- Source Files\levels\jrb\areas\2\1
-
-
- Source Files\levels\jrb\areas\2\2
-
-
- Source Files\levels\jrb\areas\2\3
-
-
- Source Files\levels\jrb\areas\2
-
-
- Source Files\levels\jrb\areas\2
-
-
- Source Files\levels\jrb\areas\2
-
-
- Source Files\levels\jrb\areas\2
-
-
- Source Files\levels\jrb\falling_pillar
-
-
- Source Files\levels\jrb\falling_pillar
-
-
- Source Files\levels\jrb\falling_pillar_base
-
-
- Source Files\levels\jrb\falling_pillar_base
-
-
- Source Files\levels\jrb\falling_pillar_base
-
-
- Source Files\levels\jrb\floating_platform
-
-
- Source Files\levels\jrb\floating_platform
-
-
- Source Files\levels\jrb\floating_platform
-
Source Files\levels\jrb
Source Files\levels\jrb
-
- Source Files\levels\jrb\rock
-
-
- Source Files\levels\jrb\rock
-
-
- Source Files\levels\jrb\rock
-
Source Files\levels\jrb
-
- Source Files\levels\jrb\sliding_box
-
-
- Source Files\levels\jrb\sliding_box
-
-
- Source Files\levels\jrb\sliding_box
-
-
- Source Files\levels\jrb
-
-
- Source Files\levels\jrb\unused_lid
-
-
- Source Files\levels\jrb\wooden_ship
-
-
- Source Files\levels\jrb\wooden_ship
-
-
- Source Files\levels\jrb\wooden_ship
-
-
- Source Files\levels\lll\areas\1\1
-
-
- Source Files\levels\lll\areas\1\10
-
-
- Source Files\levels\lll\areas\1\10
-
-
- Source Files\levels\lll\areas\1\10
-
-
- Source Files\levels\lll\areas\1\11
-
-
- Source Files\levels\lll\areas\1\11
-
-
- Source Files\levels\lll\areas\1\12
-
-
- Source Files\levels\lll\areas\1\12
-
-
- Source Files\levels\lll\areas\1\13
-
-
- Source Files\levels\lll\areas\1\13
-
-
- Source Files\levels\lll\areas\1\14
-
-
- Source Files\levels\lll\areas\1\14
-
-
- Source Files\levels\lll\areas\1\15
-
-
- Source Files\levels\lll\areas\1\15
-
-
- Source Files\levels\lll\areas\1\2
-
-
- Source Files\levels\lll\areas\1\3
-
-
- Source Files\levels\lll\areas\1\4
-
-
- Source Files\levels\lll\areas\1\4
-
-
- Source Files\levels\lll\areas\1\5
-
-
- Source Files\levels\lll\areas\1\5
-
-
- Source Files\levels\lll\areas\1\6
-
-
- Source Files\levels\lll\areas\1\6
-
-
- Source Files\levels\lll\areas\1\7
-
-
- Source Files\levels\lll\areas\1\7
-
-
- Source Files\levels\lll\areas\1\8
-
-
- Source Files\levels\lll\areas\1\8
-
-
- Source Files\levels\lll\areas\1\9
-
-
- Source Files\levels\lll\areas\1\9
-
-
- Source Files\levels\lll\areas\1
-
-
- Source Files\levels\lll\areas\1
-
-
- Source Files\levels\lll\areas\1
-
-
- Source Files\levels\lll\areas\1
-
-
- Source Files\levels\lll\areas\2\1
-
-
- Source Files\levels\lll\areas\2\2
-
-
- Source Files\levels\lll\areas\2\3
-
-
- Source Files\levels\lll\areas\2\4
-
-
- Source Files\levels\lll\areas\2\5
-
-
- Source Files\levels\lll\areas\2
-
-
- Source Files\levels\lll\areas\2
-
-
- Source Files\levels\lll\areas\2
-
-
- Source Files\levels\lll\areas\2
-
-
- Source Files\levels\lll\areas\2
-
-
- Source Files\levels\lll\collapsing_wooden_platform
-
-
- Source Files\levels\lll\collapsing_wooden_platform
-
-
- Source Files\levels\lll\collapsing_wooden_platform
-
-
- Source Files\levels\lll\drawbridge_part
-
-
- Source Files\levels\lll\drawbridge_part
-
-
- Source Files\levels\lll\drawbridge_part
-
Source Files\levels\lll
Source Files\levels\lll
-
- Source Files\levels\lll\long_wooden_bridge
-
-
- Source Files\levels\lll\long_wooden_bridge
-
-
- Source Files\levels\lll\moving_octagonal_mesh_platform
-
-
- Source Files\levels\lll\moving_octagonal_mesh_platform
-
-
- Source Files\levels\lll\moving_octagonal_mesh_platform
-
-
- Source Files\levels\lll\puzzle_piece
-
-
- Source Files\levels\lll\puzzle_piece
-
-
- Source Files\levels\lll\puzzle_piece
-
-
- Source Files\levels\lll\rolling_log
-
-
- Source Files\levels\lll\rolling_log
-
-
- Source Files\levels\lll\rolling_log
-
-
- Source Files\levels\lll\rotating_block_fire_bars
-
-
- Source Files\levels\lll\rotating_block_fire_bars
-
-
- Source Files\levels\lll\rotating_block_fire_bars
-
-
- Source Files\levels\lll\rotating_hexagonal_ring
-
-
- Source Files\levels\lll\rotating_hexagonal_ring
-
-
- Source Files\levels\lll\rotating_hexagonal_ring
-
Source Files\levels\lll
-
- Source Files\levels\lll\sinking_rectangular_platform
-
-
- Source Files\levels\lll\sinking_rectangular_platform
-
-
- Source Files\levels\lll\sinking_rectangular_platform
-
-
- Source Files\levels\lll\sinking_rock_block
-
-
- Source Files\levels\lll\sinking_rock_block
-
-
- Source Files\levels\lll\sinking_rock_block
-
-
- Source Files\levels\lll\sinking_square_platform
-
-
- Source Files\levels\lll\sinking_square_platform
-
-
- Source Files\levels\lll\sinking_square_platform
-
-
- Source Files\levels\lll
-
-
- Source Files\levels\lll\tilting_square_platform
-
-
- Source Files\levels\lll\tilting_square_platform
-
-
- Source Files\levels\lll\tilting_square_platform
-
-
- Source Files\levels\lll\volcano_falling_trap
-
-
- Source Files\levels\lll\volcano_falling_trap
-
-
- Source Files\levels\lll\volcano_falling_trap
-
-
- Source Files\levels\lll\wooden_float_large
-
-
- Source Files\levels\lll\wooden_float_large
-
-
- Source Files\levels\lll\wooden_float_small
-
-
- Source Files\levels\lll\wooden_float_small
-
-
- Source Files\levels\lll\wooden_float_small
-
Source Files\levels\menu
@@ -12159,36 +3873,6 @@
Source Files\levels\menu
-
- Source Files\levels\pss\areas\1\1
-
-
- Source Files\levels\pss\areas\1\2
-
-
- Source Files\levels\pss\areas\1\3
-
-
- Source Files\levels\pss\areas\1\4
-
-
- Source Files\levels\pss\areas\1\5
-
-
- Source Files\levels\pss\areas\1\6
-
-
- Source Files\levels\pss\areas\1\7
-
-
- Source Files\levels\pss\areas\1
-
-
- Source Files\levels\pss\areas\1
-
-
- Source Files\levels\pss\areas\1
-
Source Files\levels\pss
@@ -12198,318 +3882,15 @@
Source Files\levels\pss
-
- Source Files\levels\pss
-
-
- Source Files\levels\rr\areas\1\1
-
-
- Source Files\levels\rr\areas\1\10
-
-
- Source Files\levels\rr\areas\1\10
-
-
- Source Files\levels\rr\areas\1\11
-
-
- Source Files\levels\rr\areas\1\11
-
-
- Source Files\levels\rr\areas\1\11
-
-
- Source Files\levels\rr\areas\1\12
-
-
- Source Files\levels\rr\areas\1\12
-
-
- Source Files\levels\rr\areas\1\13
-
-
- Source Files\levels\rr\areas\1\13
-
-
- Source Files\levels\rr\areas\1\14
-
-
- Source Files\levels\rr\areas\1\14
-
-
- Source Files\levels\rr\areas\1\15
-
-
- Source Files\levels\rr\areas\1\15
-
-
- Source Files\levels\rr\areas\1\16
-
-
- Source Files\levels\rr\areas\1\16
-
-
- Source Files\levels\rr\areas\1\17
-
-
- Source Files\levels\rr\areas\1\17
-
-
- Source Files\levels\rr\areas\1\18
-
-
- Source Files\levels\rr\areas\1\18
-
-
- Source Files\levels\rr\areas\1\19
-
-
- Source Files\levels\rr\areas\1\19
-
-
- Source Files\levels\rr\areas\1\2
-
-
- Source Files\levels\rr\areas\1\2
-
-
- Source Files\levels\rr\areas\1\20
-
-
- Source Files\levels\rr\areas\1\20
-
-
- Source Files\levels\rr\areas\1\21
-
-
- Source Files\levels\rr\areas\1\21
-
-
- Source Files\levels\rr\areas\1\3
-
-
- Source Files\levels\rr\areas\1\3
-
-
- Source Files\levels\rr\areas\1\4
-
-
- Source Files\levels\rr\areas\1\4
-
-
- Source Files\levels\rr\areas\1\5
-
-
- Source Files\levels\rr\areas\1\5
-
-
- Source Files\levels\rr\areas\1\6
-
-
- Source Files\levels\rr\areas\1\6
-
-
- Source Files\levels\rr\areas\1\7
-
-
- Source Files\levels\rr\areas\1\7
-
-
- Source Files\levels\rr\areas\1\8
-
-
- Source Files\levels\rr\areas\1\8
-
-
- Source Files\levels\rr\areas\1\9
-
-
- Source Files\levels\rr\areas\1\9
-
-
- Source Files\levels\rr\areas\1
-
-
- Source Files\levels\rr\areas\1
-
-
- Source Files\levels\rr\areas\1
-
-
- Source Files\levels\rr\areas\1
-
-
- Source Files\levels\rr\cruiser_wing
-
-
- Source Files\levels\rr\cruiser_wing
-
-
- Source Files\levels\rr\donut_block
-
-
- Source Files\levels\rr\donut_block
-
-
- Source Files\levels\rr\donut_block
-
-
- Source Files\levels\rr\donut_block
-
-
- Source Files\levels\rr\elevator_platform
-
-
- Source Files\levels\rr\elevator_platform
-
-
- Source Files\levels\rr\elevator_platform
-
-
- Source Files\levels\rr\flying_carpet
-
-
- Source Files\levels\rr\flying_carpet
-
-
- Source Files\levels\rr\flying_carpet
-
Source Files\levels\rr
-
- Source Files\levels\rr\l_platform
-
-
- Source Files\levels\rr\l_platform
-
-
- Source Files\levels\rr\l_platform
-
Source Files\levels\rr
-
- Source Files\levels\rr\octagonal_platform
-
-
- Source Files\levels\rr\octagonal_platform
-
-
- Source Files\levels\rr\octagonal_platform
-
-
- Source Files\levels\rr\pyramid_platform
-
-
- Source Files\levels\rr\pyramid_platform
-
-
- Source Files\levels\rr\pyramid_platform
-
-
- Source Files\levels\rr\rotating_bridge_platform
-
-
- Source Files\levels\rr\rotating_bridge_platform
-
-
- Source Files\levels\rr\rotating_bridge_platform
-
Source Files\levels\rr
-
- Source Files\levels\rr\seesaw_platform
-
-
- Source Files\levels\rr\seesaw_platform
-
-
- Source Files\levels\rr\seesaw_platform
-
-
- Source Files\levels\rr\sliding_platform
-
-
- Source Files\levels\rr\sliding_platform
-
-
- Source Files\levels\rr\sliding_platform
-
-
- Source Files\levels\rr\swinging_platform
-
-
- Source Files\levels\rr\swinging_platform
-
-
- Source Files\levels\rr\swinging_platform
-
-
- Source Files\levels\rr
-
-
- Source Files\levels\rr\tricky_triangles_1
-
-
- Source Files\levels\rr\tricky_triangles_1
-
-
- Source Files\levels\rr\tricky_triangles_1
-
-
- Source Files\levels\rr\tricky_triangles_2
-
-
- Source Files\levels\rr\tricky_triangles_2
-
-
- Source Files\levels\rr\tricky_triangles_2
-
-
- Source Files\levels\rr\tricky_triangles_3
-
-
- Source Files\levels\rr\tricky_triangles_3
-
-
- Source Files\levels\rr\tricky_triangles_3
-
-
- Source Files\levels\rr\tricky_triangles_4
-
-
- Source Files\levels\rr\tricky_triangles_4
-
-
- Source Files\levels\rr\tricky_triangles_4
-
-
- Source Files\levels\rr\tricky_triangles_5
-
-
- Source Files\levels\rr\tricky_triangles_5
-
-
- Source Files\levels\rr\tricky_triangles_5
-
-
- Source Files\levels\sa\areas\1\1
-
-
- Source Files\levels\sa\areas\1\2
-
-
- Source Files\levels\sa\areas\1
-
-
- Source Files\levels\sa\areas\1
-
-
- Source Files\levels\sa\areas\1
-
Source Files\levels\sa
@@ -12519,66 +3900,9 @@
Source Files\levels\sa
-
- Source Files\levels\sa
-
Source Files\levels
-
- Source Files\levels\sl\areas\1\1
-
-
- Source Files\levels\sl\areas\1\2
-
-
- Source Files\levels\sl\areas\1\3
-
-
- Source Files\levels\sl\areas\1\4
-
-
- Source Files\levels\sl\areas\1\5
-
-
- Source Files\levels\sl\areas\1\6
-
-
- Source Files\levels\sl\areas\1\7
-
-
- Source Files\levels\sl\areas\1
-
-
- Source Files\levels\sl\areas\1
-
-
- Source Files\levels\sl\areas\1
-
-
- Source Files\levels\sl\areas\1
-
-
- Source Files\levels\sl\areas\2\1
-
-
- Source Files\levels\sl\areas\2\2
-
-
- Source Files\levels\sl\areas\2\3
-
-
- Source Files\levels\sl\areas\2\4
-
-
- Source Files\levels\sl\areas\2
-
-
- Source Files\levels\sl\areas\2
-
-
- Source Files\levels\sl\areas\2
-
Source Files\levels\sl
@@ -12588,258 +3912,15 @@
Source Files\levels\sl
-
- Source Files\levels\sl\snow_mound
-
-
- Source Files\levels\sl\snow_mound
-
-
- Source Files\levels\sl\snow_mound
-
-
- Source Files\levels\sl
-
-
- Source Files\levels\sl\unused_cracked_ice
-
-
- Source Files\levels\sl\unused_cracked_ice
-
-
- Source Files\levels\sl\unused_cracked_ice
-
-
- Source Files\levels\sl\unused_ice_shard
-
-
- Source Files\levels\sl\unused_ice_shard
-
-
- Source Files\levels\ssl\areas\1\1
-
-
- Source Files\levels\ssl\areas\1\2
-
-
- Source Files\levels\ssl\areas\1\3
-
-
- Source Files\levels\ssl\areas\1\4
-
-
- Source Files\levels\ssl\areas\1\5
-
-
- Source Files\levels\ssl\areas\1
-
-
- Source Files\levels\ssl\areas\1
-
-
- Source Files\levels\ssl\areas\1
-
-
- Source Files\levels\ssl\areas\1
-
-
- Source Files\levels\ssl\areas\2\1
-
-
- Source Files\levels\ssl\areas\2\2
-
-
- Source Files\levels\ssl\areas\2\3
-
-
- Source Files\levels\ssl\areas\2\4
-
-
- Source Files\levels\ssl\areas\2\4
-
-
- Source Files\levels\ssl\areas\2
-
-
- Source Files\levels\ssl\areas\2
-
-
- Source Files\levels\ssl\areas\2
-
-
- Source Files\levels\ssl\areas\2
-
-
- Source Files\levels\ssl\areas\3\1
-
-
- Source Files\levels\ssl\areas\3\2
-
-
- Source Files\levels\ssl\areas\3
-
-
- Source Files\levels\ssl\areas\3
-
-
- Source Files\levels\ssl\areas\3
-
-
- Source Files\levels\ssl\eyerok_col
-
-
- Source Files\levels\ssl\eyerok_col
-
-
- Source Files\levels\ssl\eyerok_col
-
Source Files\levels\ssl
-
- Source Files\levels\ssl\grindel
-
-
- Source Files\levels\ssl\grindel
-
-
- Source Files\levels\ssl\grindel
-
Source Files\levels\ssl
-
- Source Files\levels\ssl\moving_pyramid_wall
-
-
- Source Files\levels\ssl\moving_pyramid_wall
-
-
- Source Files\levels\ssl\moving_pyramid_wall
-
-
- Source Files\levels\ssl\pyramid_elevator
-
-
- Source Files\levels\ssl\pyramid_elevator
-
-
- Source Files\levels\ssl\pyramid_elevator
-
-
- Source Files\levels\ssl\pyramid_top
-
-
- Source Files\levels\ssl\pyramid_top
-
-
- Source Files\levels\ssl\pyramid_top
-
Source Files\levels\ssl
-
- Source Files\levels\ssl\spindel
-
-
- Source Files\levels\ssl\spindel
-
-
- Source Files\levels\ssl\spindel
-
-
- Source Files\levels\ssl
-
-
- Source Files\levels\ssl\tox_box
-
-
- Source Files\levels\ssl\tox_box
-
-
- Source Files\levels\ssl\tox_box
-
-
- Source Files\levels\thi\areas\1\1
-
-
- Source Files\levels\thi\areas\1\2
-
-
- Source Files\levels\thi\areas\1\3
-
-
- Source Files\levels\thi\areas\1\4
-
-
- Source Files\levels\thi\areas\1\5
-
-
- Source Files\levels\thi\areas\1\6
-
-
- Source Files\levels\thi\areas\1\6
-
-
- Source Files\levels\thi\areas\1\6
-
-
- Source Files\levels\thi\areas\1\7
-
-
- Source Files\levels\thi\areas\1\7
-
-
- Source Files\levels\thi\areas\1
-
-
- Source Files\levels\thi\areas\1
-
-
- Source Files\levels\thi\areas\1
-
-
- Source Files\levels\thi\areas\1
-
-
- Source Files\levels\thi\areas\1
-
-
- Source Files\levels\thi\areas\2\1
-
-
- Source Files\levels\thi\areas\2
-
-
- Source Files\levels\thi\areas\2
-
-
- Source Files\levels\thi\areas\2
-
-
- Source Files\levels\thi\areas\2
-
-
- Source Files\levels\thi\areas\3\1
-
-
- Source Files\levels\thi\areas\3\2
-
-
- Source Files\levels\thi\areas\3\3
-
-
- Source Files\levels\thi\areas\3\4
-
-
- Source Files\levels\thi\areas\3
-
-
- Source Files\levels\thi\areas\3
-
-
- Source Files\levels\thi\areas\3
-
Source Files\levels\thi
@@ -12849,36 +3930,6 @@
Source Files\levels\thi
-
- Source Files\levels\thi
-
-
- Source Files\levels\totwc\areas\1\1
-
-
- Source Files\levels\totwc\areas\1\2
-
-
- Source Files\levels\totwc\areas\1\3
-
-
- Source Files\levels\totwc\areas\1
-
-
- Source Files\levels\totwc\areas\1
-
-
- Source Files\levels\totwc\areas\1
-
-
- Source Files\levels\totwc\cloud
-
-
- Source Files\levels\totwc\cloud
-
-
- Source Files\levels\totwc\cloud
-
Source Files\levels\totwc
@@ -12888,474 +3939,24 @@
Source Files\levels\totwc
-
- Source Files\levels\totwc
-
-
- Source Files\levels\ttc\areas\1\1
-
-
- Source Files\levels\ttc\areas\1\2
-
-
- Source Files\levels\ttc\areas\1\3
-
-
- Source Files\levels\ttc\areas\1
-
-
- Source Files\levels\ttc\areas\1
-
-
- Source Files\levels\ttc\areas\1
-
-
- Source Files\levels\ttc\areas\1
-
-
- Source Files\levels\ttc\clock_hand
-
-
- Source Files\levels\ttc\clock_hand
-
-
- Source Files\levels\ttc\clock_hand
-
-
- Source Files\levels\ttc\elevator_platform
-
-
- Source Files\levels\ttc\elevator_platform
-
-
- Source Files\levels\ttc\elevator_platform
-
Source Files\levels\ttc
-
- Source Files\levels\ttc\large_gear
-
-
- Source Files\levels\ttc\large_gear
-
-
- Source Files\levels\ttc\large_gear
-
-
- Source Files\levels\ttc\large_treadmill
-
-
- Source Files\levels\ttc\large_treadmill
-
-
- Source Files\levels\ttc\large_treadmill
-
Source Files\levels\ttc
-
- Source Files\levels\ttc\pendulum
-
-
- Source Files\levels\ttc\pendulum
-
-
- Source Files\levels\ttc\pendulum
-
-
- Source Files\levels\ttc\pit_block
-
-
- Source Files\levels\ttc\pit_block
-
-
- Source Files\levels\ttc\pit_block
-
-
- Source Files\levels\ttc\pit_block_2
-
-
- Source Files\levels\ttc\pit_block_2
-
-
- Source Files\levels\ttc\pit_block_2
-
-
- Source Files\levels\ttc\push_block
-
-
- Source Files\levels\ttc\push_block
-
-
- Source Files\levels\ttc\push_block
-
-
- Source Files\levels\ttc\rotating_cube
-
-
- Source Files\levels\ttc\rotating_cube
-
-
- Source Files\levels\ttc\rotating_cube
-
-
- Source Files\levels\ttc\rotating_hexagon
-
-
- Source Files\levels\ttc\rotating_hexagon
-
-
- Source Files\levels\ttc\rotating_hexagon
-
-
- Source Files\levels\ttc\rotating_prism
-
-
- Source Files\levels\ttc\rotating_prism
-
-
- Source Files\levels\ttc\rotating_prism
-
-
- Source Files\levels\ttc\rotating_triangle
-
-
- Source Files\levels\ttc\rotating_triangle
-
-
- Source Files\levels\ttc\rotating_triangle
-
Source Files\levels\ttc
-
- Source Files\levels\ttc\small_gear
-
-
- Source Files\levels\ttc\small_gear
-
-
- Source Files\levels\ttc\small_gear
-
-
- Source Files\levels\ttc\small_treadmill
-
-
- Source Files\levels\ttc\small_treadmill
-
-
- Source Files\levels\ttc\small_treadmill
-
-
- Source Files\levels\ttc\spinner
-
-
- Source Files\levels\ttc\spinner
-
-
- Source Files\levels\ttc\spinner
-
-
- Source Files\levels\ttc
-
-
- Source Files\levels\ttm\areas\1\1
-
-
- Source Files\levels\ttm\areas\1\10
-
-
- Source Files\levels\ttm\areas\1\10
-
-
- Source Files\levels\ttm\areas\1\11
-
-
- Source Files\levels\ttm\areas\1\11
-
-
- Source Files\levels\ttm\areas\1\12
-
-
- Source Files\levels\ttm\areas\1\12
-
-
- Source Files\levels\ttm\areas\1\13
-
-
- Source Files\levels\ttm\areas\1\13
-
-
- Source Files\levels\ttm\areas\1\14
-
-
- Source Files\levels\ttm\areas\1\14
-
-
- Source Files\levels\ttm\areas\1\15
-
-
- Source Files\levels\ttm\areas\1\15
-
-
- Source Files\levels\ttm\areas\1\16
-
-
- Source Files\levels\ttm\areas\1\16
-
-
- Source Files\levels\ttm\areas\1\16
-
-
- Source Files\levels\ttm\areas\1\17
-
-
- Source Files\levels\ttm\areas\1\17
-
-
- Source Files\levels\ttm\areas\1\17
-
-
- Source Files\levels\ttm\areas\1\18
-
-
- Source Files\levels\ttm\areas\1\18
-
-
- Source Files\levels\ttm\areas\1\18
-
-
- Source Files\levels\ttm\areas\1\19
-
-
- Source Files\levels\ttm\areas\1\19
-
-
- Source Files\levels\ttm\areas\1\2
-
-
- Source Files\levels\ttm\areas\1\20
-
-
- Source Files\levels\ttm\areas\1\20
-
-
- Source Files\levels\ttm\areas\1\21
-
-
- Source Files\levels\ttm\areas\1\21
-
-
- Source Files\levels\ttm\areas\1\21
-
-
- Source Files\levels\ttm\areas\1\3
-
-
- Source Files\levels\ttm\areas\1\3
-
-
- Source Files\levels\ttm\areas\1\3
-
-
- Source Files\levels\ttm\areas\1\4
-
-
- Source Files\levels\ttm\areas\1\4
-
-
- Source Files\levels\ttm\areas\1\4
-
-
- Source Files\levels\ttm\areas\1\5
-
-
- Source Files\levels\ttm\areas\1\5
-
-
- Source Files\levels\ttm\areas\1\5
-
-
- Source Files\levels\ttm\areas\1\6
-
-
- Source Files\levels\ttm\areas\1\6
-
-
- Source Files\levels\ttm\areas\1\6
-
-
- Source Files\levels\ttm\areas\1\7
-
-
- Source Files\levels\ttm\areas\1\7
-
-
- Source Files\levels\ttm\areas\1\8
-
-
- Source Files\levels\ttm\areas\1\8
-
-
- Source Files\levels\ttm\areas\1\9
-
-
- Source Files\levels\ttm\areas\1\9
-
-
- Source Files\levels\ttm\areas\1
-
-
- Source Files\levels\ttm\areas\1
-
-
- Source Files\levels\ttm\areas\1
-
-
- Source Files\levels\ttm\areas\1
-
-
- Source Files\levels\ttm\areas\1
-
-
- Source Files\levels\ttm\areas\1
-
-
- Source Files\levels\ttm\areas\2\1
-
-
- Source Files\levels\ttm\areas\2\2
-
-
- Source Files\levels\ttm\areas\2
-
-
- Source Files\levels\ttm\areas\2
-
-
- Source Files\levels\ttm\areas\2
-
-
- Source Files\levels\ttm\areas\3\1
-
-
- Source Files\levels\ttm\areas\3\2
-
-
- Source Files\levels\ttm\areas\3\3
-
-
- Source Files\levels\ttm\areas\3
-
-
- Source Files\levels\ttm\areas\3
-
-
- Source Files\levels\ttm\areas\3
-
-
- Source Files\levels\ttm\areas\4\1
-
-
- Source Files\levels\ttm\areas\4\2
-
-
- Source Files\levels\ttm\areas\4
-
-
- Source Files\levels\ttm\areas\4
-
-
- Source Files\levels\ttm\areas\4
-
-
- Source Files\levels\ttm\blue_smiley
-
-
- Source Files\levels\ttm\blue_smiley
-
Source Files\levels\ttm
Source Files\levels\ttm
-
- Source Files\levels\ttm\moon_smiley
-
-
- Source Files\levels\ttm\moon_smiley
-
-
- Source Files\levels\ttm\rolling_log
-
-
- Source Files\levels\ttm\rolling_log
-
-
- Source Files\levels\ttm\rolling_log
-
Source Files\levels\ttm
-
- Source Files\levels\ttm\slide_exit_podium
-
-
- Source Files\levels\ttm\slide_exit_podium
-
-
- Source Files\levels\ttm\slide_exit_podium
-
-
- Source Files\levels\ttm\star_cage
-
-
- Source Files\levels\ttm\star_cage
-
-
- Source Files\levels\ttm\star_cage
-
-
- Source Files\levels\ttm\star_cage
-
-
- Source Files\levels\ttm\star_smiley
-
-
- Source Files\levels\ttm\star_smiley
-
-
- Source Files\levels\ttm
-
-
- Source Files\levels\ttm\yellow_smiley
-
-
- Source Files\levels\ttm\yellow_smiley
-
-
- Source Files\levels\vcutm\areas\1\1
-
-
- Source Files\levels\vcutm\areas\1\2
-
-
- Source Files\levels\vcutm\areas\1\3
-
-
- Source Files\levels\vcutm\areas\1\4
-
-
- Source Files\levels\vcutm\areas\1
-
-
- Source Files\levels\vcutm\areas\1
-
-
- Source Files\levels\vcutm\areas\1
-
Source Files\levels\vcutm
@@ -13365,414 +3966,24 @@
Source Files\levels\vcutm
-
- Source Files\levels\vcutm\seesaw
-
-
- Source Files\levels\vcutm\seesaw
-
-
- Source Files\levels\vcutm\seesaw
-
-
- Source Files\levels\vcutm
-
-
- Source Files\levels\wdw\areas\1\1
-
-
- Source Files\levels\wdw\areas\1\2
-
-
- Source Files\levels\wdw\areas\1\3
-
-
- Source Files\levels\wdw\areas\1
-
-
- Source Files\levels\wdw\areas\1
-
-
- Source Files\levels\wdw\areas\1
-
-
- Source Files\levels\wdw\areas\1
-
-
- Source Files\levels\wdw\areas\2\1
-
-
- Source Files\levels\wdw\areas\2\2
-
-
- Source Files\levels\wdw\areas\2
-
-
- Source Files\levels\wdw\areas\2
-
-
- Source Files\levels\wdw\areas\2
-
-
- Source Files\levels\wdw\areas\2
-
-
- Source Files\levels\wdw\arrow_lift
-
-
- Source Files\levels\wdw\arrow_lift
-
-
- Source Files\levels\wdw\arrow_lift
-
-
- Source Files\levels\wdw\double_arrows
-
-
- Source Files\levels\wdw\express_elevator
-
-
- Source Files\levels\wdw\express_elevator
-
-
- Source Files\levels\wdw\express_elevator
-
Source Files\levels\wdw
-
- Source Files\levels\wdw\hidden_platform
-
-
- Source Files\levels\wdw\hidden_platform
-
-
- Source Files\levels\wdw\hidden_platform
-
Source Files\levels\wdw
-
- Source Files\levels\wdw\rectangular_floating_platform
-
-
- Source Files\levels\wdw\rectangular_floating_platform
-
-
- Source Files\levels\wdw\rectangular_floating_platform
-
-
- Source Files\levels\wdw\rotating_platform
-
-
- Source Files\levels\wdw\rotating_platform
-
-
- Source Files\levels\wdw\rotating_platform
-
Source Files\levels\wdw
-
- Source Files\levels\wdw\square_floating_platform
-
-
- Source Files\levels\wdw\square_floating_platform
-
-
- Source Files\levels\wdw\square_floating_platform
-
-
- Source Files\levels\wdw
-
-
- Source Files\levels\wdw\water_level_diamond
-
-
- Source Files\levels\wdw\water_level_diamond
-
-
- Source Files\levels\wdw\water_level_diamond
-
-
- Source Files\levels\wf\areas\1\1
-
-
- Source Files\levels\wf\areas\1\10
-
-
- Source Files\levels\wf\areas\1\10
-
-
- Source Files\levels\wf\areas\1\10
-
-
- Source Files\levels\wf\areas\1\10
-
-
- Source Files\levels\wf\areas\1\11
-
-
- Source Files\levels\wf\areas\1\11
-
-
- Source Files\levels\wf\areas\1\11
-
-
- Source Files\levels\wf\areas\1\12
-
-
- Source Files\levels\wf\areas\1\12
-
-
- Source Files\levels\wf\areas\1\12
-
-
- Source Files\levels\wf\areas\1\13
-
-
- Source Files\levels\wf\areas\1\13
-
-
- Source Files\levels\wf\areas\1\14
-
-
- Source Files\levels\wf\areas\1\14
-
-
- Source Files\levels\wf\areas\1\15
-
-
- Source Files\levels\wf\areas\1\15
-
-
- Source Files\levels\wf\areas\1\15
-
-
- Source Files\levels\wf\areas\1\15
-
-
- Source Files\levels\wf\areas\1\16
-
-
- Source Files\levels\wf\areas\1\16
-
-
- Source Files\levels\wf\areas\1\17
-
-
- Source Files\levels\wf\areas\1\17
-
-
- Source Files\levels\wf\areas\1\18
-
-
- Source Files\levels\wf\areas\1\18
-
-
- Source Files\levels\wf\areas\1\19
-
-
- Source Files\levels\wf\areas\1\19
-
-
- Source Files\levels\wf\areas\1\2
-
-
- Source Files\levels\wf\areas\1\3
-
-
- Source Files\levels\wf\areas\1\4
-
-
- Source Files\levels\wf\areas\1\5
-
-
- Source Files\levels\wf\areas\1\5
-
-
- Source Files\levels\wf\areas\1\5
-
-
- Source Files\levels\wf\areas\1\6
-
-
- Source Files\levels\wf\areas\1\6
-
-
- Source Files\levels\wf\areas\1\6
-
-
- Source Files\levels\wf\areas\1\7
-
-
- Source Files\levels\wf\areas\1\7
-
-
- Source Files\levels\wf\areas\1\8
-
-
- Source Files\levels\wf\areas\1\8
-
-
- Source Files\levels\wf\areas\1\9
-
-
- Source Files\levels\wf\areas\1\9
-
-
- Source Files\levels\wf\areas\1
-
-
- Source Files\levels\wf\areas\1
-
-
- Source Files\levels\wf\areas\1
-
-
- Source Files\levels\wf\areas\1
-
-
- Source Files\levels\wf\beta_extending_platform
-
-
- Source Files\levels\wf\beta_extending_platform
-
-
- Source Files\levels\wf\beta_extending_platform
-
-
- Source Files\levels\wf\breakable_wall_left
-
-
- Source Files\levels\wf\breakable_wall_left
-
-
- Source Files\levels\wf\breakable_wall_left
-
-
- Source Files\levels\wf\breakable_wall_right
-
-
- Source Files\levels\wf\breakable_wall_right
-
-
- Source Files\levels\wf\breakable_wall_right
-
-
- Source Files\levels\wf\extending_platform
-
-
- Source Files\levels\wf\extending_platform
-
-
- Source Files\levels\wf\extending_platform
-
Source Files\levels\wf
-
- Source Files\levels\wf\kickable_board
-
-
- Source Files\levels\wf\kickable_board
-
-
- Source Files\levels\wf\kickable_board
-
-
- Source Files\levels\wf\kickable_board
-
-
- Source Files\levels\wf\large_bomp
-
-
- Source Files\levels\wf\large_bomp
-
-
- Source Files\levels\wf\large_bomp
-
Source Files\levels\wf
-
- Source Files\levels\wf\rotating_platform
-
-
- Source Files\levels\wf\rotating_wooden_platform
-
-
- Source Files\levels\wf\rotating_wooden_platform
-
-
- Source Files\levels\wf\rotating_wooden_platform
-
-
- Source Files\levels\wf\rotating_wooden_platform
-
Source Files\levels\wf
-
- Source Files\levels\wf\sliding_platform
-
-
- Source Files\levels\wf\sliding_platform
-
-
- Source Files\levels\wf\sliding_platform
-
-
- Source Files\levels\wf\small_bomp
-
-
- Source Files\levels\wf\small_bomp
-
-
- Source Files\levels\wf\small_bomp
-
-
- Source Files\levels\wf\small_bomp
-
-
- Source Files\levels\wf
-
-
- Source Files\levels\wf\tower_door
-
-
- Source Files\levels\wf\tower_door
-
-
- Source Files\levels\wf\tower_door
-
-
- Source Files\levels\wf\tumbling_bridge_far
-
-
- Source Files\levels\wf\tumbling_bridge_far
-
-
- Source Files\levels\wf\tumbling_bridge_near
-
-
- Source Files\levels\wf\tumbling_bridge_near
-
-
- Source Files\levels\wf\tumbling_bridge_near
-
-
- Source Files\levels\wmotr\areas\1
-
-
- Source Files\levels\wmotr\areas\1
-
-
- Source Files\levels\wmotr\areas\1
-
-
- Source Files\levels\wmotr\areas\1
-
Source Files\levels\wmotr
@@ -13782,9 +3993,6 @@
Source Files\levels\wmotr
-
- Source Files\levels\wmotr
-
Source Files\lib\src
@@ -13890,678 +4098,6 @@
Source Files\src\game
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
-
- Source Files\src\game\behaviors
-
Source Files\src\game
@@ -14874,12 +4410,6 @@
Source Files\src\pc
-
- Source Files\text
-
-
- Source Files\text
-
Source Files\tools
@@ -14970,9 +4500,6 @@
Source Files\tools
-
- Source Files\actors\mario
-
Source Files\src\pc\network
@@ -15009,15 +4536,6 @@
Source Files\src\pc\network\packets
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
Source Files\src\pc\network\packets
@@ -15309,6 +4827,12 @@
Source Files\src\pc\lua
+
+ Source Files\src\pc\controller
+
+
+ Source Files\src\game
+
@@ -16408,9 +5932,6 @@
Header Files\actors
-
- Source Files\src\pc\djui\panel
-
Source Files\src\pc\lua
@@ -16426,5 +5947,14 @@
Source Files\src\pc\lua
+
+ Source Files\src\pc\controller
+
+
+ Source Files\src\pc\djui\panel
+
+
+ Source Files\src\game
+
-
\ No newline at end of file
+
diff --git a/developer/dummy.sh b/developer/dummy.sh
new file mode 100644
index 00000000..93370cd5
--- /dev/null
+++ b/developer/dummy.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+make RENDER_API=DUMMY AUDIO_API=DUMMY CONTROLLER_API= DEBUG=1 DEVELOPMENT=1 STRICT=1 -j && ./build/us_pc/sm64.us.f3dex2e.exe --server 7777 --savepath ./build/us_pc/
diff --git a/developer/sdl1.sh b/developer/sdl1.sh
new file mode 100644
index 00000000..b83c4046
--- /dev/null
+++ b/developer/sdl1.sh
@@ -0,0 +1 @@
+make RENDER_API=GL WINDOW_API=SDL1 AUDIO_API=SDL1 CONTROLLER_API=SDL1 BETTERCAMERA=1 NODRAWINGDISTANCE=1 DEBUG=1 IMMEDIATELOAD=1 DEVELOPMENT=1 && ./build/us_pc/sm64.us.f3dex2e.exe
diff --git a/src/game/ingame_menu.c b/src/game/ingame_menu.c
index 7378e965..477adfab 100644
--- a/src/game/ingame_menu.c
+++ b/src/game/ingame_menu.c
@@ -2493,6 +2493,9 @@ void render_pause_camera_options(s16 x, s16 y, s8 *index, s16 xIndex) {
#endif
void render_pause_course_options(s16 x, s16 y, s8 *index, s16 yIndex) {
+ u8 TEXT_EXIT_TO_CASTLE[15] = { DIALOG_CHAR_TERMINATOR };
+ str_ascii_to_dialog("EXIT TO CASTLE", TEXT_EXIT_TO_CASTLE, 15);
+
#ifdef VERSION_EU
u8 textContinue[][10] = {
{ TEXT_CONTINUE },
@@ -2519,16 +2522,17 @@ void render_pause_course_options(s16 x, s16 y, s8 *index, s16 yIndex) {
u8 textCameraAngleR[] = { TEXT_CAMERA_ANGLE_R };
#endif
- handle_menu_scrolling(MENU_SCROLL_VERTICAL, index, 1, 3);
+ handle_menu_scrolling(MENU_SCROLL_VERTICAL, index, 1, 4);
gSPDisplayList(gDisplayListHead++, dl_ia_text_begin);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, gDialogTextAlpha);
print_generic_string(x + 10, y - 2, textContinue);
print_generic_string(x + 10, y - 17, textExitCourse);
+ print_generic_string(x + 10, y - 32, TEXT_EXIT_TO_CASTLE);
- if (index[0] != 3) {
- print_generic_string(x + 10, y - 33, textCameraAngleR);
+ if (index[0] != 4) {
+ print_generic_string(x + 10, y - 47, textCameraAngleR);
gSPDisplayList(gDisplayListHead++, dl_ia_text_end);
create_dl_translation_matrix(MENU_MTX_PUSH, x - X_VAL8, (y - ((index[0] - 1) * yIndex)) - Y_VAL8, 0);
@@ -2537,7 +2541,7 @@ void render_pause_course_options(s16 x, s16 y, s8 *index, s16 yIndex) {
gSPDisplayList(gDisplayListHead++, dl_draw_triangle);
gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
} else {
- render_pause_camera_options(x - 42, y - 42, &gDialogCameraAngleIndex, 110);
+ render_pause_camera_options(x - 42, y - 57, &gDialogCameraAngleIndex, 110);
}
}
@@ -2775,7 +2779,7 @@ s16 render_pause_courses_and_castle(void) {
gDialogBoxState = DIALOG_STATE_OPENING;
gMenuMode = -1;
- if (gDialogLineNum == 2) {
+ if (gDialogLineNum == 2 || gDialogLineNum == 3) {
num = gDialogLineNum;
} else {
num = 1;
diff --git a/src/game/level_info.c b/src/game/level_info.c
new file mode 100644
index 00000000..51e40dd8
--- /dev/null
+++ b/src/game/level_info.c
@@ -0,0 +1,136 @@
+#include
+#include
+#include "types.h"
+#include "level_info.h"
+#include "game/memory.h"
+
+extern u8 seg2_course_name_table[];
+
+static const char charset[0xFF + 1] = {
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 7
+ ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', // 15
+ 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', // 23
+ 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', // 31
+ 'w', 'x', 'y', 'z', ' ', ' ', ' ', ' ', // 39
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 49
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 55
+ ' ', ' ', ' ', ' ', ' ', ' ', '\'', ' ', // 63
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 71
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 79
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 87
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 95
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 103
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ',', // 111
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 119
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 127
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 135
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 143
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 151
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', '-', // 159
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 167
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 175
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 183
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 192
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 199
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 207
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 215
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 223
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 231
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 239
+ ' ', ' ', '!', ' ', ' ', ' ', ' ', ' ', // 247
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' // 255
+};
+
+static void convert_string(const u8* str, char* output) {
+ s32 strPos = 0;
+ bool capitalizeChar = true;
+
+ while (str[strPos] != 0xFF) {
+ if (str[strPos] < 0xFF) {
+ output[strPos] = charset[str[strPos]];
+
+ // if the char is a letter we can capatalize it
+ if (capitalizeChar && 0x0A <= str[strPos] && str[strPos] <= 0x23) {
+ output[strPos] -= ('a' - 'A');
+ capitalizeChar = false;
+ }
+
+ }
+ else {
+ output[strPos] = ' ';
+ }
+
+ // decide if the next character should be capitalized
+ switch (output[strPos]) {
+ case ' ':
+ //if (str[strPos] != 158)
+ //fprintf(stdout, "Unknown Character (%i)\n", str[strPos]); // inform that an unknown char was found
+ case '-':
+ capitalizeChar = true;
+ break;
+ default:
+ capitalizeChar = false;
+ break;
+ }
+
+ strPos++;
+ }
+
+ output[strPos] = '\0';
+}
+
+const char* get_level_name(s16 courseNum, s16 levelNum, s16 areaIndex) {
+ static char stage[188];
+ // overrides for castle locations
+ if (courseNum == 0 && levelNum == 16) {
+ strcpy(stage, "Castle Grounds");
+ return stage;
+ }
+ if (courseNum == 0 && levelNum == 6) {
+ if (areaIndex == 1) {
+ strcpy(stage, "Castle Main Floor");
+ return stage;
+ }
+ else if (areaIndex == 2) {
+ strcpy(stage, "Castle Upper Floor");
+ return stage;
+ }
+ else if (areaIndex == 3) {
+ strcpy(stage, "Castle Basement");
+ return stage;
+ }
+ }
+ if (courseNum == 0 && levelNum == 26) {
+ strcpy(stage, "Castle Courtyard");
+ return stage;
+ }
+
+ // If we are in in Course 0 we are in the castle which doesn't have a string
+ if (courseNum) {
+ void** courseNameTbl;
+
+#ifndef VERSION_EU
+ courseNameTbl = segmented_to_virtual(seg2_course_name_table);
+#else
+ switch (gInGameLanguage) {
+ case LANGUAGE_ENGLISH:
+ courseNameTbl = segmented_to_virtual(course_name_table_eu_en);
+ break;
+ case LANGUAGE_FRENCH:
+ courseNameTbl = segmented_to_virtual(course_name_table_eu_fr);
+ break;
+ case LANGUAGE_GERMAN:
+ courseNameTbl = segmented_to_virtual(course_name_table_eu_de);
+ break;
+ }
+#endif
+ u8* courseName = segmented_to_virtual(courseNameTbl[courseNum - 1]);
+
+ convert_string(&courseName[3], stage);
+ }
+ else {
+ strcpy(stage, "Peach's Castle");
+ }
+
+ return stage;
+}
diff --git a/src/game/level_info.h b/src/game/level_info.h
new file mode 100644
index 00000000..2c81e5ad
--- /dev/null
+++ b/src/game/level_info.h
@@ -0,0 +1,8 @@
+#ifndef LEVEL_INFO_H
+#define LEVEL_INFO_H
+
+#include
+
+const char* get_level_name(s16 courseNum, s16 levelNum, s16 areaIndex);
+
+#endif // LEVEL_INFO_H
diff --git a/src/game/level_update.c b/src/game/level_update.c
index 2641b100..9a10e5a1 100644
--- a/src/game/level_update.c
+++ b/src/game/level_update.c
@@ -826,6 +826,15 @@ s16 level_trigger_warp(struct MarioState *m, s32 warpOp) {
play_sound(SOUND_MENU_BOWSER_LAUGH, gDefaultSoundArgs);
break;
+ case WARP_OP_EXIT:
+ sSourceWarpNodeId = WARP_NODE_WARP_FLOOR;
+ if (area_get_warp_node(sSourceWarpNodeId) == NULL) {
+ sSourceWarpNodeId = WARP_NODE_DEATH;
+ }
+ sDelayedWarpTimer = 20;
+ play_transition(WARP_TRANSITION_FADE_INTO_CIRCLE, 0x14, 0x00, 0x00, 0x00);
+ break;
+
case WARP_OP_WARP_FLOOR:
sSourceWarpNodeId = WARP_NODE_WARP_FLOOR;
if (area_get_warp_node(sSourceWarpNodeId) == NULL) {
@@ -1127,6 +1136,9 @@ s32 play_mode_paused(void) {
gCameraMovementFlags &= ~CAM_MOVE_PAUSE_SCREEN;
set_play_mode(PLAY_MODE_NORMAL);
} else if (gPauseScreenMode == 2) {
+ level_trigger_warp(&gMarioStates[0], WARP_OP_EXIT);
+ set_play_mode(PLAY_MODE_NORMAL);
+ } else if (gPauseScreenMode == 3) {
// Exit level
if (gDebugLevelSelect) {
fade_into_special_warp(-9, 1);
@@ -1136,12 +1148,12 @@ s32 play_mode_paused(void) {
gSavedCourseNum = COURSE_NONE;
}
set_play_mode(PLAY_MODE_CHANGE_LEVEL);
- } else if (gPauseScreenMode == 3) {
- // We should only be getting "int 3" to here
+ } /* else if (gPauseScreenMode == 4) {
+ // We should only be getting "int 4" to here
initiate_warp(LEVEL_CASTLE, 1, 0x1F, 0);
fade_into_special_warp(0, 0);
game_exit();
- }
+ }*/
gCameraMovementFlags &= ~CAM_MOVE_PAUSE_SCREEN;
return 0;
diff --git a/src/game/level_update.h b/src/game/level_update.h
index bdff2e12..3ae895d1 100644
--- a/src/game/level_update.h
+++ b/src/game/level_update.h
@@ -27,6 +27,7 @@
#define WARP_OP_CREDITS_NEXT 0x18
#define WARP_OP_DEMO_END 0x19
#define WARP_OP_FORCE_SYNC 0x20
+#define WARP_OP_EXIT 0x21
#define WARP_OP_TRIGGERS_LEVEL_SELECT 0x10
diff --git a/src/game/obj_behaviors.c b/src/game/obj_behaviors.c
index 72562289..98b07007 100644
--- a/src/game/obj_behaviors.c
+++ b/src/game/obj_behaviors.c
@@ -518,9 +518,9 @@ s32 is_point_within_radius_of_mario(f32 x, f32 y, f32 z, s32 dist) {
u8 is_player_active(struct MarioState* m) {
if (gNetworkType == NT_NONE && m == &gMarioStates[0]) { return TRUE; }
-
if (m->action == ACT_BUBBLED) { return FALSE; }
struct NetworkPlayer* np = &gNetworkPlayers[m->playerIndex];
+ if (np == gNetworkPlayerServer && gServerSettings.headlessServer) { return FALSE; }
if (np->type != NPT_LOCAL) {
if (!np->connected) { return FALSE; }
if (gNetworkPlayerLocal == NULL) { return FALSE; }
diff --git a/src/pc/controller/controller_bind_mapping.c b/src/pc/controller/controller_bind_mapping.c
new file mode 100644
index 00000000..ab058efe
--- /dev/null
+++ b/src/pc/controller/controller_bind_mapping.c
@@ -0,0 +1,154 @@
+#ifdef HAVE_SDL2
+#include
+#else
+#include
+#endif
+
+#include "controller_bind_mapping.h"
+#include "controller_api.h"
+#include "controller_sdl.h"
+
+#if defined(CAPI_SDL1) || defined(CAPI_SDL2)
+
+static int inverted_scancode_table[512];
+static SDL_Scancode bind_to_sdl_scancode[512] = { 0 };
+
+const SDL_Scancode windows_scancode_table[] = {
+ /* 0 1 2 3 4 5 6 7 */
+ /* 8 9 A B C D E F */
+ SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_ESCAPE, SDL_SCANCODE_1, SDL_SCANCODE_2, SDL_SCANCODE_3, SDL_SCANCODE_4, SDL_SCANCODE_5, SDL_SCANCODE_6, /* 0 */
+ SDL_SCANCODE_7, SDL_SCANCODE_8, SDL_SCANCODE_9, SDL_SCANCODE_0, SDL_SCANCODE_MINUS, SDL_SCANCODE_EQUALS, SDL_SCANCODE_BACKSPACE, SDL_SCANCODE_TAB, /* 0 */
+
+ SDL_SCANCODE_Q, SDL_SCANCODE_W, SDL_SCANCODE_E, SDL_SCANCODE_R, SDL_SCANCODE_T, SDL_SCANCODE_Y, SDL_SCANCODE_U, SDL_SCANCODE_I, /* 1 */
+ SDL_SCANCODE_O, SDL_SCANCODE_P, SDL_SCANCODE_LEFTBRACKET, SDL_SCANCODE_RIGHTBRACKET, SDL_SCANCODE_RETURN, SDL_SCANCODE_LCTRL, SDL_SCANCODE_A, SDL_SCANCODE_S, /* 1 */
+
+ SDL_SCANCODE_D, SDL_SCANCODE_F, SDL_SCANCODE_G, SDL_SCANCODE_H, SDL_SCANCODE_J, SDL_SCANCODE_K, SDL_SCANCODE_L, SDL_SCANCODE_SEMICOLON, /* 2 */
+ SDL_SCANCODE_APOSTROPHE, SDL_SCANCODE_GRAVE, SDL_SCANCODE_LSHIFT, SDL_SCANCODE_BACKSLASH, SDL_SCANCODE_Z, SDL_SCANCODE_X, SDL_SCANCODE_C, SDL_SCANCODE_V, /* 2 */
+
+ SDL_SCANCODE_B, SDL_SCANCODE_N, SDL_SCANCODE_M, SDL_SCANCODE_COMMA, SDL_SCANCODE_PERIOD, SDL_SCANCODE_SLASH, SDL_SCANCODE_RSHIFT, SDL_SCANCODE_PRINTSCREEN,/* 3 */
+ SDL_SCANCODE_LALT, SDL_SCANCODE_SPACE, SDL_SCANCODE_CAPSLOCK, SDL_SCANCODE_F1, SDL_SCANCODE_F2, SDL_SCANCODE_F3, SDL_SCANCODE_F4, SDL_SCANCODE_F5, /* 3 */
+
+ SDL_SCANCODE_F6, SDL_SCANCODE_F7, SDL_SCANCODE_F8, SDL_SCANCODE_F9, SDL_SCANCODE_F10, SDL_SCANCODE_NUMLOCKCLEAR, SDL_SCANCODE_SCROLLLOCK, SDL_SCANCODE_HOME, /* 4 */
+ SDL_SCANCODE_UP, SDL_SCANCODE_PAGEUP, SDL_SCANCODE_KP_MINUS, SDL_SCANCODE_LEFT, SDL_SCANCODE_KP_5, SDL_SCANCODE_RIGHT, SDL_SCANCODE_KP_PLUS, SDL_SCANCODE_END, /* 4 */
+
+ SDL_SCANCODE_DOWN, SDL_SCANCODE_PAGEDOWN, SDL_SCANCODE_INSERT, SDL_SCANCODE_DELETE, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_NONUSBACKSLASH, SDL_SCANCODE_F11, /* 5 */
+ SDL_SCANCODE_F12, SDL_SCANCODE_PAUSE, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_LGUI, SDL_SCANCODE_RGUI, SDL_SCANCODE_APPLICATION, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, /* 5 */
+
+ SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_F13, SDL_SCANCODE_F14, SDL_SCANCODE_F15, SDL_SCANCODE_F16, /* 6 */
+ SDL_SCANCODE_F17, SDL_SCANCODE_F18, SDL_SCANCODE_F19, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, /* 6 */
+
+ SDL_SCANCODE_INTERNATIONAL2, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_INTERNATIONAL1, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, /* 7 */
+ SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_INTERNATIONAL4, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_INTERNATIONAL5, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_INTERNATIONAL3, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN /* 7 */
+};
+
+const SDL_Scancode scancode_rmapping_extended[][2] = {
+ {SDL_SCANCODE_KP_ENTER, SDL_SCANCODE_RETURN},
+ {SDL_SCANCODE_RALT, SDL_SCANCODE_LALT},
+ {SDL_SCANCODE_RCTRL, SDL_SCANCODE_LCTRL},
+ {SDL_SCANCODE_KP_DIVIDE, SDL_SCANCODE_SLASH},
+ //{SDL_SCANCODE_KP_PLUS, SDL_SCANCODE_CAPSLOCK}
+};
+
+const SDL_Scancode scancode_rmapping_nonextended[][2] = {
+ {SDL_SCANCODE_KP_7, SDL_SCANCODE_HOME},
+ {SDL_SCANCODE_KP_8, SDL_SCANCODE_UP},
+ {SDL_SCANCODE_KP_9, SDL_SCANCODE_PAGEUP},
+ {SDL_SCANCODE_KP_4, SDL_SCANCODE_LEFT},
+ {SDL_SCANCODE_KP_6, SDL_SCANCODE_RIGHT},
+ {SDL_SCANCODE_KP_1, SDL_SCANCODE_END},
+ {SDL_SCANCODE_KP_2, SDL_SCANCODE_DOWN},
+ {SDL_SCANCODE_KP_3, SDL_SCANCODE_PAGEDOWN},
+ {SDL_SCANCODE_KP_0, SDL_SCANCODE_INSERT},
+ {SDL_SCANCODE_KP_PERIOD, SDL_SCANCODE_DELETE},
+ {SDL_SCANCODE_KP_MULTIPLY, SDL_SCANCODE_PRINTSCREEN}
+};
+
+void controller_bind_init(void) {
+ for (size_t i = 0; i < sizeof(windows_scancode_table) / sizeof(SDL_Scancode); i++) {
+ inverted_scancode_table[windows_scancode_table[i]] = i;
+ }
+
+ for (size_t i = 0; i < sizeof(scancode_rmapping_extended) / sizeof(scancode_rmapping_extended[0]); i++) {
+ inverted_scancode_table[scancode_rmapping_extended[i][0]] = inverted_scancode_table[scancode_rmapping_extended[i][1]] + 0x100;
+ }
+
+ for (size_t i = 0; i < sizeof(scancode_rmapping_nonextended) / sizeof(scancode_rmapping_nonextended[0]); i++) {
+ inverted_scancode_table[scancode_rmapping_nonextended[i][0]] = inverted_scancode_table[scancode_rmapping_nonextended[i][1]];
+ inverted_scancode_table[scancode_rmapping_nonextended[i][1]] += 0x100;
+ }
+
+ for (size_t i = 0; i < 512; i++) {
+ if (inverted_scancode_table[i] >= 512) { continue; }
+ bind_to_sdl_scancode[inverted_scancode_table[i]] = i;
+ }
+
+}
+
+int translate_sdl_scancode(int scancode) {
+ if (scancode < 512) {
+ return inverted_scancode_table[scancode];
+ }
+ else {
+ return 0;
+ }
+}
+
+const char* translate_bind_to_name(int bind) {
+ static char name[11] = { 0 };
+ sprintf(name, "%04X", bind);
+
+ if (bind == VK_INVALID) { return ""; }
+
+ // mouse
+ if (bind >= VK_BASE_SDL_MOUSE) {
+ int mouse_button = (bind - VK_BASE_SDL_MOUSE);
+ if (mouse_button == 1) { return "L Mouse"; }
+ if (mouse_button == 2) { return "M Mouse"; }
+ if (mouse_button == 3) { return "R Mouse"; }
+ snprintf(name, 8, "Mouse %d", bind - VK_BASE_SDL_MOUSE);
+ return name;
+ }
+
+ // gamepad
+ if (bind >= VK_BASE_SDL_GAMEPAD) {
+ int gamepad_button = (bind - VK_BASE_SDL_GAMEPAD);
+ switch (gamepad_button) {
+ case 0: return "[A]";
+ case 1: return "[B]";
+ case 2: return "[X]";
+ case 3: return "[Y]";
+ case 4: return "[Back]";
+ case 5: return "[Guide]";
+ case 6: return "[Start]";
+ case 7: return "[L Stick]";
+ case 8: return "[R Stick]";
+ case 9: return "[L Bump]";
+ case 10: return "[R Bump]";
+ case 11: return "[DPAD Up]";
+ case 12: return "[DPAD Down]";
+ case 13: return "[DPAD Left]";
+ case 14: return "[DPAD Right]";
+ case 0x1A: return "[L Trig]";
+ case 0x1B: return "[R Trig]";
+ default: return name;
+ }
+ }
+
+ // keyboard
+ if (bind >= 512) { return name; }
+
+ SDL_Scancode sc = bind_to_sdl_scancode[bind];
+ if (sc == 0) { return name; }
+
+#ifdef HAVE_SDL2
+ const char* sname = SDL_GetScancodeName(sc);
+ if (strlen(sname) <= 9) { return sname; }
+
+ char* space = strchr(sname, ' ');
+ if (space == NULL) { return sname; }
+
+ sprintf_s(name, 10, "%c%s", sname[0], (space + 1));
+#endif
+ return name;
+}
+#endif
diff --git a/src/pc/controller/controller_bind_mapping.h b/src/pc/controller/controller_bind_mapping.h
new file mode 100644
index 00000000..211172e0
--- /dev/null
+++ b/src/pc/controller/controller_bind_mapping.h
@@ -0,0 +1,10 @@
+#ifndef CONTROLLER_BIND_MAPPING_H
+#define CONTROLLER_BIND_MAPPING_H
+
+#if defined(CAPI_SDL1) || defined(CAPI_SDL2)
+void controller_bind_init(void);
+int translate_sdl_scancode(int scancode);
+const char* translate_bind_to_name(int bind);
+#endif
+
+#endif
\ No newline at end of file
diff --git a/src/pc/controller/controller_entry_point.c b/src/pc/controller/controller_entry_point.c
index 34ca9ca0..27e0a4b7 100644
--- a/src/pc/controller/controller_entry_point.c
+++ b/src/pc/controller/controller_entry_point.c
@@ -11,6 +11,15 @@
// Analog camera movement by Pathétique (github.com/vrmiguel), y0shin and Mors
// Contribute or communicate bugs at github.com/vrmiguel/sm64-analog-camera
+// moved these from sdl controller implementations
+
+int mouse_x;
+int mouse_y;
+
+int mouse_window_buttons;
+int mouse_window_x;
+int mouse_window_y;
+
static struct ControllerAPI *controller_implementations[] = {
&controller_recorded_tas,
#if defined(CAPI_SDL2) || defined(CAPI_SDL1)
diff --git a/src/pc/controller/controller_sdl.h b/src/pc/controller/controller_sdl.h
index d858af6c..ea4ad0fc 100644
--- a/src/pc/controller/controller_sdl.h
+++ b/src/pc/controller/controller_sdl.h
@@ -5,6 +5,10 @@
#define VK_BASE_SDL_GAMEPAD 0x1000
+// mouse buttons are also in the controller namespace (why), just offset 0x100
+#define VK_OFS_SDL_MOUSE 0x0100
+#define VK_BASE_SDL_MOUSE (VK_BASE_SDL_GAMEPAD + VK_OFS_SDL_MOUSE)
+
extern struct ControllerAPI controller_sdl;
void controller_sdl_read_mouse_window(void);
diff --git a/src/pc/controller/controller_sdl1.c b/src/pc/controller/controller_sdl1.c
index d332e707..a94d0d79 100644
--- a/src/pc/controller/controller_sdl1.c
+++ b/src/pc/controller/controller_sdl1.c
@@ -18,6 +18,7 @@
#include "controller_api.h"
#include "controller_sdl.h"
+#include "controller_mouse.h"
#include "../configfile.h"
#include "../platform.h"
#include "../fs/fs.h"
@@ -26,9 +27,6 @@
#include "pc/djui/djui.h"
-// mouse buttons are also in the controller namespace (why), just offset 0x100
-#define VK_OFS_SDL_MOUSE 0x0100
-#define VK_BASE_SDL_MOUSE (VK_BASE_SDL_GAMEPAD + VK_OFS_SDL_MOUSE)
#define MAX_JOYBINDS 32
#define MAX_MOUSEBUTTONS 8 // arbitrary
#define MAX_JOYBUTTONS 32 // arbitrary; includes virtual keys for triggers
@@ -44,13 +42,6 @@ enum {
MAX_AXES,
};
-int mouse_x;
-int mouse_y;
-
-int mouse_window_buttons;
-int mouse_window_x;
-int mouse_window_y;
-
#ifdef BETTERCAMERA
extern u8 newcam_mouse;
#endif
diff --git a/src/pc/controller/controller_sdl2.c b/src/pc/controller/controller_sdl2.c
index 75ec306a..aacfc93c 100644
--- a/src/pc/controller/controller_sdl2.c
+++ b/src/pc/controller/controller_sdl2.c
@@ -18,6 +18,7 @@
#include "controller_api.h"
#include "controller_sdl.h"
+#include "controller_mouse.h"
#include "../configfile.h"
#include "../platform.h"
#include "../fs/fs.h"
@@ -26,21 +27,11 @@
#include "pc/djui/djui.h"
-// mouse buttons are also in the controller namespace (why), just offset 0x100
-#define VK_OFS_SDL_MOUSE 0x0100
-#define VK_BASE_SDL_MOUSE (VK_BASE_SDL_GAMEPAD + VK_OFS_SDL_MOUSE)
#define MAX_JOYBINDS 32
#define MAX_MOUSEBUTTONS 8 // arbitrary
#define MAX_JOYBUTTONS 32 // arbitrary; includes virtual keys for triggers
#define AXIS_THRESHOLD (30 * 256)
-int mouse_x;
-int mouse_y;
-
-int mouse_window_buttons;
-int mouse_window_x;
-int mouse_window_y;
-
#ifdef BETTERCAMERA
extern u8 newcam_mouse;
#endif
diff --git a/src/pc/djui/djui_bind.c b/src/pc/djui/djui_bind.c
index bbbaf006..7640dd08 100644
--- a/src/pc/djui/djui_bind.c
+++ b/src/pc/djui/djui_bind.c
@@ -2,6 +2,7 @@
#include
#include "djui.h"
#include "src/pc/controller/controller_api.h"
+#include "src/pc/controller/controller_bind_mapping.h"
#include "audio_defines.h"
#include "audio/external.h"
@@ -32,11 +33,11 @@ static void djui_bind_button_on_bind(struct DjuiBase* caller) {
// set key
bind->configKey[button->base.tag] = key;
- char keyStr[5] = { 0 };
- if (key != VK_INVALID) {
- sprintf(keyStr, "%04x", key);
- }
- djui_text_set_text(button->text, keyStr);
+#if defined(CAPI_SDL1) || defined(CAPI_SDL2)
+ djui_text_set_text(button->text, translate_bind_to_name(key));
+#else
+ djui_text_set_text(button->text, "???");
+#endif
djui_interactable_set_binding(NULL);
play_sound(SOUND_MENU_CHANGE_SELECT, gDefaultSoundArgs);
controller_reconfigure();
@@ -55,7 +56,7 @@ struct DjuiBind* djui_bind_create(struct DjuiBase* parent, const char* message,
djui_base_init(parent, base, NULL, djui_bind_destroy);
djui_base_set_size_type(&bind->base, DJUI_SVT_RELATIVE, DJUI_SVT_ABSOLUTE);
- djui_base_set_size(&bind->base, 1.0f, 32);
+ djui_base_set_size(&bind->base, 1.0f, 28);
djui_base_set_color(&bind->base, 0, 0, 0, 0);
struct DjuiText* text = djui_text_create(&bind->base, message);
@@ -70,17 +71,17 @@ struct DjuiBind* djui_bind_create(struct DjuiBase* parent, const char* message,
struct DjuiRect* rect = djui_rect_create(&bind->base);
djui_base_set_alignment(&rect->base, DJUI_HALIGN_RIGHT, DJUI_VALIGN_CENTER);
djui_base_set_size_type(&rect->base, DJUI_SVT_RELATIVE, DJUI_SVT_RELATIVE);
- djui_base_set_size(&rect->base, 0.7f, 1.0f);
+ djui_base_set_size(&rect->base, 0.8f, 1.0f);
djui_base_set_color(&rect->base, 0, 0, 0, 0);
bind->rect = rect;
for (int i = 0; i < MAX_BINDS; i++) {
+#if defined(CAPI_SDL1) || defined(CAPI_SDL2)
unsigned int key = configKey[i];
- char keyStr[5] = { 0 };
- if (key != VK_INVALID) {
- sprintf(keyStr, "%04x", key);
- }
- struct DjuiButton* button = djui_button_create(&rect->base, keyStr);
+ struct DjuiButton* button = djui_button_create(&rect->base, translate_bind_to_name(key));
+#else
+ struct DjuiButton* button = djui_button_create(&rect->base, "???");
+#endif
djui_base_set_size_type(&button->base, DJUI_SVT_RELATIVE, DJUI_SVT_RELATIVE);
djui_base_set_size(&button->base, 0.33f, 1.0f);
button->base.tag = i;
diff --git a/src/pc/djui/djui_panel_controls.c b/src/pc/djui/djui_panel_controls.c
index a3520a99..7b04739e 100644
--- a/src/pc/djui/djui_panel_controls.c
+++ b/src/pc/djui/djui_panel_controls.c
@@ -8,7 +8,7 @@ void djui_panel_controls_value_change(UNUSED struct DjuiBase* caller) {
}
void djui_panel_controls_create(struct DjuiBase* caller) {
- f32 bindBodyHeight = 32 * 12 + 1 * 11;
+ f32 bindBodyHeight = 32 * 11 + 1 * 10;
f32 bodyHeight = bindBodyHeight + 16 * 3 + 32 * 2 + 64;
struct DjuiBase* defaultBase = NULL;
@@ -32,7 +32,7 @@ void djui_panel_controls_create(struct DjuiBase* caller) {
djui_bind_create(&bindBody->base, "C Left", configKeyCLeft);
djui_bind_create(&bindBody->base, "C Right", configKeyCRight);
djui_bind_create(&bindBody->base, "Chat", configKeyChat);
- djui_bind_create(&bindBody->base, "Player List", configKeyPlayerList);
+ djui_bind_create(&bindBody->base, "Players", configKeyPlayerList);
defaultBase = &bind1->buttons[0]->base;
}
diff --git a/src/pc/djui/djui_panel_options.c b/src/pc/djui/djui_panel_options.c
index 52a33560..8d745d30 100644
--- a/src/pc/djui/djui_panel_options.c
+++ b/src/pc/djui/djui_panel_options.c
@@ -8,22 +8,17 @@ void djui_panel_options_back(struct DjuiBase* caller) {
}
void djui_panel_options_create(struct DjuiBase* caller) {
- f32 bodyHeight = 64 * 5 + 16 * 4;
- if (gNetworkType == NT_NONE) {
- bodyHeight += 64 + 16;
- }
+ f32 bodyHeight = 64 * 6 + 16 * 5;
struct DjuiBase* defaultBase = NULL;
struct DjuiThreePanel* panel = djui_panel_menu_create(bodyHeight, "\\#ff0800\\O\\#1be700\\P\\#00b3ff\\T\\#ffef00\\I\\#ff0800\\O\\#1be700\\N\\#00b3ff\\S");
struct DjuiFlowLayout* body = (struct DjuiFlowLayout*)djui_three_panel_get_body(panel);
{
- if (gNetworkType == NT_NONE) {
- struct DjuiButton* button1 = djui_button_create(&body->base, "Player");
- djui_base_set_size_type(&button1->base, DJUI_SVT_RELATIVE, DJUI_SVT_ABSOLUTE);
- djui_base_set_size(&button1->base, 1.0f, 64);
- djui_interactable_hook_click(&button1->base, djui_panel_player_create);
- defaultBase = &button1->base;
- }
+ struct DjuiButton* button1 = djui_button_create(&body->base, "Player");
+ djui_base_set_size_type(&button1->base, DJUI_SVT_RELATIVE, DJUI_SVT_ABSOLUTE);
+ djui_base_set_size(&button1->base, 1.0f, 64);
+ djui_interactable_hook_click(&button1->base, djui_panel_player_create);
+ defaultBase = &button1->base;
struct DjuiButton* button2 = djui_button_create(&body->base, "Camera");
djui_base_set_size_type(&button2->base, DJUI_SVT_RELATIVE, DJUI_SVT_ABSOLUTE);
diff --git a/src/pc/djui/djui_panel_player.c b/src/pc/djui/djui_panel_player.c
index 25944a5b..d0a22f8e 100644
--- a/src/pc/djui/djui_panel_player.c
+++ b/src/pc/djui/djui_panel_player.c
@@ -33,6 +33,10 @@ static void djui_panel_player_name_on_focus_end(struct DjuiBase* caller) {
}
snprintf(configPlayerName, 20, "%s", inputbox1->buffer);
djui_inputbox_set_text_color(inputbox1, 0, 0, 0, 255);
+
+ if (gNetworkType != NT_NONE) {
+ network_send_player_settings();
+ }
}
void djui_panel_player_value_changed(UNUSED struct DjuiBase* caller) {
@@ -40,6 +44,10 @@ void djui_panel_player_value_changed(UNUSED struct DjuiBase* caller) {
gNetworkPlayers[0].modelIndex = configPlayerModel;
gNetworkPlayers[0].paletteIndex = configPlayerPalette;
network_player_update_model(0);
+
+ if (gNetworkType != NT_NONE) {
+ network_send_player_settings();
+ }
}
void djui_panel_player_create(struct DjuiBase* caller) {
diff --git a/src/pc/djui/djui_panel_playerlist.c b/src/pc/djui/djui_panel_playerlist.c
index 9bfd38f0..d9c2f2cc 100644
--- a/src/pc/djui/djui_panel_playerlist.c
+++ b/src/pc/djui/djui_panel_playerlist.c
@@ -1,5 +1,6 @@
#include
+#include "game/level_info.h"
#include "pc/network/network.h"
#include "djui.h"
#include "djui_panel_playerlist.h"
@@ -14,148 +15,23 @@ static struct DjuiImage* djuiImages[MAX_PLAYERS] = { 0 };
static struct DjuiText* djuiTextNames[MAX_PLAYERS] = { 0 };
static struct DjuiText* djuiTextLocations[MAX_PLAYERS] = { 0 };
-extern u8 seg2_course_name_table[];
-extern u8 seg2_act_name_table[];
-
-static char stage[188];
-static char act[188];
-
-static const char charset[0xFF + 1] = {
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 7
- ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', // 15
- 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', // 23
- 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', // 31
- 'w', 'x', 'y', 'z', ' ', ' ', ' ', ' ', // 39
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 49
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 55
- ' ', ' ', ' ', ' ', ' ', ' ', '\'', ' ', // 63
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 71
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 79
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 87
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 95
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 103
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ',', // 111
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 119
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 127
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 135
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 143
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 151
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', '-', // 159
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 167
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 175
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 183
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 192
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 199
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 207
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 215
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 223
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 231
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 239
- ' ', ' ', '!', ' ', ' ', ' ', ' ', ' ', // 247
- ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' // 255
-};
-
-static void convert_string(const u8* str, char* output) {
- s32 strPos = 0;
- bool capitalizeChar = true;
-
- while (str[strPos] != 0xFF) {
- if (str[strPos] < 0xFF) {
- output[strPos] = charset[str[strPos]];
-
- // if the char is a letter we can capatalize it
- if (capitalizeChar && 0x0A <= str[strPos] && str[strPos] <= 0x23) {
- output[strPos] -= ('a' - 'A');
- capitalizeChar = false;
- }
-
- }
- else {
- output[strPos] = ' ';
- }
-
- // decide if the next character should be capitalized
- switch (output[strPos]) {
- case ' ':
- //if (str[strPos] != 158)
- //fprintf(stdout, "Unknown Character (%i)\n", str[strPos]); // inform that an unknown char was found
- case '-':
- capitalizeChar = true;
- break;
- default:
- capitalizeChar = false;
- break;
- }
-
- strPos++;
- }
-
- output[strPos] = '\0';
-}
-
-static void set_details(s16 courseNum, s16 levelNum, s16 areaIndex) {
- // overrides for castle locations
- if (courseNum == 0 && levelNum == 16) {
- strcpy(stage, "Castle Grounds");
- return;
- }
- if (courseNum == 0 && levelNum == 6) {
- if (areaIndex == 1) {
- strcpy(stage, "Castle Main Floor");
- return;
- } else if (areaIndex == 2) {
- strcpy(stage, "Castle Upper Floor");
- return;
- } else if (areaIndex == 3) {
- strcpy(stage, "Castle Basement");
- return;
- }
- }
- if (courseNum == 0 && levelNum == 26) {
- strcpy(stage, "Castle Courtyard");
- return;
- }
-
- // If we are in in Course 0 we are in the castle which doesn't have a string
- if (courseNum) {
- void** courseNameTbl;
-
-#ifndef VERSION_EU
- courseNameTbl = segmented_to_virtual(seg2_course_name_table);
-#else
- switch (gInGameLanguage) {
- case LANGUAGE_ENGLISH:
- courseNameTbl = segmented_to_virtual(course_name_table_eu_en);
- break;
- case LANGUAGE_FRENCH:
- courseNameTbl = segmented_to_virtual(course_name_table_eu_fr);
- break;
- case LANGUAGE_GERMAN:
- courseNameTbl = segmented_to_virtual(course_name_table_eu_de);
- break;
- }
-#endif
- u8* courseName = segmented_to_virtual(courseNameTbl[courseNum - 1]);
-
- convert_string(&courseName[3], stage);
- } else {
- strcpy(stage, "Peach's Castle");
- }
-}
-
static void playerlist_update_row(u8 i, struct NetworkPlayer* np) {
u8 charIndex = np->modelIndex;
if (charIndex >= CT_MAX) { charIndex = 0; }
djuiImages[i]->texture = gCharacters[charIndex].hudHeadTexture;
- set_details(np->currCourseNum, np->currLevelNum, np->currAreaIndex);
- djui_base_set_visible(&djuiRow[i]->base, np->connected);
+ u8 visible = np->connected;
+ if (np == gNetworkPlayerServer && gServerSettings.headlessServer) {
+ visible = false;
+ }
+
+ djui_base_set_visible(&djuiRow[i]->base, visible);
u8* rgb = get_player_color(np->paletteIndex, 0);
djui_base_set_color(&djuiTextNames[i]->base, rgb[0], rgb[1], rgb[2], 255);
djui_text_set_text(djuiTextNames[i], np->name);
- djui_text_set_text(djuiTextLocations[i], stage);
+ djui_text_set_text(djuiTextLocations[i], get_level_name(np->currCourseNum, np->currLevelNum, np->currAreaIndex));
}
void djui_panel_playerlist_on_render_pre(UNUSED struct DjuiBase* base, UNUSED bool* skipRender) {
diff --git a/src/pc/gfx/gfx_direct3d11.cpp b/src/pc/gfx/gfx_direct3d11.cpp
index d27524b7..2a9d974a 100644
--- a/src/pc/gfx/gfx_direct3d11.cpp
+++ b/src/pc/gfx/gfx_direct3d11.cpp
@@ -22,6 +22,10 @@
#include "gfx_rendering_api.h"
#include "gfx_direct3d_common.h"
+extern "C" {
+ #include "src/pc/controller/controller_bind_mapping.h"
+}
+
#define DECLARE_GFX_DXGI_FUNCTIONS
#include "gfx_dxgi.h"
@@ -303,6 +307,8 @@ static void gfx_d3d11_init(void) {
gfx_dxgi_get_h_wnd(), "Failed to create per-draw constant buffer.");
d3d.context->PSSetConstantBuffers(1, 1, d3d.per_draw_cb.GetAddressOf());
+
+ controller_bind_init();
}
diff --git a/src/pc/gfx/gfx_direct3d12.cpp b/src/pc/gfx/gfx_direct3d12.cpp
index 2a31043b..fb3acf11 100644
--- a/src/pc/gfx/gfx_direct3d12.cpp
+++ b/src/pc/gfx/gfx_direct3d12.cpp
@@ -37,6 +37,10 @@
#include "gfx_rendering_api.h"
#include "gfx_direct3d_common.h"
+extern "C" {
+ #include "src/pc/controller/controller_bind_mapping.h"
+}
+
#include "gfx_screen_config.h"
#define DEBUG_D3D 0
@@ -866,6 +870,8 @@ static void gfx_direct3d12_init(void ) {
CD3DX12_RANGE read_range(0, 0); // Read not possible from CPU
ThrowIfFailed(d3d.vertex_buffer->Map(0, &read_range, &d3d.mapped_vbuf_address));
}
+
+ controller_bind_init();
}
static void gfx_direct3d12_end_frame(void) {
diff --git a/src/pc/gfx/gfx_dummy.c b/src/pc/gfx/gfx_dummy.c
new file mode 100644
index 00000000..62895156
--- /dev/null
+++ b/src/pc/gfx/gfx_dummy.c
@@ -0,0 +1,240 @@
+#if defined(RAPI_DUMMY) || defined(WAPI_DUMMY)
+
+#ifdef WIN32
+#include
+#elif _POSIX_C_SOURCE >= 199309L
+#include // for nanosleep
+#else
+#include // for usleep
+#endif
+
+#include
+#include
+#include
+
+#include "macros.h"
+#include "gfx_window_manager_api.h"
+#include "gfx_rendering_api.h"
+
+#include "pc/pc_main.h"
+#include "pc/utils/misc.h"
+#include "pc/debuglog.h"
+
+// TODO: figure out if this shit even works
+#ifdef VERSION_EU
+# define FRAMERATE 25
+#else
+# define FRAMERATE 30
+#endif
+// time between consequtive game frames
+static const f64 sFrameTime = 1.0 / ((double)FRAMERATE);
+static f64 sFrameTargetTime = 0;
+
+static void sleep_ms(int milliseconds) { // cross-platform sleep function
+ // from StackOverflow user Bernardo Ramos: https://stackoverflow.com/a/28827188
+#ifdef WIN32
+ Sleep(milliseconds);
+#elif _POSIX_C_SOURCE >= 199309L
+ struct timespec ts;
+ ts.tv_sec = milliseconds / 1000;
+ ts.tv_nsec = (milliseconds % 1000) * 1000000;
+ nanosleep(&ts, NULL);
+#else
+ if (milliseconds >= 1000)
+ sleep(milliseconds / 1000);
+ usleep((milliseconds % 1000) * 1000);
+#endif
+}
+
+static void gfx_dummy_wm_init(UNUSED const char *game_name) {
+}
+
+static void gfx_dummy_wm_set_keyboard_callbacks(UNUSED kb_callback_t on_key_down, UNUSED kb_callback_t on_key_up, UNUSED void (*on_all_keys_up)(void), UNUSED void (*on_text_input)(char*)) {
+}
+
+static void gfx_dummy_wm_set_fullscreen_changed_callback(UNUSED void (*on_fullscreen_changed)(bool is_now_fullscreen)) {
+}
+
+static void gfx_dummy_wm_set_fullscreen(UNUSED bool enable) {
+}
+
+static void gfx_dummy_wm_main_loop(void (*run_one_game_iter)(void)) {
+ while (1) {
+ run_one_game_iter();
+ }
+}
+
+static void gfx_dummy_wm_get_dimensions(uint32_t *width, uint32_t *height) {
+ *width = 320;
+ *height = 240;
+}
+
+static void gfx_dummy_wm_handle_events(void) {
+}
+
+static bool gfx_dummy_wm_start_frame(void) {
+ return true;
+}
+
+static inline void sync_framerate_with_timer(void) {
+ f64 curTime = clock_elapsed_f64();
+ if (curTime < sFrameTargetTime) {
+ u32 delayMs = (sFrameTargetTime - curTime) * 1000.0;
+ if (delayMs > 0) {
+ sleep_ms(delayMs);
+ }
+ }
+ f64 frameTime = config60Fps ? (sFrameTime / 2.0) : sFrameTime;
+ sFrameTargetTime += frameTime;
+}
+
+static void gfx_dummy_wm_swap_buffers_begin(void) {
+ sync_framerate_with_timer();
+}
+
+static void gfx_dummy_wm_swap_buffers_end(void) {
+}
+
+static double gfx_dummy_wm_get_time(void) {
+ return 0.0;
+}
+
+static char* gfx_dummy_wm_get_clipboard_text(void) {
+ return "";
+}
+
+static void gfx_dummy_wm_shutdown(void) {
+}
+
+static void gfx_dummy_wm_start_text_input(void) {
+}
+
+static void gfx_dummy_wm_stop_text_input(void) {
+}
+
+static void gfx_dummy_wm_set_clipboard_text(UNUSED char* text) {
+}
+
+static void gfx_dummy_wm_set_cursor_visible(UNUSED bool visible) {
+}
+
+static bool gfx_dummy_renderer_z_is_from_0_to_1(void) {
+ return false;
+}
+
+static void gfx_dummy_renderer_unload_shader(UNUSED struct ShaderProgram *old_prg) {
+}
+
+static void gfx_dummy_renderer_load_shader(UNUSED struct ShaderProgram *new_prg) {
+}
+
+static struct ShaderProgram *gfx_dummy_renderer_create_and_load_new_shader(UNUSED uint32_t shader_id) {
+ return NULL;
+}
+
+static struct ShaderProgram *gfx_dummy_renderer_lookup_shader(UNUSED uint32_t shader_id) {
+ return NULL;
+}
+
+static void gfx_dummy_renderer_shader_get_info(UNUSED struct ShaderProgram *prg, uint8_t *num_inputs, bool used_textures[2]) {
+ *num_inputs = 0;
+ used_textures[0] = false;
+ used_textures[1] = false;
+}
+
+static uint32_t gfx_dummy_renderer_new_texture(void) {
+ return 0;
+}
+
+static void gfx_dummy_renderer_select_texture(UNUSED int tile, UNUSED uint32_t texture_id) {
+}
+
+static void gfx_dummy_renderer_upload_texture(UNUSED const uint8_t *rgba32_buf, UNUSED int width, UNUSED int height) {
+}
+
+static void gfx_dummy_renderer_set_sampler_parameters(UNUSED int tile, UNUSED bool linear_filter, UNUSED uint32_t cms, UNUSED uint32_t cmt) {
+}
+
+static void gfx_dummy_renderer_set_depth_test(UNUSED bool depth_test) {
+}
+
+static void gfx_dummy_renderer_set_depth_mask(UNUSED bool z_upd) {
+}
+
+static void gfx_dummy_renderer_set_zmode_decal(UNUSED bool zmode_decal) {
+}
+
+static void gfx_dummy_renderer_set_viewport(UNUSED int x, UNUSED int y, UNUSED int width, UNUSED int height) {
+}
+
+static void gfx_dummy_renderer_set_scissor(UNUSED int x, UNUSED int y, UNUSED int width, UNUSED int height) {
+}
+
+static void gfx_dummy_renderer_set_use_alpha(UNUSED bool use_alpha) {
+}
+
+static void gfx_dummy_renderer_draw_triangles(UNUSED float buf_vbo[], UNUSED size_t buf_vbo_len, UNUSED size_t buf_vbo_num_tris) {
+}
+
+static void gfx_dummy_renderer_init(void) {
+}
+
+static void gfx_dummy_renderer_on_resize(void) {
+}
+
+static void gfx_dummy_renderer_start_frame(void) {
+}
+
+static void gfx_dummy_renderer_end_frame(void) {
+}
+
+static void gfx_dummy_renderer_finish_render(void) {
+}
+
+static void gfx_dummy_renderer_shutdown(void) {
+}
+
+struct GfxWindowManagerAPI gfx_dummy_wm_api = {
+ gfx_dummy_wm_init,
+ gfx_dummy_wm_set_keyboard_callbacks,
+ gfx_dummy_wm_main_loop,
+ gfx_dummy_wm_get_dimensions,
+ gfx_dummy_wm_handle_events,
+ gfx_dummy_wm_start_frame,
+ gfx_dummy_wm_swap_buffers_begin,
+ gfx_dummy_wm_swap_buffers_end,
+ gfx_dummy_wm_get_time,
+ gfx_dummy_wm_shutdown,
+ gfx_dummy_wm_start_text_input,
+ gfx_dummy_wm_stop_text_input,
+ gfx_dummy_wm_get_clipboard_text,
+ gfx_dummy_wm_set_clipboard_text,
+ gfx_dummy_wm_set_cursor_visible
+};
+
+struct GfxRenderingAPI gfx_dummy_renderer_api = {
+ gfx_dummy_renderer_z_is_from_0_to_1,
+ gfx_dummy_renderer_unload_shader,
+ gfx_dummy_renderer_load_shader,
+ gfx_dummy_renderer_create_and_load_new_shader,
+ gfx_dummy_renderer_lookup_shader,
+ gfx_dummy_renderer_shader_get_info,
+ gfx_dummy_renderer_new_texture,
+ gfx_dummy_renderer_select_texture,
+ gfx_dummy_renderer_upload_texture,
+ gfx_dummy_renderer_set_sampler_parameters,
+ gfx_dummy_renderer_set_depth_test,
+ gfx_dummy_renderer_set_depth_mask,
+ gfx_dummy_renderer_set_zmode_decal,
+ gfx_dummy_renderer_set_viewport,
+ gfx_dummy_renderer_set_scissor,
+ gfx_dummy_renderer_set_use_alpha,
+ gfx_dummy_renderer_draw_triangles,
+ gfx_dummy_renderer_init,
+ gfx_dummy_renderer_on_resize,
+ gfx_dummy_renderer_start_frame,
+ gfx_dummy_renderer_end_frame,
+ gfx_dummy_renderer_finish_render,
+ gfx_dummy_renderer_shutdown
+};
+#endif
diff --git a/src/pc/gfx/gfx_dummy.h b/src/pc/gfx/gfx_dummy.h
new file mode 100644
index 00000000..8ef215a6
--- /dev/null
+++ b/src/pc/gfx/gfx_dummy.h
@@ -0,0 +1,10 @@
+#ifndef GFX_DUMMY_H
+#define GFX_DUMMY_H
+
+#include "gfx_rendering_api.h"
+#include "gfx_window_manager_api.h"
+
+extern struct GfxRenderingAPI gfx_dummy_renderer_api;
+extern struct GfxWindowManagerAPI gfx_dummy_wm_api;
+
+#endif
diff --git a/src/pc/gfx/gfx_sdl1.c b/src/pc/gfx/gfx_sdl1.c
index 436ae729..da046283 100644
--- a/src/pc/gfx/gfx_sdl1.c
+++ b/src/pc/gfx/gfx_sdl1.c
@@ -19,6 +19,7 @@
#include "../platform.h"
#include "src/pc/controller/controller_keyboard.h"
+#include "src/pc/controller/controller_bind_mapping.h"
// TODO: figure out if this shit even works
#ifdef VERSION_EU
@@ -27,8 +28,6 @@
# define FRAMERATE 30
#endif
-static int inverted_scancode_table[512];
-
static kb_callback_t kb_key_down = NULL;
static kb_callback_t kb_key_up = NULL;
static void (*kb_all_keys_up)(void) = NULL;
@@ -43,56 +42,6 @@ static int desktop_bpp = 24;
static int window_w = 0;
static int window_h = 0;
-const SDLKey windows_scancode_table[] = {
- /* 0 1 2 3 4 5 6 7 */
- /* 8 9 A B C D E F */
- SDLK_UNKNOWN, SDLK_ESCAPE, SDLK_1, SDLK_2, SDLK_3, SDLK_4, SDLK_5, SDLK_6, /* 0 */
- SDLK_7, SDLK_8, SDLK_9, SDLK_0, SDLK_MINUS, SDLK_EQUALS, SDLK_BACKSPACE, SDLK_TAB, /* 0 */
-
- SDLK_q, SDLK_w, SDLK_e, SDLK_r, SDLK_t, SDLK_y, SDLK_u, SDLK_i, /* 1 */
- SDLK_o, SDLK_p, SDLK_LEFTBRACKET, SDLK_RIGHTBRACKET, SDLK_RETURN, SDLK_LCTRL, SDLK_a, SDLK_s, /* 1 */
-
- SDLK_d, SDLK_f, SDLK_g, SDLK_h, SDLK_j, SDLK_k, SDLK_l, SDLK_SEMICOLON, /* 2 */
- SDLK_UNKNOWN, SDLK_BACKQUOTE, SDLK_LSHIFT, SDLK_BACKSLASH, SDLK_z, SDLK_x, SDLK_c, SDLK_v, /* 2 */
-
- SDLK_b, SDLK_n, SDLK_m, SDLK_COMMA, SDLK_PERIOD, SDLK_SLASH, SDLK_RSHIFT, SDLK_PRINT, /* 3 */
- SDLK_LALT, SDLK_SPACE, SDLK_CAPSLOCK, SDLK_F1, SDLK_F2, SDLK_F3, SDLK_F4, SDLK_F5, /* 3 */
-
- SDLK_F6, SDLK_F7, SDLK_F8, SDLK_F9, SDLK_F10, SDLK_NUMLOCK, SDLK_SCROLLOCK, SDLK_HOME, /* 4 */
- SDLK_UP, SDLK_PAGEUP, SDLK_KP_MINUS, SDLK_LEFT, SDLK_KP5, SDLK_RIGHT, SDLK_KP_PLUS, SDLK_END, /* 4 */
-
- SDLK_DOWN, SDLK_PAGEDOWN, SDLK_INSERT, SDLK_DELETE, SDLK_UNKNOWN, SDLK_UNKNOWN, SDLK_UNKNOWN, SDLK_F11, /* 5 */
- SDLK_F12, SDLK_PAUSE, SDLK_UNKNOWN, SDLK_LSUPER, SDLK_RSUPER, SDLK_MODE, SDLK_UNKNOWN, SDLK_UNKNOWN, /* 5 */
-
- SDLK_UNKNOWN, SDLK_UNKNOWN, SDLK_UNKNOWN, SDLK_UNKNOWN, SDLK_F13, SDLK_F14, SDLK_F15, SDLK_UNKNOWN, /* 6 */
- SDLK_UNKNOWN, SDLK_UNKNOWN, SDLK_UNKNOWN, SDLK_UNKNOWN, SDLK_UNKNOWN, SDLK_UNKNOWN, SDLK_UNKNOWN, SDLK_UNKNOWN, /* 6 */
-
- SDLK_WORLD_2, SDLK_UNKNOWN, SDLK_UNKNOWN, SDLK_WORLD_1, SDLK_UNKNOWN, SDLK_UNKNOWN, SDLK_UNKNOWN, SDLK_UNKNOWN, /* 7 */
- SDLK_UNKNOWN, SDLK_WORLD_4, SDLK_UNKNOWN, SDLK_WORLD_5, SDLK_UNKNOWN, SDLK_WORLD_3, SDLK_UNKNOWN, SDLK_UNKNOWN /* 7 */
-};
-
-const SDLKey scancode_rmapping_extended[][2] = {
- { SDLK_KP_ENTER, SDLK_RETURN },
- { SDLK_RALT, SDLK_LALT },
- { SDLK_RCTRL, SDLK_LCTRL },
- { SDLK_KP_DIVIDE, SDLK_SLASH },
- //{ SDLK_KPPLUS, SDLK_CAPSLOCK }
-};
-
-const SDLKey scancode_rmapping_nonextended[][2] = {
- { SDLK_KP7, SDLK_HOME },
- { SDLK_KP8, SDLK_UP },
- { SDLK_KP9, SDLK_PAGEUP },
- { SDLK_KP4, SDLK_LEFT },
- { SDLK_KP6, SDLK_RIGHT },
- { SDLK_KP1, SDLK_END },
- { SDLK_KP2, SDLK_DOWN },
- { SDLK_KP3, SDLK_PAGEDOWN },
- { SDLK_KP0, SDLK_INSERT },
- { SDLK_KP_PERIOD, SDLK_DELETE },
- { SDLK_KP_MULTIPLY, SDLK_PRINT }
-};
-
static void gfx_sdl_set_mode(void) {
if (configWindow.exiting_fullscreen)
configWindow.exiting_fullscreen = false;
@@ -160,18 +109,7 @@ static void gfx_sdl_init(const char *window_title) {
SDL_ShowCursor(0);
}
- for (size_t i = 0; i < sizeof(windows_scancode_table) / sizeof(SDLKey); i++) {
- inverted_scancode_table[windows_scancode_table[i]] = i;
- }
-
- for (size_t i = 0; i < sizeof(scancode_rmapping_extended) / sizeof(scancode_rmapping_extended[0]); i++) {
- inverted_scancode_table[scancode_rmapping_extended[i][0]] = inverted_scancode_table[scancode_rmapping_extended[i][1]] + 0x100;
- }
-
- for (size_t i = 0; i < sizeof(scancode_rmapping_nonextended) / sizeof(scancode_rmapping_nonextended[0]); i++) {
- inverted_scancode_table[scancode_rmapping_nonextended[i][0]] = inverted_scancode_table[scancode_rmapping_nonextended[i][1]];
- inverted_scancode_table[scancode_rmapping_nonextended[i][1]] += 0x100;
- }
+ controller_bind_init();
}
static void gfx_sdl_main_loop(void (*run_one_game_iter)(void)) {
@@ -183,22 +121,14 @@ static void gfx_sdl_get_dimensions(uint32_t *width, uint32_t *height) {
if (height) *height = window_h;
}
-static int translate_scancode(int scancode) {
- if (scancode < 512) {
- return inverted_scancode_table[scancode];
- } else {
- return 0;
- }
-}
-
static void gfx_sdl_onkeydown(int scancode) {
if (kb_key_down)
- kb_key_down(translate_scancode(scancode));
+ kb_key_down(translate_bind_to_name(scancode));
}
static void gfx_sdl_onkeyup(int scancode) {
if (kb_key_up)
- kb_key_up(translate_scancode(scancode));
+ kb_key_up(translate_bind_to_name(scancode));
}
static void gfx_sdl_handle_events(void) {
diff --git a/src/pc/gfx/gfx_sdl2.c b/src/pc/gfx/gfx_sdl2.c
index cf8f71e4..646dd287 100644
--- a/src/pc/gfx/gfx_sdl2.c
+++ b/src/pc/gfx/gfx_sdl2.c
@@ -34,7 +34,8 @@
#include "../cliopts.h"
#include "src/pc/controller/controller_keyboard.h"
-
+#include "src/pc/controller/controller_sdl.h"
+#include "src/pc/controller/controller_bind_mapping.h"
#include "pc/utils/misc.h"
// TODO: figure out if this shit even works
@@ -49,63 +50,12 @@ static f64 sFrameTargetTime = 0;
static SDL_Window *wnd;
static SDL_GLContext ctx = NULL;
-static int inverted_scancode_table[512];
static kb_callback_t kb_key_down = NULL;
static kb_callback_t kb_key_up = NULL;
static void (*kb_all_keys_up)(void) = NULL;
static void (*kb_text_input)(char*) = NULL;
-const SDL_Scancode windows_scancode_table[] = {
- /* 0 1 2 3 4 5 6 7 */
- /* 8 9 A B C D E F */
- SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_ESCAPE, SDL_SCANCODE_1, SDL_SCANCODE_2, SDL_SCANCODE_3, SDL_SCANCODE_4, SDL_SCANCODE_5, SDL_SCANCODE_6, /* 0 */
- SDL_SCANCODE_7, SDL_SCANCODE_8, SDL_SCANCODE_9, SDL_SCANCODE_0, SDL_SCANCODE_MINUS, SDL_SCANCODE_EQUALS, SDL_SCANCODE_BACKSPACE, SDL_SCANCODE_TAB, /* 0 */
-
- SDL_SCANCODE_Q, SDL_SCANCODE_W, SDL_SCANCODE_E, SDL_SCANCODE_R, SDL_SCANCODE_T, SDL_SCANCODE_Y, SDL_SCANCODE_U, SDL_SCANCODE_I, /* 1 */
- SDL_SCANCODE_O, SDL_SCANCODE_P, SDL_SCANCODE_LEFTBRACKET, SDL_SCANCODE_RIGHTBRACKET, SDL_SCANCODE_RETURN, SDL_SCANCODE_LCTRL, SDL_SCANCODE_A, SDL_SCANCODE_S, /* 1 */
-
- SDL_SCANCODE_D, SDL_SCANCODE_F, SDL_SCANCODE_G, SDL_SCANCODE_H, SDL_SCANCODE_J, SDL_SCANCODE_K, SDL_SCANCODE_L, SDL_SCANCODE_SEMICOLON, /* 2 */
- SDL_SCANCODE_APOSTROPHE, SDL_SCANCODE_GRAVE, SDL_SCANCODE_LSHIFT, SDL_SCANCODE_BACKSLASH, SDL_SCANCODE_Z, SDL_SCANCODE_X, SDL_SCANCODE_C, SDL_SCANCODE_V, /* 2 */
-
- SDL_SCANCODE_B, SDL_SCANCODE_N, SDL_SCANCODE_M, SDL_SCANCODE_COMMA, SDL_SCANCODE_PERIOD, SDL_SCANCODE_SLASH, SDL_SCANCODE_RSHIFT, SDL_SCANCODE_PRINTSCREEN,/* 3 */
- SDL_SCANCODE_LALT, SDL_SCANCODE_SPACE, SDL_SCANCODE_CAPSLOCK, SDL_SCANCODE_F1, SDL_SCANCODE_F2, SDL_SCANCODE_F3, SDL_SCANCODE_F4, SDL_SCANCODE_F5, /* 3 */
-
- SDL_SCANCODE_F6, SDL_SCANCODE_F7, SDL_SCANCODE_F8, SDL_SCANCODE_F9, SDL_SCANCODE_F10, SDL_SCANCODE_NUMLOCKCLEAR, SDL_SCANCODE_SCROLLLOCK, SDL_SCANCODE_HOME, /* 4 */
- SDL_SCANCODE_UP, SDL_SCANCODE_PAGEUP, SDL_SCANCODE_KP_MINUS, SDL_SCANCODE_LEFT, SDL_SCANCODE_KP_5, SDL_SCANCODE_RIGHT, SDL_SCANCODE_KP_PLUS, SDL_SCANCODE_END, /* 4 */
-
- SDL_SCANCODE_DOWN, SDL_SCANCODE_PAGEDOWN, SDL_SCANCODE_INSERT, SDL_SCANCODE_DELETE, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_NONUSBACKSLASH, SDL_SCANCODE_F11, /* 5 */
- SDL_SCANCODE_F12, SDL_SCANCODE_PAUSE, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_LGUI, SDL_SCANCODE_RGUI, SDL_SCANCODE_APPLICATION, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, /* 5 */
-
- SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_F13, SDL_SCANCODE_F14, SDL_SCANCODE_F15, SDL_SCANCODE_F16, /* 6 */
- SDL_SCANCODE_F17, SDL_SCANCODE_F18, SDL_SCANCODE_F19, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, /* 6 */
-
- SDL_SCANCODE_INTERNATIONAL2, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_INTERNATIONAL1, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN, /* 7 */
- SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_INTERNATIONAL4, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_INTERNATIONAL5, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_INTERNATIONAL3, SDL_SCANCODE_UNKNOWN, SDL_SCANCODE_UNKNOWN /* 7 */
-};
-
-const SDL_Scancode scancode_rmapping_extended[][2] = {
- {SDL_SCANCODE_KP_ENTER, SDL_SCANCODE_RETURN},
- {SDL_SCANCODE_RALT, SDL_SCANCODE_LALT},
- {SDL_SCANCODE_RCTRL, SDL_SCANCODE_LCTRL},
- {SDL_SCANCODE_KP_DIVIDE, SDL_SCANCODE_SLASH},
- //{SDL_SCANCODE_KP_PLUS, SDL_SCANCODE_CAPSLOCK}
-};
-
-const SDL_Scancode scancode_rmapping_nonextended[][2] = {
- {SDL_SCANCODE_KP_7, SDL_SCANCODE_HOME},
- {SDL_SCANCODE_KP_8, SDL_SCANCODE_UP},
- {SDL_SCANCODE_KP_9, SDL_SCANCODE_PAGEUP},
- {SDL_SCANCODE_KP_4, SDL_SCANCODE_LEFT},
- {SDL_SCANCODE_KP_6, SDL_SCANCODE_RIGHT},
- {SDL_SCANCODE_KP_1, SDL_SCANCODE_END},
- {SDL_SCANCODE_KP_2, SDL_SCANCODE_DOWN},
- {SDL_SCANCODE_KP_3, SDL_SCANCODE_PAGEDOWN},
- {SDL_SCANCODE_KP_0, SDL_SCANCODE_INSERT},
- {SDL_SCANCODE_KP_PERIOD, SDL_SCANCODE_DELETE},
- {SDL_SCANCODE_KP_MULTIPLY, SDL_SCANCODE_PRINTSCREEN}
-};
-
#define IS_FULLSCREEN() ((SDL_GetWindowFlags(wnd) & SDL_WINDOW_FULLSCREEN_DESKTOP) != 0)
int test_vsync(void) {
@@ -211,18 +161,7 @@ static void gfx_sdl_init(const char *window_title) {
SDL_ShowCursor(SDL_DISABLE);
}
- for (size_t i = 0; i < sizeof(windows_scancode_table) / sizeof(SDL_Scancode); i++) {
- inverted_scancode_table[windows_scancode_table[i]] = i;
- }
-
- for (size_t i = 0; i < sizeof(scancode_rmapping_extended) / sizeof(scancode_rmapping_extended[0]); i++) {
- inverted_scancode_table[scancode_rmapping_extended[i][0]] = inverted_scancode_table[scancode_rmapping_extended[i][1]] + 0x100;
- }
-
- for (size_t i = 0; i < sizeof(scancode_rmapping_nonextended) / sizeof(scancode_rmapping_nonextended[0]); i++) {
- inverted_scancode_table[scancode_rmapping_nonextended[i][0]] = inverted_scancode_table[scancode_rmapping_nonextended[i][1]];
- inverted_scancode_table[scancode_rmapping_nonextended[i][1]] += 0x100;
- }
+ controller_bind_init();
}
static void gfx_sdl_main_loop(void (*run_one_game_iter)(void)) {
@@ -236,17 +175,9 @@ static void gfx_sdl_get_dimensions(uint32_t *width, uint32_t *height) {
if (height) *height = h;
}
-static int translate_scancode(int scancode) {
- if (scancode < 512) {
- return inverted_scancode_table[scancode];
- } else {
- return 0;
- }
-}
-
static void gfx_sdl_onkeydown(int scancode) {
if (kb_key_down)
- kb_key_down(translate_scancode(scancode));
+ kb_key_down(translate_sdl_scancode(scancode));
const Uint8 *state = SDL_GetKeyboardState(NULL);
@@ -258,7 +189,7 @@ static void gfx_sdl_onkeydown(int scancode) {
static void gfx_sdl_onkeyup(int scancode) {
if (kb_key_up)
- kb_key_up(translate_scancode(scancode));
+ kb_key_up(translate_sdl_scancode(scancode));
}
static void gfx_sdl_handle_events(void) {
diff --git a/src/pc/network/network.c b/src/pc/network/network.c
index 6c12b99e..b384ceda 100644
--- a/src/pc/network/network.c
+++ b/src/pc/network/network.c
@@ -43,6 +43,7 @@ struct ServerSettings gServerSettings = {
.shareLives = 0,
.enableCheats = 0,
.bubbleDeath = 1,
+ .headlessServer = 0,
};
void network_set_system(enum NetworkSystemType nsType) {
@@ -70,6 +71,11 @@ bool network_init(enum NetworkType inNetworkType) {
gServerSettings.shareLives = configShareLives;
gServerSettings.enableCheats = configEnableCheats;
gServerSettings.bubbleDeath = configBubbleDeath;
+#if defined(RAPI_DUMMY) || defined(WAPI_DUMMY)
+ gServerSettings.headlessServer = (inNetworkType == NT_SERVER);
+#else
+ gServerSettings.headlessServer = 0;
+#endif
Cheats.EnableCheats = gServerSettings.enableCheats;
// initialize the network system
diff --git a/src/pc/network/network.h b/src/pc/network/network.h
index 11ee7c57..d669dce5 100644
--- a/src/pc/network/network.h
+++ b/src/pc/network/network.h
@@ -89,6 +89,7 @@ struct ServerSettings {
u8 shareLives;
u8 enableCheats;
u8 bubbleDeath;
+ u8 headlessServer;
};
// Networking-specific externs
diff --git a/src/pc/network/network_player.c b/src/pc/network/network_player.c
index 0c22863e..b57c837c 100644
--- a/src/pc/network/network_player.c
+++ b/src/pc/network/network_player.c
@@ -6,6 +6,7 @@
#include "pc/debuglog.h"
#include "pc/utils/misc.h"
#include "game/area.h"
+#include "game/level_info.h"
struct NetworkPlayer gNetworkPlayers[MAX_PLAYERS] = { 0 };
struct NetworkPlayer* gNetworkPlayerLocal = NULL;
@@ -25,22 +26,6 @@ void network_player_update_model(u8 localIndex) {
m->marioObj->header.gfx.sharedChild = gLoadedGraphNodes[m->character->modelId];
}
-u8 network_player_unique_palette(u8 palette) {
- u16 iterations = 0;
- retry_palette:
- for (int i = 0; i < MAX_PLAYERS; i++) {
- if (!gNetworkPlayers[i].connected) { continue; }
- if (gNetworkPlayers[i].paletteIndex == palette) {
- palette = (palette + 1) % gNumPlayerColors;
- if (iterations++ >= gNumPlayerColors) {
- return palette;
- }
- goto retry_palette;
- }
- }
- return palette;
-}
-
bool network_player_any_connected(void) {
for (int i = 1; i < MAX_PLAYERS; i++) {
if (gNetworkPlayers[i].connected) { return true; }
@@ -111,43 +96,9 @@ struct NetworkPlayer* get_network_player_smallest_global(void) {
return smallest;
}
-static void network_player_update_level_popup(void) {
- static s16 sCachedCourseNum = 0;
- static s16 sCachedActStarNum = 0;
- static s16 sCachedLevelNum = 0;
-
- bool inBonusCourse = (gCurrCourseNum >= 16);
- bool allowPopup = (sCachedCourseNum == gCurrCourseNum)
- && (sCachedActStarNum == gCurrActStarNum)
- && (sCachedLevelNum == gCurrLevelNum)
- && (gCurrActStarNum != 99) // suppress popup for credits sequence
- && (inBonusCourse || gCurrActStarNum != 0); // suppress popup for star selection
-
- sCachedCourseNum = gCurrCourseNum;
- sCachedActStarNum = gCurrActStarNum;
- sCachedLevelNum = gCurrLevelNum;
-
- for (int i = 1; i < MAX_PLAYERS; i++) {
- struct NetworkPlayer* np = &gNetworkPlayers[i];
- if (!np->connected) { continue; }
- bool localLevelMatch = (np->currCourseNum == gCurrCourseNum && np->currActNum == gCurrActStarNum && np->currLevelNum == gCurrLevelNum);
- if (np->localLevelMatch != localLevelMatch) {
- np->localLevelMatch = localLevelMatch;
-
- if (!allowPopup) { continue; }
- u8* rgb = get_player_color(np->paletteIndex, 0);
- char popupMsg[128] = { 0 };
- snprintf(popupMsg, 128, "\\#%02x%02x%02x\\%s\\#dcdcdc\\ %s this level.", rgb[0], rgb[1], rgb[2], np->name, localLevelMatch ? "entered" : "left");
- djui_popup_create(popupMsg, 1);
- }
- }
-}
-
void network_player_update(void) {
if (!network_player_any_connected()) { return; }
- network_player_update_level_popup();
-
#ifndef DEVELOPMENT
if (gNetworkType == NT_SERVER) {
for (int i = 1; i < MAX_PLAYERS; i++) {
@@ -203,10 +154,7 @@ u8 network_player_connected(enum NetworkPlayerType type, u8 globalIndex, u8 mode
np->currLevelAreaSeqId = 0;
extern s16 gCurrCourseNum, gCurrActStarNum, gCurrLevelNum, gCurrAreaIndex;
- np->currCourseNum = gCurrCourseNum;
- np->currActNum = gCurrActStarNum;
- np->currLevelNum = gCurrLevelNum;
- np->currAreaIndex = gCurrAreaIndex;
+ network_player_update_course_level(np, gCurrCourseNum, gCurrActStarNum, gCurrLevelNum, gCurrAreaIndex);
np->currLevelSyncValid = false;
np->currAreaSyncValid = false;
np->modelIndex = modelIndex;
@@ -252,10 +200,7 @@ u8 network_player_connected(enum NetworkPlayerType type, u8 globalIndex, u8 mode
np->connected = true;
np->currLevelAreaSeqId = 0;
if (gNetworkType == NT_SERVER && !np->currAreaSyncValid) {
- np->currCourseNum = 0;
- np->currActNum = 0;
- np->currLevelNum = 16;
- np->currAreaIndex = 1;
+ network_player_update_course_level(np, 0, 0, 16, 1);
np->currLevelSyncValid = false;
np->currAreaSyncValid = false;
}
@@ -280,7 +225,7 @@ u8 network_player_connected(enum NetworkPlayerType type, u8 globalIndex, u8 mode
// display popup
u8* rgb = get_player_color(np->paletteIndex, 0);
char popupMsg[128] = { 0 };
- snprintf(popupMsg, 128, "\\#%02x%02x%02x\\%s\\#dcdcdc\\ connected.", rgb[0], rgb[1], rgb[2], np->name);
+ snprintf(popupMsg, 128, "\\#%02x%02x%02x\\%s\\#dcdcdc\\ connected", rgb[0], rgb[1], rgb[2], np->name);
djui_popup_create(popupMsg, 1);
}
LOG_INFO("player connected, local %d, global %d", i, np->globalIndex);
@@ -327,7 +272,7 @@ u8 network_player_disconnected(u8 globalIndex) {
// display popup
u8* rgb = get_player_color(np->paletteIndex, 0);
char popupMsg[128] = { 0 };
- snprintf(popupMsg, 128, "\\#%02x%02x%02x\\%s\\#dcdcdc\\ disconnected.", rgb[0], rgb[1], rgb[2], np->name);
+ snprintf(popupMsg, 128, "\\#%02x%02x%02x\\%s\\#dcdcdc\\ disconnected", rgb[0], rgb[1], rgb[2], np->name);
djui_popup_create(popupMsg, 1);
packet_ordered_clear(globalIndex);
@@ -337,6 +282,27 @@ u8 network_player_disconnected(u8 globalIndex) {
return UNKNOWN_GLOBAL_INDEX;
}
+void network_player_update_course_level(struct NetworkPlayer* np, s16 courseNum, s16 actNum, s16 levelNum, s16 areaIndex) {
+ // display popup
+ if (np->currCourseNum != courseNum && np->localIndex != 0) {
+ u8* rgb = get_player_color(np->paletteIndex, 0);
+ char popupMsg[128] = { 0 };
+ if (np->currCourseNum == gNetworkPlayerLocal->currCourseNum && gNetworkPlayerLocal->currCourseNum != 0) {
+ snprintf(popupMsg, 128, "\\#%02x%02x%02x\\%s\\#dcdcdc\\ left this level", rgb[0], rgb[1], rgb[2], np->name);
+ } else if (courseNum == gNetworkPlayerLocal->currCourseNum && gNetworkPlayerLocal->currCourseNum != 0) {
+ snprintf(popupMsg, 128, "\\#%02x%02x%02x\\%s\\#dcdcdc\\ entered this level", rgb[0], rgb[1], rgb[2], np->name);
+ } else {
+ snprintf(popupMsg, 128, "\\#%02x%02x%02x\\%s\\#dcdcdc\\ entered\n%s", rgb[0], rgb[1], rgb[2], np->name, get_level_name(courseNum, levelNum, areaIndex));
+ }
+ djui_popup_create(popupMsg, 1);
+ }
+
+ np->currCourseNum = courseNum;
+ np->currActNum = actNum;
+ np->currLevelNum = levelNum;
+ np->currAreaIndex = areaIndex;
+}
+
void network_player_shutdown(void) {
gNetworkPlayerLocal = NULL;
gNetworkPlayerServer = NULL;
@@ -346,6 +312,6 @@ void network_player_shutdown(void) {
gNetworkSystem->clear_id(i);
}
- djui_popup_create("\\#ffa0a0\\Error:\\#dcdcdc\\ network shutdown.", 1);
+ djui_popup_create("\\#ffa0a0\\Error:\\#dcdcdc\\ network shutdown", 1);
LOG_INFO("cleared all network players");
}
diff --git a/src/pc/network/network_player.h b/src/pc/network/network_player.h
index d27927da..ac10964e 100644
--- a/src/pc/network/network_player.h
+++ b/src/pc/network/network_player.h
@@ -37,7 +37,7 @@ struct NetworkPlayer {
u8 modelIndex;
u8 paletteIndex;
bool localLevelMatch;
- char name[MAX_PLAYER_STRING];
+ char name[MAX_PLAYER_STRING+1];
u16 rxSeqIds[MAX_RX_SEQ_IDS];
u32 rxPacketHash[MAX_RX_SEQ_IDS];
};
@@ -48,7 +48,6 @@ extern struct NetworkPlayer* gNetworkPlayerServer;
void network_player_init(void);
void network_player_update_model(u8 localIndex);
-u8 network_player_unique_palette(u8 palette);
bool network_player_any_connected(void);
u8 network_player_connected_count(void);
struct NetworkPlayer* network_player_from_global_index(u8 globalIndex);
@@ -58,6 +57,7 @@ struct NetworkPlayer* get_network_player_smallest_global(void);
void network_player_update(void);
u8 network_player_connected(enum NetworkPlayerType type, u8 globalIndex, u8 modelIndex, u8 paletteIndex, char* name);
u8 network_player_disconnected(u8 globalIndex);
+void network_player_update_course_level(struct NetworkPlayer* np, s16 courseNum, s16 actNum, s16 levelNum, s16 areaIndex);
void network_player_shutdown(void);
#endif
diff --git a/src/pc/network/packets/packet.c b/src/pc/network/packets/packet.c
index c9955664..b15edbe8 100644
--- a/src/pc/network/packets/packet.c
+++ b/src/pc/network/packets/packet.c
@@ -76,6 +76,8 @@ void packet_process(struct Packet* p) {
case PACKET_LEVEL_AREA_INFORM: network_receive_level_area_inform(p); break;
case PACKET_LEVEL_RESPAWN_INFO: network_receive_level_respawn_info(p); break;
+ case PACKET_PLAYER_SETTINGS: network_receive_player_settings(p); break;
+
// custom
case PACKET_CUSTOM: network_receive_custom(p); break;
default: LOG_ERROR("received unknown packet: %d", p->buffer[0]);
diff --git a/src/pc/network/packets/packet.h b/src/pc/network/packets/packet.h
index d5c3c035..2d611936 100644
--- a/src/pc/network/packets/packet.h
+++ b/src/pc/network/packets/packet.h
@@ -52,6 +52,8 @@ enum PacketType {
PACKET_LEVEL_AREA_INFORM,
PACKET_LEVEL_RESPAWN_INFO,
+ PACKET_PLAYER_SETTINGS,
+
///
PACKET_CUSTOM = 255,
};
@@ -275,4 +277,8 @@ void network_receive_reservation_release(struct Packet* p);
void network_send_debug_sync(void);
void network_receive_debug_sync(struct Packet* p);
+// packet_player_settings.c
+void network_send_player_settings(void);
+void network_receive_player_settings(struct Packet* p);
+
#endif
diff --git a/src/pc/network/packets/packet_change_area.c b/src/pc/network/packets/packet_change_area.c
index 93cb5ff7..1f60a6d6 100644
--- a/src/pc/network/packets/packet_change_area.c
+++ b/src/pc/network/packets/packet_change_area.c
@@ -7,10 +7,7 @@
static void player_changed_area(struct NetworkPlayer* np, s16 courseNum, s16 actNum, s16 levelNum, s16 areaIndex) {
// set NetworkPlayer variables
- np->currCourseNum = courseNum;
- np->currActNum = actNum;
- np->currLevelNum = levelNum;
- np->currAreaIndex = areaIndex;
+ network_player_update_course_level(np, courseNum, actNum, levelNum, areaIndex);
np->currAreaSyncValid = false;
reservation_area_change(np);
@@ -56,10 +53,7 @@ void network_send_change_area(void) {
network_send_to(gNetworkPlayerServer->localIndex, &p);
struct NetworkPlayer* np = gNetworkPlayerLocal;
- np->currCourseNum = gCurrCourseNum;
- np->currActNum = gCurrActStarNum;
- np->currLevelNum = gCurrLevelNum;
- np->currAreaIndex = gCurrAreaIndex;
+ network_player_update_course_level(np, gCurrCourseNum, gCurrActStarNum, gCurrLevelNum, gCurrAreaIndex);
np->currAreaSyncValid = false;
LOG_INFO("tx change area");
diff --git a/src/pc/network/packets/packet_change_level.c b/src/pc/network/packets/packet_change_level.c
index 1673a67a..f5186296 100644
--- a/src/pc/network/packets/packet_change_level.c
+++ b/src/pc/network/packets/packet_change_level.c
@@ -7,10 +7,7 @@
static void player_changed_level(struct NetworkPlayer* np, s16 courseNum, s16 actNum, s16 levelNum, s16 areaIndex) {
// set NetworkPlayer variables
- np->currCourseNum = courseNum;
- np->currActNum = actNum;
- np->currLevelNum = levelNum;
- np->currAreaIndex = areaIndex;
+ network_player_update_course_level(np, courseNum, actNum, levelNum, areaIndex);
np->currLevelSyncValid = false;
np->currAreaSyncValid = false;
reservation_area_change(np);
@@ -62,10 +59,7 @@ void network_send_change_level(void) {
network_send_to(gNetworkPlayerServer->localIndex, &p);
struct NetworkPlayer* np = gNetworkPlayerLocal;
- np->currCourseNum = gCurrCourseNum;
- np->currActNum = gCurrActStarNum;
- np->currLevelNum = gCurrLevelNum;
- np->currAreaIndex = gCurrAreaIndex;
+ network_player_update_course_level(np, gCurrCourseNum, gCurrActStarNum, gCurrLevelNum, gCurrAreaIndex);
np->currAreaSyncValid = false;
np->currLevelSyncValid = false;
diff --git a/src/pc/network/packets/packet_join.c b/src/pc/network/packets/packet_join.c
index 62fe90ff..deb434a4 100644
--- a/src/pc/network/packets/packet_join.c
+++ b/src/pc/network/packets/packet_join.c
@@ -61,9 +61,6 @@ void network_receive_join_request(struct Packet* p) {
void network_send_join(struct Packet* joinRequestPacket) {
SOFT_ASSERT(gNetworkType == NT_SERVER);
- // make palette unique
- sJoinRequestPlayerPalette = network_player_unique_palette(sJoinRequestPlayerPalette);
-
// do connection event
joinRequestPacket->localIndex = network_player_connected(NPT_CLIENT, joinRequestPacket->localIndex, sJoinRequestPlayerModel, sJoinRequestPlayerPalette, sJoinRequestPlayerName);
if (joinRequestPacket->localIndex == UNKNOWN_LOCAL_INDEX) {
@@ -93,6 +90,7 @@ void network_send_join(struct Packet* joinRequestPacket) {
packet_write(&p, &gServerSettings.shareLives, sizeof(u8));
packet_write(&p, &gServerSettings.enableCheats, sizeof(u8));
packet_write(&p, &gServerSettings.bubbleDeath, sizeof(u8));
+ packet_write(&p, &gServerSettings.headlessServer, sizeof(u8));
packet_write(&p, eeprom, sizeof(u8) * 512);
u8 modCount = string_linked_list_count(&gRegisteredMods);
@@ -155,6 +153,7 @@ void network_receive_join(struct Packet* p) {
packet_read(p, &gServerSettings.shareLives, sizeof(u8));
packet_read(p, &gServerSettings.enableCheats, sizeof(u8));
packet_read(p, &gServerSettings.bubbleDeath, sizeof(u8));
+ packet_read(p, &gServerSettings.headlessServer, sizeof(u8));
packet_read(p, eeprom, sizeof(u8) * 512);
packet_read(p, &modCount, sizeof(u8));
diff --git a/src/pc/network/packets/packet_level_area_inform.c b/src/pc/network/packets/packet_level_area_inform.c
index a67c0ae5..c3bbb002 100644
--- a/src/pc/network/packets/packet_level_area_inform.c
+++ b/src/pc/network/packets/packet_level_area_inform.c
@@ -4,6 +4,10 @@
//#define DISABLE_MODULE_LOG 1
#include "pc/debuglog.h"
+#include "pc/djui/djui.h"
+#include "game/level_info.h"
+#include "game/mario_misc.h"
+
static u16 sLevelAreaInformSeq[MAX_PLAYERS][MAX_PLAYERS] = { 0 };
void network_send_level_area_inform(struct NetworkPlayer* np) {
@@ -64,10 +68,7 @@ void network_receive_level_area_inform(struct Packet* p) {
}
sLevelAreaInformSeq[0][globalIndex] = seq;
- np->currCourseNum = courseNum;
- np->currActNum = actNum;
- np->currLevelNum = levelNum;
- np->currAreaIndex = areaIndex;
+ network_player_update_course_level(np, courseNum, actNum, levelNum, areaIndex);
np->currLevelSyncValid = levelSyncValid;
np->currAreaSyncValid = areaSyncValid;
}
diff --git a/src/pc/network/packets/packet_network_players.c b/src/pc/network/packets/packet_network_players.c
index f6d0d761..3478d9b2 100644
--- a/src/pc/network/packets/packet_network_players.c
+++ b/src/pc/network/packets/packet_network_players.c
@@ -87,10 +87,7 @@ void network_receive_network_players(struct Packet* p) {
struct NetworkPlayer* np = &gNetworkPlayers[localIndex];
if (localIndex != 0) {
np->currLevelAreaSeqId = levelAreaSeqId;
- np->currCourseNum = courseNum;
- np->currActNum = actNum;
- np->currLevelNum = levelNum;
- np->currAreaIndex = areaIndex;
+ network_player_update_course_level(np, courseNum, actNum, levelNum, areaIndex);
np->currLevelSyncValid = levelSyncValid;
np->currAreaSyncValid = areaSyncValid;
LOG_INFO("received network player location (%d, %d, %d, %d)", courseNum, actNum, levelNum, areaIndex);
diff --git a/src/pc/network/packets/packet_player.c b/src/pc/network/packets/packet_player.c
index 2a450ba9..4659eb61 100644
--- a/src/pc/network/packets/packet_player.c
+++ b/src/pc/network/packets/packet_player.c
@@ -341,7 +341,7 @@ void network_receive_player(struct Packet* p) {
// display popup
u8* rgb = get_player_color(np->paletteIndex, 0);
char popupMsg[128] = { 0 };
- snprintf(popupMsg, 128, "\\#%02x%02x%02x\\%s\\#dcdcdc\\ died.", rgb[0], rgb[1], rgb[2], np->name);
+ snprintf(popupMsg, 128, "\\#%02x%02x%02x\\%s\\#dcdcdc\\ died", rgb[0], rgb[1], rgb[2], np->name);
djui_popup_create(popupMsg, 1);
}
@@ -360,5 +360,9 @@ void network_receive_player(struct Packet* p) {
void network_update_player(void) {
if (!network_player_any_connected()) { return; }
- network_send_player(0);
+
+ u8 localIsHeadless = (&gNetworkPlayers[0] == gNetworkPlayerServer && gServerSettings.headlessServer);
+ if (!localIsHeadless) {
+ network_send_player(0);
+ }
}
diff --git a/src/pc/network/packets/packet_player_settings.c b/src/pc/network/packets/packet_player_settings.c
new file mode 100644
index 00000000..979c7455
--- /dev/null
+++ b/src/pc/network/packets/packet_player_settings.c
@@ -0,0 +1,45 @@
+#include
+#include "../network.h"
+#include "pc/debuglog.h"
+
+void network_send_player_settings(void) {
+ char playerName[MAX_PLAYER_STRING+1] = { 0 };
+ snprintf(playerName, MAX_PLAYER_STRING, "%s", configPlayerName);
+
+ struct Packet p;
+ packet_init(&p, PACKET_PLAYER_SETTINGS, true, PLMT_NONE);
+ packet_write(&p, &gNetworkPlayers[0].globalIndex, sizeof(u8));
+ packet_write(&p, playerName, MAX_PLAYER_STRING * sizeof(u8));
+ packet_write(&p, &configPlayerModel, sizeof(u8));
+ packet_write(&p, &configPlayerPalette, sizeof(u8));
+
+ if (gNetworkPlayerLocal != NULL) {
+ snprintf(gNetworkPlayerLocal->name, MAX_PLAYER_STRING, "%s", playerName);
+ }
+
+ network_send(&p);
+}
+
+void network_receive_player_settings(struct Packet* p) {
+ u8 globalId;
+ char playerName[MAX_PLAYER_STRING+1] = { 0 };
+ u8 playerModel;
+ u8 playerPalette;
+
+ packet_read(p, &globalId, sizeof(u8));
+ packet_read(p, &playerName, MAX_PLAYER_STRING * sizeof(u8));
+ packet_read(p, &playerModel, sizeof(u8));
+ packet_read(p, &playerPalette, sizeof(u8));
+
+ if (globalId == gNetworkPlayers[0].globalIndex || globalId > MAX_PLAYERS) {
+ LOG_ERROR("Received player settings from improper player.");
+ return;
+ }
+
+ struct NetworkPlayer* np = network_player_from_global_index(globalId);
+ snprintf(np->name, MAX_PLAYER_STRING, "%s", playerName);
+ np->modelIndex = playerModel;
+ np->paletteIndex = playerPalette;
+
+ network_player_update_model(np->localIndex);
+}
diff --git a/src/pc/network/version.h b/src/pc/network/version.h
index 2c8b7949..b07f578f 100644
--- a/src/pc/network/version.h
+++ b/src/pc/network/version.h
@@ -2,7 +2,7 @@
#define VERSION_H
#define UNSTABLE_BRANCH
-#define VERSION_NUMBER 12
+#define VERSION_NUMBER 13
#define MAX_VERSION_LENGTH 10
char* get_version(void);
diff --git a/src/pc/pc_main.c b/src/pc/pc_main.c
index fc902333..6f0c3613 100644
--- a/src/pc/pc_main.c
+++ b/src/pc/pc_main.c
@@ -25,6 +25,7 @@
#include "gfx/gfx_dxgi.h"
#include "gfx/gfx_sdl.h"
+#include "gfx/gfx_dummy.h"
#include "audio/audio_api.h"
#include "audio/audio_sdl.h"
@@ -236,6 +237,8 @@ void main_func(void) {
wm_api = &gfx_sdl;
#elif defined(WAPI_DXGI)
wm_api = &gfx_dxgi;
+ #elif defined(WAPI_DUMMY)
+ wm_api = &gfx_dummy_wm_api;
#else
#error No window API!
#endif
@@ -253,6 +256,8 @@ void main_func(void) {
# else
# define RAPI_NAME "OpenGL"
# endif
+ #elif defined(RAPI_DUMMY)
+ rendering_api = &gfx_dummy_renderer_api;
#else
#error No rendering API!
#endif
diff --git a/src/pc/platform.c b/src/pc/platform.c
index 760985ed..0e295ea9 100644
--- a/src/pc/platform.c
+++ b/src/pc/platform.c
@@ -162,7 +162,9 @@ static void sys_fatal_impl(const char *msg) {
#else
+#ifndef WAPI_DUMMY
#warning "You might want to implement these functions for your platform"
+#endif
const char *sys_user_path(void) {
return ".";