Merge distribution history into source history

Brings in .gitea/ issue templates and preserves the release tag ancestry
(v0.1.0-v0.7.0 were tagged on the distribution branch, not on source).

# Conflicts:
#	README.md
This commit is contained in:
MarcelineVQ
2026-07-27 21:48:30 -07:00
4 changed files with 130 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
name: Bug Report
about: Report a crash, error, or unexpected behavior
labels:
- bug
body:
- type: dropdown
id: launcher
attributes:
label: Launcher
options:
- WoW.exe (direct)
- VanillaFixes.exe
- Other
default: 0
validations:
required: true
- type: dropdown
id: platform
attributes:
label: Platform
options:
- Windows
- Linux (Wine)
- macOS (Wine/CrossOver)
default: 0
validations:
required: true
- type: textarea
id: description
attributes:
label: Bug Report
description: Attach your WeirdUtils DLL(s) and crash log (.txt from Errors/ folder) by dragging them into this box.
value: |
## What happened?
## Steps to reproduce:
## Other DLLs loaded (nampower, SuperWoW, UnitXP, etc.):
validations:
required: true
+2
View File
@@ -0,0 +1,2 @@
blank_issues_enabled: false
contact_links: []
+10
View File
@@ -0,0 +1,10 @@
name: Feature Request / Question
about: Suggest a feature or ask a question
body:
- type: textarea
id: description
attributes:
label: Description
description: What would you like to see, or what question do you have?
validations:
required: true
+77
View File
@@ -0,0 +1,77 @@
/*
* weirdutils_api.h - Runtime Module Control API for WeirdUtils
*
* Header-only, no .lib needed. Include this file and call the inline
* wrappers; they resolve the DLL exports at runtime via GetModuleHandleA
* and GetProcAddress. Returns 0 / no-ops if WeirdUtils is not loaded.
*
* Usage:
* #include "weirdutils_api.h"
*
* if (WeirdUtils_IsModuleActive("transmogfix"))
* WeirdUtils_DisableModule("transmogfix");
*/
#ifndef WEIRDUTILS_API_H
#define WEIRDUTILS_API_H
#include <windows.h>
#ifdef __cplusplus
extern "C" {
#endif
/* ---- Function pointer typedefs ---- */
typedef int (__cdecl *WeirdUtils_IsModuleActiveFn)(const char *name);
typedef int (__cdecl *WeirdUtils_DisableModuleFn)(const char *name);
typedef int (__cdecl *WeirdUtils_DisableAllFn)(void);
/* ---- DLL auto-discovery ---- */
static const char *const WeirdUtils__DllNames[] = {
"weirdutils.dll",
"pngscreenshots.dll",
"transmogfix.dll",
"customassets.dll",
"logsessions.dll",
"healtextfix.dll",
"bigcursor.dll",
"minimapicons.dll",
NULL
};
static FARPROC WeirdUtils__Resolve(const char *func_name) {
int i;
for (i = 0; WeirdUtils__DllNames[i] != NULL; ++i) {
HMODULE hMod = GetModuleHandleA(WeirdUtils__DllNames[i]);
if (hMod) {
FARPROC proc = GetProcAddress(hMod, func_name);
if (proc) return proc;
}
}
return NULL;
}
/* ---- Inline wrappers (no-op if DLL not loaded) ---- */
static int WeirdUtils_IsModuleActive(const char *name) {
WeirdUtils_IsModuleActiveFn fn = (WeirdUtils_IsModuleActiveFn)WeirdUtils__Resolve("WeirdUtils_IsModuleActive");
return fn ? fn(name) : 0;
}
static int WeirdUtils_DisableModule(const char *name) {
WeirdUtils_DisableModuleFn fn = (WeirdUtils_DisableModuleFn)WeirdUtils__Resolve("WeirdUtils_DisableModule");
return fn ? fn(name) : 0;
}
static int WeirdUtils_DisableAll(void) {
WeirdUtils_DisableAllFn fn = (WeirdUtils_DisableAllFn)WeirdUtils__Resolve("WeirdUtils_DisableAll");
return fn ? fn() : 0;
}
#ifdef __cplusplus
}
#endif
#endif /* WEIRDUTILS_API_H */