Browse Source

Merge branch '12.0-development' into text-shaping

Sasha Szpakowski 2 years ago
parent
commit
c2778587f7

+ 1 - 1
.github/workflows/main.yml

@@ -19,7 +19,7 @@ jobs:
     - name: Checkout love-appimage-source
       uses: actions/checkout@v3
       with:
-        repository: MikuAuahDark/love-appimage-source
+        repository: love2d/love-appimage-source
         ref: 12.x
     - name: Checkout LÖVE
       uses: actions/checkout@v3

+ 0 - 118
extra/nsis/love.nsi

@@ -1,118 +0,0 @@
-!include "MUI2.nsh" # Modern look, plxz
-
-Name "LOVE"
-
-OutFile ${LOVEEXE}
-
-InstallDir $PROGRAMFILES\LOVE
-InstallDirRegKey HKCU "Software\LOVE" ""
-
-# Graphics
-!define MUI_ICON "${LOVEICODIR}\love.ico"
-!define MUI_UNICON "${LOVEICODIR}\love.ico"
-!define MUI_ABORTWARNING
-!define MUI_HEADERIMAGE
-!define MUI_HEADERIMAGE_BITMAP "${LOVEICODIR}\top.bmp" # optional
-!define MUI_WELCOMEFINISHPAGE_BITMAP "${LOVEICODIR}\left.bmp"
-!define MUI_UNWELCOMEFINISHPAGE_BITMAP "${LOVEICODIR}\left.bmp"
-
-!define MUI_WELCOMEPAGE_TITLE "LÖVE Setup"
-!define MUI_WELCOMEPAGE_TEXT "This will install LÖVE, the unquestionably awesome Lua game framework."
-
-# Pages
-!insertmacro MUI_PAGE_WELCOME
-!insertmacro MUI_PAGE_LICENSE "${LOVELICDIR}\license.txt"
-!insertmacro MUI_PAGE_COMPONENTS
-!insertmacro MUI_PAGE_DIRECTORY
-!insertmacro MUI_PAGE_INSTFILES
-
-!insertmacro MUI_UNPAGE_WELCOME
-!insertmacro MUI_UNPAGE_CONFIRM
-!insertmacro MUI_UNPAGE_INSTFILES
-
-# Languages
-!insertmacro MUI_LANGUAGE "English"
-
-# Main Program
-Section "LOVE" MainProg
-
-	SectionIn RO
-	SetOutPath $INSTDIR
-	File "${LOVEBINDIR}\love.exe"
-	File "${LOVEBINDIR}\DevIL.dll"
-	File "${LOVEBINDIR}\SDL.dll"
-	File "${LOVEBINDIR}\OpenAL32.dll"
-	File "${LOVEBINDIR}\gme.dll"
-	# File "${LOVEBINDIR}\lua51.dll"
-	File "${LOVEICODIR}\love.ico"
-	File "${LOVEICODIR}\game.ico"
-
-	# Uninstaller
-	WriteUninstaller $INSTDIR\Uninstall.exe
-
-	# Add new start menu items
-	CreateDirectory "$SMPROGRAMS\LOVE"
-	CreateShortCut "$SMPROGRAMS\LOVE\LOVE.lnk" "$INSTDIR\love.exe"
-	CreateShortCut "$SMPROGRAMS\LOVE\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
-	WriteINIStr "$SMPROGRAMS\LOVE\Documentation.url" "InternetShortcut" "URL" "http://love2d.org/wiki/"
-
-	# Desktop
-	CreateShortCut "$DESKTOP\LOVE.lnk" "$INSTDIR\love.exe" ""
-
-	# Registry
-	WriteRegStr HKCU "Software\LOVE" "" $INSTDIR
-	WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LOVE" "DisplayName" "LOVE (remove only)"
-	WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\LOVE" "UninstallString" "$INSTDIR\Uninstall.exe"
-	
-	# love file association
-	WriteRegStr HKCR ".love" "" "LOVE"
-	WriteRegStr HKCR "LOVE" "" "LOVE Game File"
-	WriteRegStr HKCR "LOVE\DefaultIcon" "" "$INSTDIR\game.ico"
-	WriteRegStr HKCR "LOVE\shell" "" "open"
-	WriteRegStr HKCR "LOVE\shell\open" "" "Open in LOVE"
-	WriteRegStr HKCR "LOVE\shell\open\command" "" "$INSTDIR\love.exe $\"%1$\""
-	# Refresh shell icons
-	System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v  (0x08000000, 0, 0, 0)'
-
-SectionEnd
-
-# Descriptions
-LangString DESC_MainProg ${LANG_ENGLISH} "Main program."
-
-# Assign language strings to sections
-!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
-	!insertmacro MUI_DESCRIPTION_TEXT ${MainProg} $(DESC_MainProg)
-!insertmacro MUI_FUNCTION_DESCRIPTION_END
-
-# Uninstall
-Section "Uninstall"
-	Delete $INSTDIR\"DevIL.dll"
-	Delete $INSTDIR\"SDL.dll"
-	Delete $INSTDIR\"love.exe"
-	Delete $INSTDIR\"OpenAL32.dll"
-	Delete $INSTDIR\"gme.dll"
-	# Delete $INSTDIR\"lua51.dll"
-	Delete $INSTDIR\"game.ico"
-	Delete $INSTDIR\"love.ico"
-	RMDir $INSTDIR
-	
-	# Start menu
-	Delete "$SMPROGRAMS\LOVE\LOVE.lnk"
-	Delete "$SMPROGRAMS\LOVE\Uninstall.lnk"
-	Delete "$SMPROGRAMS\LOVE\Documentation.url"
-	RMDir "$SMPROGRAMS\LOVE"
-	
-	# Desktop
-	Delete "$DESKTOP\LOVE.lnk"
-
-	# Uninstall keys
-	DeleteRegKey /ifempty HKCU "Software\LOVE"
-	DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\LOVE"
-	
-	# love file association
-	DeleteRegKey HKCR "LOVE"
-	DeleteRegKey HKCR ".love"
-	# Refresh shell icons
-	System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v  (0x08000000, 0, 0, 0)'
-
-SectionEnd

+ 4 - 5
src/modules/graphics/vulkan/Graphics.cpp

@@ -1264,11 +1264,10 @@ void Graphics::createVulkanInstance()
 	createInfo.pApplicationInfo = &appInfo;
 	createInfo.pNext = nullptr;
 
-	auto window = Module::getInstance<love::window::Window>(M_WINDOW);
-	const void *handle = window->getHandle();
-
+	// GetInstanceExtensions works with a null window parameter as long as
+	// SDL_Vulkan_LoadLibrary has been called (which we do earlier).
 	unsigned int count;
-	if (SDL_Vulkan_GetInstanceExtensions((SDL_Window*)handle, &count, nullptr) != SDL_TRUE)
+	if (SDL_Vulkan_GetInstanceExtensions(nullptr, &count, nullptr) != SDL_TRUE)
 		throw love::Exception("couldn't retrieve sdl vulkan extensions");
 
 	std::vector<const char*> extensions = {};
@@ -1281,7 +1280,7 @@ void Graphics::createVulkanInstance()
 	size_t additional_extension_count = extensions.size();
 	extensions.resize(additional_extension_count + count);
 
-	if (SDL_Vulkan_GetInstanceExtensions((SDL_Window*)handle, &count, extensions.data() + additional_extension_count) != SDL_TRUE)
+	if (SDL_Vulkan_GetInstanceExtensions(nullptr, &count, extensions.data() + additional_extension_count) != SDL_TRUE)
 		throw love::Exception("couldn't retrieve sdl vulkan extensions");
 
 	createInfo.enabledExtensionCount = static_cast<uint32_t>(extensions.size());

+ 3 - 2
src/modules/graphics/wrap_Texture.cpp

@@ -420,6 +420,8 @@ int w_Texture_renderTo(lua_State *L)
 {
 	Graphics::RenderTarget rt(luax_checktexture(L, 1));
 
+	int args = lua_gettop(L);
+
 	int startidx = 2;
 
 	if (rt.texture->getTextureType() != TEXTURE_2D)
@@ -455,8 +457,7 @@ int w_Texture_renderTo(lua_State *L)
 			}
 		);
 
-		lua_settop(L, 2); // make sure the function is on top of the stack
-		int status = lua_pcall(L, 0, 0, 0);
+		int status = lua_pcall(L, args - startidx, 0, 0);
 
 		graphics->setRenderTargets(oldtargets);