1374 Commits
Author SHA1 Message Date
Duy Tran KhanhandEilionoir Tunnicliff d63374109b Add localizations as of 11/12/2022
* New translations Localizable.strings (Chinese Traditional)

* New translations Localizable.strings (English)

* New translations Localizable.strings (Vietnamese)

* New translations Localizable.strings (Portuguese, Brazilian)

* New translations Localizable.strings (Indonesian)

* New translations Localizable.strings (Persian)

* New translations Localizable.strings (Thai)

* New translations Localizable.strings (Kazakh)

* New translations Localizable.strings (Turkish)

* New translations Localizable.strings (Malay)

* New translations Localizable.strings (English, United Kingdom)

* New translations Localizable.strings (Pirate English)

* New translations Localizable.strings (Filipino)

* New translations Localizable.strings (Tatar)

* New translations Localizable.strings (Bashkir)

* New translations Localizable.strings (English (upside down))

* New translations Localizable.strings (LOLCAT)

* New translations Localizable.strings (Ukrainian)

* New translations Localizable.strings (Swedish)

* New translations Localizable.strings (French)

* New translations Localizable.strings (Hebrew)

* New translations Localizable.strings (Spanish)

* New translations Localizable.strings (Arabic)

* New translations Localizable.strings (Catalan)

* New translations Localizable.strings (Czech)

* New translations Localizable.strings (German)

* New translations Localizable.strings (Greek)

* New translations Localizable.strings (Finnish)

* New translations Localizable.strings (Serbian (Cyrillic))

* New translations Localizable.strings (Italian)

* New translations Localizable.strings (Japanese)

* New translations Localizable.strings (Korean)

* New translations Localizable.strings (Lithuanian)

* New translations Localizable.strings (Dutch)

* New translations Localizable.strings (Norwegian)

* New translations Localizable.strings (Polish)

* New translations Localizable.strings (Portuguese)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Slovak)

* New translations Localizable.strings (Russian (pre-revolutionary))

* New translations Localizable.strings (Chinese Traditional)

* New translations Localizable.strings (Polish)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Filipino)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Chinese Traditional)

* New translations Localizable.strings (Turkish)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Turkish)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Romanian)

* New translations Localizable.strings (Azerbaijani)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (Chinese Traditional)

* New translations Localizable.strings (English)

* New translations Localizable.strings (Vietnamese)

* New translations Localizable.strings (Portuguese, Brazilian)

* New translations Localizable.strings (Indonesian)

* New translations Localizable.strings (Persian)

* New translations Localizable.strings (Thai)

* New translations Localizable.strings (Kazakh)

* New translations Localizable.strings (Turkish)

* New translations Localizable.strings (Malay)

* New translations Localizable.strings (English, United Kingdom)

* New translations Localizable.strings (Pirate English)

* New translations Localizable.strings (Filipino)

* New translations Localizable.strings (Tatar)

* New translations Localizable.strings (Bashkir)

* New translations Localizable.strings (English (upside down))

* New translations Localizable.strings (LOLCAT)

* New translations Localizable.strings (Ukrainian)

* New translations Localizable.strings (Swedish)

* New translations Localizable.strings (French)

* New translations Localizable.strings (Hebrew)

* New translations Localizable.strings (Spanish)

* New translations Localizable.strings (Arabic)

* New translations Localizable.strings (Catalan)

* New translations Localizable.strings (Czech)

* New translations Localizable.strings (German)

* New translations Localizable.strings (Greek)

* New translations Localizable.strings (Finnish)

* New translations Localizable.strings (Serbian (Cyrillic))

* New translations Localizable.strings (Italian)

* New translations Localizable.strings (Japanese)

* New translations Localizable.strings (Korean)

* New translations Localizable.strings (Lithuanian)

* New translations Localizable.strings (Dutch)

* New translations Localizable.strings (Norwegian)

* New translations Localizable.strings (Polish)

* New translations Localizable.strings (Portuguese)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Slovak)

* New translations Localizable.strings (Russian (pre-revolutionary))

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (Malay)

* New translations Localizable.strings (Czech)

* New translations Localizable.strings (Spanish)

* New translations Localizable.strings (Spanish)

* New translations Localizable.strings (Spanish)

* New translations Localizable.strings (Chinese Traditional)

* New translations Localizable.strings (Italian)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (Chinese Traditional)

* New translations Localizable.strings (Vietnamese)

* New translations Localizable.strings (Indonesian)

* New translations Localizable.strings (Turkish)

* New translations Localizable.strings (Filipino)

* New translations Localizable.strings (Spanish)

* New translations Localizable.strings (Czech)

* New translations Localizable.strings (German)

* New translations Localizable.strings (Italian)

* New translations Localizable.strings (Polish)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Ukrainian)

* New translations Localizable.strings (Ukrainian)

* New translations Localizable.strings (Ukrainian)

* New translations Localizable.strings (German)

* New translations Localizable.strings (German)

* New translations Localizable.strings (Ukrainian)

* New translations Localizable.strings (Ukrainian)

* New translations Localizable.strings (Polish)

* New translations Localizable.strings (Ukrainian)

* New translations Localizable.strings (Spanish)

* New translations Localizable.strings (Spanish)

* New translations Localizable.strings (Ukrainian)

* New translations Localizable.strings (Ukrainian)

* New translations Localizable.strings (Pirate English)

* New translations Localizable.strings (Ukrainian)

* New translations Localizable.strings (Spanish)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Filipino)

* New translations Localizable.strings (English)

* New translations Localizable.strings (Pirate English)

* New translations Localizable.strings (Vietnamese)

* New translations Localizable.strings (Vietnamese)

* New translations Localizable.strings (Pirate English)

* New translations Localizable.strings (Pirate English)

* New translations Localizable.strings (German)

* New translations Localizable.strings (Ukrainian)

* New translations Localizable.strings (Filipino)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Ukrainian)

* New translations Localizable.strings (Bengali, India)

* New translations Localizable.strings (Bengali)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Ukrainian)

* New translations Localizable.strings (Chinese Traditional)

* New translations Localizable.strings (Italian)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (English (upside down))

* New translations Localizable.strings (Filipino)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (English (upside down))

* New translations Localizable.strings (Polish)

* New translations Localizable.strings (Bengali)

* New translations Localizable.strings (Bengali)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (Turkish)

* New translations Localizable.strings (English)

* New translations Localizable.strings (English)

* New translations Localizable.strings (Indonesian)

* New translations Localizable.strings (Turkish)

* New translations Localizable.strings (Swedish)

* New translations Localizable.strings (Ukrainian)

* New translations Localizable.strings (Chinese Traditional)

* New translations Localizable.strings (Vietnamese)

* New translations Localizable.strings (Portuguese, Brazilian)

* New translations Localizable.strings (Persian)

* New translations Localizable.strings (Thai)

* New translations Localizable.strings (Kazakh)

* New translations Localizable.strings (Hindi)

* New translations Localizable.strings (Slovak)

* New translations Localizable.strings (Malay)

* New translations Localizable.strings (English, United Kingdom)

* New translations Localizable.strings (Pirate English)

* New translations Localizable.strings (Filipino)

* New translations Localizable.strings (Tatar)

* New translations Localizable.strings (Latin)

* New translations Localizable.strings (Bashkir)

* New translations Localizable.strings (English (upside down))

* New translations Localizable.strings (LOLCAT)

* New translations Localizable.strings (Serbian (Cyrillic))

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (German)

* New translations Localizable.strings (English)

* New translations Localizable.strings (Indonesian)

* New translations Localizable.strings (Romanian)

* New translations Localizable.strings (French)

* New translations Localizable.strings (Spanish)

* New translations Localizable.strings (Arabic)

* New translations Localizable.strings (Catalan)

* New translations Localizable.strings (Czech)

* New translations Localizable.strings (Greek)

* New translations Localizable.strings (Portuguese)

* New translations Localizable.strings (Finnish)

* New translations Localizable.strings (Hebrew)

* New translations Localizable.strings (Italian)

* New translations Localizable.strings (Japanese)

* New translations Localizable.strings (Korean)

* New translations Localizable.strings (Lithuanian)

* New translations Localizable.strings (Dutch)

* New translations Localizable.strings (Norwegian)

* New translations Localizable.strings (Polish)

* New translations Localizable.strings (Russian (pre-revolutionary))

* New translations Localizable.strings (Danish)

* New translations Localizable.strings (Ukrainian)

* New translations Localizable.strings (English (upside down))

* New translations Localizable.strings (Danish)

* New translations Localizable.strings (German)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (German)

* New translations Localizable.strings (German)

* New translations Localizable.strings (Korean)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (English)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (German)

* New translations Localizable.strings (Ukrainian)

* New translations Localizable.strings (English (upside down))

* New translations Localizable.strings (French)

* New translations Localizable.strings (French)

* New translations Localizable.strings (French)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (French)

* New translations Localizable.strings (French)

* New translations Localizable.strings (French)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (French)

* New translations Localizable.strings (French)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (Chinese Simplified)

* New translations Localizable.strings (English)

* New translations Localizable.strings (Spanish)

Co-authored-by: Eilionoir Tunnicliff <[email protected]>
v2.1rc1
2022-11-12 16:59:14 -05:00
Eilionoir Tunnicliff ab5bd8469e Changes
- Removed FAQ, About Launcher, and Update History buttons
- Moved *.png to Assets.xcassets
- Moved LPVC2 to LPVC
2022-11-10 00:03:37 -05:00
Eilionoir Tunnicliff e6321546bd Remove jailbreak-specific install instructions 2022-11-08 13:10:11 -05:00
Duy Tran Khanh 8f8aaa8fcc CC Editor Fix: reset undoManager on launch
For some reason, undoManager was not reset after presenting new view controller. This made the editor think that it had unsaved changes.
2022-11-07 18:49:11 +07:00
khanhduytran0 32148d2bff Implement undo/redo for custom controls editor 2022-11-07 18:28:12 +07:00
khanhduytran0 ac3e60ea41 Unsandboxed self-JIT now cleanup child process 2022-11-07 18:27:29 +07:00
Eilionoir Tunnicliff 7690512602 Switch to PojavLauncher's website for changelog 2022-11-06 23:29:30 -05:00
Duy Tran Khanh d40539df05 Localize CustomControlsViewController 2022-11-04 19:10:10 +07:00
Duy Tran Khanh b5af92d0f5 JVM crash dump: now shown, disable some Cr4shed handler
When Cr4shed crash handler is on, chaining to it will eventually crash
instead of returning so that JVM can continue perform dump. For now,
signal handlers are reset to default.

abort() is now caught and shown in the launcher.

Temporarily disabled safe area when windowed, until I can properly set
it up, in order to workaround buttons going out of bounds.
2022-11-03 21:12:55 +07:00
Duy Tran Khanh 4c502ccec3 ControllerInput: correct scrolling 2022-11-01 06:14:26 +07:00
mariobrostech 121dbedfde Update README to include the new PojavLauncher URL (#410) 2022-10-31 12:11:09 -04:00
Duy Tran Khanh 8ca77a1b73 Support resizable for iPadOS Stage Manager
On iPadOS, PojavLauncher can be launched in portrait mode
Declare controller support in Info.plist
Sync LWJGL changes from Android repo
2022-10-31 11:13:03 +07:00
Eilionoir Tunnicliff 583ba327a8 Change link 2022-10-29 02:04:09 -04:00
Duy Tran Khanh 1f85287590 reloadVersionList: fetch local when there isn’t cache 2022-10-22 20:41:04 +07:00
Duy Tran Khanh 5c8d2f9cdc Bug fix: SHA1 mismatch because old file was not removed
This occurred after 1.19.x had got assets update for the upcoming
1.19.3 release.
2022-10-20 11:18:14 +07:00
Duy Tran Khanh 8218a28e4d For 503aa82: it turns out iOS has stolen inputView
This commit should fix its core issue, so the workaround is removed.
For a while, UITextField variable was named `inputView`, which is same
as the name UIKit used to query custom input view. It was not until
recently that the crash started occurring on my device.
Other fixes (for LogView):
- Line indentation in SurfaceViewController+LogView.m:214
- Navigation bar size: now call sizeToFit
2022-10-19 17:59:18 +07:00
Duy Tran Khanh 8c0b8da9c3 Add menu icons; Error is now shown in fullscreen
JIT check: increase check timeout
2022-10-18 18:27:50 +07:00
Duy Tran Khanh 503aa827a9 Workaround random UIViewControllerHierarchyInconsistency crashes 2022-10-18 18:18:43 +07:00
Duy Tran Khanh 02a835685d Fixes #406: L1, R1 cause double slot switching 2022-10-18 18:17:32 +07:00
Duy Tran Khanh 4bc676e4fa ControllerInput: correct LThumb degree calculation 2022-10-17 07:35:18 +07:00
Duy Tran Khanh db7117e407 ControllerInput: Properly handle left joystick directions 2022-10-16 17:42:16 +07:00
Duy Tran Khanh 8789a7e9a7 MCDownloader: fallback for json with missing client info
Download failures now include call stack.
2022-10-15 19:00:55 +07:00
Duy Tran Khanh 56d7771d54 Add ent to allow picking jar from iCloud (for TrollStore)
As suggested by @asdfugil
2022-10-15 17:15:44 +07:00
Duy Tran Khanh d6d6f7b989 Bug fix #397: ControllerInput mapping issue
Because GLFW_GAMEPAD_AXIS_LR_TRIGGER have the same constant values as
GLFW_GAMEPAD_BUTTON_LR_BUMPER, both get overriden to left/right mouse
button.

This commit also corrects Back, Start button mapping: tried to write
mapping to a wrong+uninitialized NSDictionary
2022-10-15 10:04:26 +07:00
Duy Tran Khanh 1a1b829698 Disable WebView opaque (fixes #400) 2022-10-14 05:31:43 +07:00
Duy Tran Khanh bc060b5cdf Add a tiny Waiting for JIT dialog 2022-10-13 11:17:18 +07:00
Duy Tran Khanh 09567438cd tweaks 2022-10-11 20:01:56 +07:00
Duy Tran Khanh 76ae494557 Split SurfaceViewController.m to separate files
It's slowly getting too big, so I have to split, module-like organized.
- Category LogView (Log output, just added)
- Category Navigation (drawer menu)
- TrackedTextField
2022-10-11 19:54:58 +07:00
Duy Tran Khanh d3229575a9 Skip ptrace if already being debugged (#395)
It seems like Jitterbug launches app with parent pid ≠ 0, which prevented app from reaching UIApplicationMain.
2022-10-10 10:25:10 +07:00
Duy Tran Khanh 31fee44bf7 Fixes (mostly for #385) 2022-10-06 20:43:03 +07:00
Eilionoir Tunnicliff 781e643b64 Move to sandboxed directory for all users
This commit fixes issues where users migrating from the debian package to TrollStore will lose access to existing PojavLauncher data, by beginning a final migration to a sandboxed directory. We also remove the compatibility symlink option, to get people familiar with the new location and prepare for .pojavpack.

This commit breaks installations of PojavLauncher installed with AppSync Unified. Recommend installing with TrollStore or sideloading as if it were an unjailbroken device.
2022-10-03 00:21:32 -04:00
Duy Tran Khanh b46c64cc59 Changes and fixes to input, mark nonatomic to others
- Controller: implement ticking, swapped thumbstick mapping to match
common usage
- External mouse should continue sending move while mouse button is
being held
- Tweak touch scroll velocity division to 100
2022-10-02 10:54:04 +07:00
Duy Tran Khanh 6464c62d36 Fix compiler warning at menuWithTitle nonnull 2022-09-29 22:18:45 +07:00
Duy Tran Khanh 6c256aa362 Correct swipeable button offset 2022-09-26 05:41:04 +07:00
Duy Tran Khanh 87242860c6 Set minimum RAM allocation slider to 250MB 2022-09-25 18:50:55 +07:00
Duy Tran Khanh a8e5411796 these can't be localized 2022-09-25 11:50:30 +07:00
Duy Tran Khanh f5c06af090 Added option to open game dir in the file manager
Bug fix: version selector should now sync properly when change game
directory.
2022-09-25 11:38:33 +07:00
Duy Tran Khanh c616cb152f Moved toolbar code, added WIP News tab 2022-09-25 11:13:59 +07:00
Duy Tran Khanh ec575fb8c4 Properly handled gamepad joystick (untested) 2022-09-25 11:00:05 +07:00
Duy Tran Khanh 35fa465a95 Use Files if containerized and opening folder from game 2022-09-25 10:58:45 +07:00
Duy Tran Khanh cf9d0d136d Use FileSystemPreferencesFactory instead of OSX 2022-09-25 10:52:35 +07:00
Duy Tran Khanh 9217c52442 Fix b806c5d: retain authVC for callback to work again 2022-09-23 11:24:14 +07:00
Duy Tran Khanh e69b019032 View controller presentation tweaks 2022-09-22 19:11:22 +07:00
Duy Tran Khanh fde7bb0139 null fix, remove some log calls 2022-09-22 10:36:15 +07:00
Duy Tran Khanh b806c5df3c Many changes and fixes
Changes:
- Decreased multithreaded download max threads to 10
- Moved launcher buttons to match Android UI
- Moved UIKit hooking code to separate file
- The Launcher tab is now marked as under construction.
- Updated README.md to avoid confusion between self-JIT and auto-JIT.

New settings section: UI debugging
- Unlock iPadOS UI: allow iPhone users to unlock every iPadOS-only
features (floating keyboard, popover alert, sheet-styled view
controllers, etc.)
- Show layout bounds, like the one in Android's developer setting
- Show layout overlapping

Fixes:
- App container data is not shown in the Files app due to
`no-container` entitlement, replaced it with `no-sandbox`.
- Ignore jinput-platform libraries to avoid download error
- Multithreaded assets download breaks
- `Send your logs` crashes on iPadOS
2022-09-22 09:52:56 +07:00
Duy Tran Khanh f404ddd2cb Add a delay between held state on click 2022-09-17 21:46:26 +07:00
Duy Tran Khanh 9aa7095ca1 Auto RAM tweaks
- It is now accessible for everyone (sandboxed, TrollStored, jailbroken)
- Enabled by default if Jetsam can't be controlled
- Default ratio: 25% (sandboxed), 40% (TrollStored or jailbroken)
2022-09-16 21:29:12 +07:00
Duy Tran Khanh 77370a01ea Self-controlled Jetsam limit for unsandboxed env 2022-09-16 17:43:53 +07:00
Duy Tran Khanh 2753364f79 Bug fix regarding mod installer window size 0x0 2022-09-16 15:40:44 +07:00
khanhduytran0 a7a4e015f4 Don't exclude jinput; Updated gl4es to https://github.com/PojavLauncherTeam/gl4es-114-extra/commit/29ce130 2022-09-16 10:39:25 +07:00