Compare commits
26 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
67a483a941 | ||
|
|
8d2c701b46 | ||
|
|
c95f6663fe | ||
|
|
a1a649b984 | ||
|
|
afbe521849 | ||
|
|
74c6c6defb | ||
|
|
d5c2035d78 | ||
|
|
4f643cc7dc | ||
|
|
fd121c6866 | ||
|
|
56ca67cae8 | ||
|
|
844d27a57e | ||
|
|
8ded2c90ca | ||
|
|
b226f68818 | ||
|
|
ce9f8f3b1d | ||
|
|
078f2c9a58 | ||
|
|
2d888d1a80 | ||
|
|
c213983a29 | ||
|
|
2fcc6a2401 | ||
|
|
dcc1d0401e | ||
|
|
0ab198d264 | ||
|
|
89e95786a1 | ||
|
|
b3705ae193 | ||
|
|
ec36c07810 | ||
|
|
67b17c98b2 | ||
|
|
c7c328fb22 | ||
|
|
ab4f7e7f3a |
|
|
@ -268,7 +268,7 @@ jobs:
|
|||
command: |
|
||||
cd ~/MBHaxe
|
||||
./package-macos.sh v$COMMIT_TAG
|
||||
cd "macos-dist/MarbleBlast Platinum.app/Contents/MacOS"
|
||||
cd "macos-dist/MarbleBlast Gold.app/Contents/MacOS"
|
||||
otool -L marblegame
|
||||
cd ../Frameworks
|
||||
cp /usr/local/lib/{ui.hdll,openal.hdll,fmt.hdll,sdl.hdll,libSDL2-2.0.0.dylib,ssl.hdll,uv.hdll,datachannel.hdll} .
|
||||
|
|
@ -292,27 +292,27 @@ jobs:
|
|||
name: Sign app bundle
|
||||
command: |
|
||||
cd ~/MBHaxe/macos-dist
|
||||
xattr -rc "MarbleBlast Platinum.app"
|
||||
cp "MarbleBlast Platinum.app/Contents/Entitlements.plist" .
|
||||
codesign --deep --entitlements Entitlements.plist -fs - "MarbleBlast Platinum.app"
|
||||
xattr -rc "MarbleBlast Gold.app"
|
||||
cp "MarbleBlast Gold.app/Contents/Entitlements.plist" .
|
||||
codesign --deep --entitlements Entitlements.plist -fs - "MarbleBlast Gold.app"
|
||||
|
||||
- run:
|
||||
name: ZIP Bundle
|
||||
command: |
|
||||
cd ~/MBHaxe/macos-dist
|
||||
npm install -g create-dmg
|
||||
create-dmg --dmg-title="Marble Blast Platinum" "MarbleBlast Platinum.app" || true
|
||||
rm -rf "macos-dist/MarbleBlast Platinum.app.in"
|
||||
mv "marblegame vpipeline.git.tag.dmg" "MBHaxe-Platinum-Mac.dmg"
|
||||
create-dmg --dmg-title="Marble Blast Gold" "MarbleBlast Gold.app" || true
|
||||
rm -rf "macos-dist/MarbleBlast Gold.app.in"
|
||||
mv "marblegame vpipeline.git.tag.dmg" "MBHaxe-Gold-Mac.dmg"
|
||||
# zip -r MBHaxe-Ultra-Mac.zip macos-dist/
|
||||
|
||||
- run:
|
||||
name: Upload to Artifact Storage
|
||||
command: |
|
||||
scp -o StrictHostKeyChecking=no -i $KEYPATH -P $PORT ~/MBHaxe/macos-dist/MBHaxe-Platinum-Mac.dmg $REMOTEDIR/MBHaxe-Platinum-Mac.dmg
|
||||
scp -o StrictHostKeyChecking=no -i $KEYPATH -P $PORT ~/MBHaxe/macos-dist/MBHaxe-Gold-Mac.dmg $REMOTEDIR/MBHaxe-Gold-Mac.dmg
|
||||
|
||||
# - store_artifacts:
|
||||
# path: ~/MBHaxe/MBHaxe-Platinum-Mac.zip
|
||||
# path: ~/MBHaxe/MBHaxe-Gold-Mac.zip
|
||||
|
||||
build-win:
|
||||
executor:
|
||||
|
|
@ -443,14 +443,14 @@ jobs:
|
|||
name: Zip bundle
|
||||
command: |
|
||||
cd ~/project
|
||||
7z a MBHaxe-Platinum-Win.zip release/
|
||||
7z a MBHaxe-Gold-Win.zip release/
|
||||
|
||||
- run:
|
||||
name: Upload to Artifact Storage
|
||||
command: |
|
||||
scp -o StrictHostKeyChecking=no -i $KEYPATH -P $PORT ~/project/MBHaxe-Platinum-Win.zip $REMOTEDIR/MBHaxe-Platinum-Win.zip
|
||||
scp -o StrictHostKeyChecking=no -i $KEYPATH -P $PORT ~/project/MBHaxe-Gold-Win.zip $REMOTEDIR/MBHaxe-Gold-Win.zip
|
||||
# - store_artifacts:
|
||||
# path: ~/project/MBHaxe-Platinum-Win.zip
|
||||
# path: ~/project/MBHaxe-Gold-Win.zip
|
||||
|
||||
build-lin:
|
||||
docker:
|
||||
|
|
@ -577,7 +577,7 @@ jobs:
|
|||
- run:
|
||||
name: Package portable bundle
|
||||
command: |
|
||||
DIST=$HOME/MBHaxe-Platinum-Linux
|
||||
DIST=$HOME/MBHaxe-Gold-Linux
|
||||
mkdir -p "$DIST"
|
||||
|
||||
# Native binary
|
||||
|
|
@ -671,14 +671,14 @@ jobs:
|
|||
ln -sf libhl.so.1 libhl.so
|
||||
|
||||
cd $HOME
|
||||
tar -czvf MBHaxe-Platinum-Linux.tar.gz MBHaxe-Platinum-Linux
|
||||
tar -czvf MBHaxe-Gold-Linux.tar.gz MBHaxe-Gold-Linux
|
||||
|
||||
- run:
|
||||
name: Upload to Artifact Storage
|
||||
command: |
|
||||
scp -o StrictHostKeyChecking=no -i $KEYPATH -P $PORT \
|
||||
$HOME/MBHaxe-Platinum-Linux.tar.gz \
|
||||
$REMOTEDIR/MBHaxe-Platinum-Linux.tar.gz
|
||||
$HOME/MBHaxe-Gold-Linux.tar.gz \
|
||||
$REMOTEDIR/MBHaxe-Gold-Linux.tar.gz
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
200
CHANGELOG.md
|
|
@ -1,173 +1,111 @@
|
|||
# 1.7.3
|
||||
Hotfix time!
|
||||
- Fixed chat messages being escaped a bit too much.
|
||||
|
||||
# 1.7.2
|
||||
This update brings the following bugfixes:
|
||||
# 1.1.13
|
||||
This update brings feature and bugfix parity with the latest MBP version:
|
||||
- Fixed a ton of bugs that were fixed in MBP since the last update.
|
||||
- Updated the options menu to have more meaningful options and add more options for touch controls.
|
||||
- Added Import and Export Progress to Options menu to transfer game progress between devices.
|
||||
- Added momentum based scrolling on touch devices for menus.
|
||||
- Added TURN server support for multiplayer. Players behind strict NATs should now be able to play multiplayer without issues.
|
||||
- Made the game files to be case insensitive to allow running the game on case sensitive filesystems without issues.
|
||||
- Escaped all user input to prevent HTML injection in the UI.
|
||||
- Fixed various race condition issues.
|
||||
- Improved camera sensitivity on touch devices.
|
||||
- Implemented camera centering for touch controls when free look is disabled.
|
||||
- Various performance improvements and crash fixes.
|
||||
- Implemented console cheat commands. DefaultMarble.attribute = value; to change marble attributes.
|
||||
- Fixed a bug with the timer when playing a replay.
|
||||
- Fixed a crash that could happen in multiplayer.
|
||||
- Fixed not being able to load textures in certain custom levels.
|
||||
- Fixed softlock when playing a user installed custom level.
|
||||
- Fixed gravity changes not rewinding properly.
|
||||
- Fixed skies not rendering correctly at times in the web version.
|
||||
|
||||
# 1.7.1
|
||||
This update brings the following bugfixes:
|
||||
- Fixed a crash when the marble goes out of bounds.
|
||||
- Fixed the FPS limiter not limiting rendered frames per second.
|
||||
- Fixed scores not being sent in certain cases.
|
||||
|
||||
# 1.7.0
|
||||
It's the fabled Leaderboards update!
|
||||
Leaderboards have been implemented for all the levels with automatic replay uploading for official levels as well as watching top replays. Additionally, segregation has been made to allow switching between rewind and non-rewind scores on the leaderboards.
|
||||
|
||||
Changes:
|
||||
- Added an FPS limiter in the settings.
|
||||
- Added custom friction support as well as custom marble attributes. Now levels can modify the marble's physics parameters to their liking.
|
||||
- Improved level select persistence. Now your last chosen level will be displayed on quitting or finishing a level instead of last level in a category.
|
||||
- Improved the Gem Hunt algorithm to match closer to PlatinumQuest's.
|
||||
- Trigger detection now matches with the original game.
|
||||
- Camera is now smoothened.
|
||||
- Fixed camera not pointing at gems after respawn in Multiplayer.
|
||||
- Fixed Superspeed powerup sometimes throwing you in the wrong direction in Multiplayer.
|
||||
- Fixed the marble being wonky at times in replays.
|
||||
- Fixed an interaction with Random powerup giving Time Travels.
|
||||
- Fixed some collision issues with moving platforms.
|
||||
|
||||
# 1.6.1
|
||||
# 1.1.12
|
||||
This update fixes the following bugs:
|
||||
- Fixed a crash when there are more players than spawnpoints in multiplayer.
|
||||
- Fixed minor UI bugs with kicking and player list.
|
||||
- Prevent timing out of players who are still loading the level.
|
||||
- Fixed sort order of two multiplayer levels.
|
||||
- Attempted to improve performance when someone joins mid-game.
|
||||
- Touch Controls: Pressing pause now releases the joystick.
|
||||
- Fixed marble phasing through interiors when going too fast
|
||||
- Fixed jittery interaction with marble and moving platforms
|
||||
|
||||
# 1.6.0
|
||||
A big update! Bringing in the cross platform multiplayer the way it was meant to be played!
|
||||
Please note that it is always and always recommended to download the native client for unlocked FPS and higher performance.
|
||||
- Added cross platform multiplayer, the Online button is now unlocked.
|
||||
- Gem Hunt Free-for-all only, no other game modes are present.
|
||||
- Server authoritative marble physics and rollback netcode for all gameplay elements - including moving platforms.
|
||||
- Up to 8 players due to platform technical limitations.
|
||||
- Seamless multiplayer custom levels integration through Marbleland.
|
||||
- Spectator mode is implemented but lasts until the end of match.
|
||||
- Four PlatinumQuest levels that were present in MBP multiplayer have been added along with their shaders.
|
||||
- Added the Ability to toggle between old spawns and new spawns for certain multiplayer maps.
|
||||
- Added Competitor Mode:
|
||||
- A new gem spawn will happen automatically after a certain duration depending on number of gems picked up.
|
||||
- Reduced Mega Marble duration.
|
||||
- Only Ultra Blasts can affect marbles.
|
||||
- Fixed starting point.
|
||||
- Touch controls improvements:
|
||||
- Configure visibility of On-Screen Controls
|
||||
- Configure behavior of buttons acting as camera joystick by altering Button Camera Factor
|
||||
- Configure your camera sensitivity and swipe extent.
|
||||
- Improved touch camera sensitivity a bit.
|
||||
- Added Dynamic Joystick for Touch Controls.
|
||||
- Added support for iOS for the web version.
|
||||
- Improved Controller support for Android.
|
||||
- Optimized the game to run at much higher framerates.
|
||||
- Improved marble shadow.
|
||||
- Fixed certain customs missing interiors/textures.
|
||||
- Fixed marble collision at varying radii.
|
||||
- Fixed Super Speed throwing you in the wrong direction.
|
||||
|
||||
# 1.5.4
|
||||
This update fixes the following bugs:
|
||||
- Updated Marbleland support. New levels will now automatically show up.
|
||||
- Implement "Latest" and "Alphabetical" sorting for Marbleland customs.
|
||||
# 1.1.11
|
||||
This update brings the following fixes:
|
||||
- Minor UI changes.
|
||||
- Optimized rewind to use memory better.
|
||||
- Fixed a handful of memory leaks.
|
||||
- Match with MBG Collision code.
|
||||
|
||||
# 1.5.3
|
||||
This update fixes the following bugs:
|
||||
- Slightly improved marble cubemaps.
|
||||
- Fixed camera movement for varying FPS and sensitivities.
|
||||
- Fixed rolling sound bug.
|
||||
# 1.1.10
|
||||
This update brings the following fixes:
|
||||
- Fixed marble finish animation not working.
|
||||
- Fixed camera movement at varying FPS and sensitivities.
|
||||
- Minor performance improvements.
|
||||
|
||||
# 1.5.2
|
||||
- Updated Marbleland integration link to the new site.
|
||||
|
||||
# 1.5.1
|
||||
# 1.1.9
|
||||
This update fixes the following bugs:
|
||||
- Fixed bugs caused by rewinding past the level start.
|
||||
- Fixed crash caused by traplaunch.
|
||||
- Removed the ability to rewind if you finished the level.
|
||||
- Fixed a bug concerning moving platform collisions.
|
||||
- Made moving platforms rewind correctly in case of traplaunches.
|
||||
|
||||
# 1.5.0
|
||||
This update brings the following big changes:
|
||||
- Added Rewind capabilities. Open options to configure it.
|
||||
- Added capability to play locally installed custom levels. Install your customs in platinum/data/missions.
|
||||
- Improved traplaunches, now they should be much more easier to do.
|
||||
- Buffed nuke a bit, hold jump key to make it blast much stronger.
|
||||
- Minor physics improvements.
|
||||
- Minor performance improvements.
|
||||
# 1.1.8
|
||||
This is the first version to support android!
|
||||
This update adds the following features and bugfixes:
|
||||
- Adds Rewind feature. Open options to enable rewind and configure its settings!
|
||||
- Improved traplaunches, they should now be more easily doable.
|
||||
- Minor physics fixes.
|
||||
- Fixed broken finish pads
|
||||
|
||||
# 1.4.0
|
||||
This update adds all the playable MBG, MBP, MBU custom levels via Marbleland integration. Play the entire custom level archive without manually installing with, with a single click.
|
||||
- Added controller support. (Thanks thearst3rd)
|
||||
- Improved replay saving flow.
|
||||
# 1.1.7
|
||||
This update brings the following changes:
|
||||
- Added controller support.
|
||||
- Added support to load and play custom levels. (Native only)
|
||||
- Improved replay UX flow.
|
||||
- Improved marble physics a bit.
|
||||
- Cleaned up some UI.
|
||||
- Fixed collision detection bugs.
|
||||
- Fixed various graphical bugs.
|
||||
- Fixed item hitboxes being too small.
|
||||
# 1.3.3
|
||||
This update addresses the following issues:
|
||||
- FOV is now based on horizontal FOV instead of vertical, matching with- original MB.
|
||||
- Fixed the marble getting stuck in the corners.
|
||||
- Fixed black screen on opening the game for the first time on MacOS
|
||||
- Fixed Tornado rendering.
|
||||
- Fixed some collision bugs.
|
||||
|
||||
# 1.3.2
|
||||
This is the first build of MBHaxe Platinum that has Mac support.
|
||||
- MBU interior shaders now match more closely to those of MBU in Xbox.
|
||||
- Added Console for debug purposes. Press Tilde ~ to bring it up.
|
||||
- Added replay browser for native.
|
||||
# 1.1.6
|
||||
This release backports the fixes from MBP:
|
||||
This is the first build of MBHaxe Gold that has Mac support.
|
||||
Changelog:
|
||||
- FOV is now based on horizontal FOV instead of vertical, matching with original MB.
|
||||
- Fixed the marble getting stuck in the corners.
|
||||
- Fixed broken resolution after pressing the back button in Retina display.
|
||||
- Fixed wrong level order in Intermediate.
|
||||
|
||||
# 1.1.5
|
||||
This release backports the fixes from MBP:
|
||||
This is the first build of MBHaxe Gold that has Mac support.
|
||||
Changelog:
|
||||
- Reduced lag caused by end pad.
|
||||
- Fixed inactive button hover sounds.
|
||||
- Fixed OOB animation timings.
|
||||
- Added HighDPI/Retina support.
|
||||
- Fixed the color bugs regarding text input.
|
||||
- Minor graphical changes to match original.
|
||||
- Minor performance and physics improvements.
|
||||
- Fixed tornado rendering.
|
||||
|
||||
# 1.3.1
|
||||
This release fixes a lot of bugs that were reported and adds in minor improvements:
|
||||
# 1.1.4
|
||||
This release backports the fixes from MBP:
|
||||
- Fixed Pad animations not working
|
||||
- Fixed bugs relating to powerup pickup on respawn.
|
||||
- Fixed marble not using the hitbox of the rotated hitbox for item pickups.
|
||||
- Marble finish animation now matches more closely with the original.
|
||||
- Fixed camera keys not working.
|
||||
- Added keyboard shortcuts to certain buttons on certain dialog boxes.
|
||||
- Timer now becomes green on finishing, to match original.
|
||||
- Fixed double click sound on selecting level category.
|
||||
- Hypercube now uses MBG gameplay logic.
|
||||
- Added Time Travel Bonus messages to HUD.
|
||||
- Fixed lag caused by GJK/Startpad/Endpad.
|
||||
- Fixed being able to press the end game buttons while typing the name. The- input box will be focused.
|
||||
- Fixed being able to press the end game buttons while typing the name. The input box will be focused.
|
||||
- Fixed option sliders not updating values
|
||||
|
||||
# 1.3.0
|
||||
- Added Marble Blast Ultra levels as per Platinum.
|
||||
- Added Ultra Marbles as per Platinum and their shaders.
|
||||
- Added shaders for Ultra levels closely matching original MBU. (This may- lag mobile devices)
|
||||
# 1.1.3
|
||||
This update brings the following changes:
|
||||
- Updated Particle Rendering (improved performance)
|
||||
- Fixed lot of marble physics bugs, they should now be smoother.
|
||||
- Minor performance improvements.
|
||||
- Added restart button to touch controls.
|
||||
- Minor performance improvements
|
||||
|
||||
# 1.2.0
|
||||
- Implemented most Marble Blast Platinum 1.7.42 (except Ultra)
|
||||
- Marble reflections
|
||||
- Optimized resource loading and performance
|
||||
# 1.1.2
|
||||
This update brings the following changes:
|
||||
- Added basic state based replays.
|
||||
- Support for asynchronous resource loading on Web target.
|
||||
|
||||
# 1.1.0
|
||||
Touch Controls and Performance Improvements Update:
|
||||
- Updated the engine to the latest version
|
||||
- Added touch controls on the web version when it is loaded on mobile, along with its settings.
|
||||
- Improved level loading speed on web version and reduced WebGL crashes
|
||||
- Improved font rendering
|
||||
- Fixed tornado rendering bug
|
||||
- Minor performance and stability improvements overall
|
||||
|
||||
# 1.0.0
|
||||
Initial release, windows version.
|
||||
35
README.md
|
|
@ -10,40 +10,29 @@ The browser port supports touch controls, meaning it can be played on mobile dev
|
|||
### Marble Blast Gold: [Play](https://marbleblastgold.randomityguy.me/)
|
||||
### Marble Blast Platinum: [Play](https://marbleblast.randomityguy.me/)
|
||||
### Marble Blast Ultra: [Play](https://marbleblastultra.randomityguy.me/)
|
||||
## Windows, Mac and Linux
|
||||
### Marble Blast Gold: [Download](https://github.com/RandomityGuy/MBHaxe/releases/tag/1.1.14)
|
||||
### Marble Blast Platinum: [Download](https://github.com/RandomityGuy/MBHaxe/releases/tag/1.7.3)
|
||||
## Windows and Mac
|
||||
### Marble Blast Gold: [Download](https://github.com/RandomityGuy/MBHaxe/releases/tag/1.1.12)
|
||||
### Marble Blast Platinum: [Download](https://github.com/RandomityGuy/MBHaxe/releases/tag/1.7.1)
|
||||
### Marble Blast Ultra: [Download](https://github.com/RandomityGuy/MBHaxe/releases/tag/1.2.5-mbu)
|
||||
Linux port by [boucymatt](https://github.com/boucymatt). Supports Steam Deck.
|
||||
## Mac Instructions - Important
|
||||
Put the .app file in either /Applications or ~/Applications in order to run it properly.
|
||||
You will also have to bypass Gatekeeper since the .app is not signed.
|
||||
## Android
|
||||
### Marble Blast Gold: [Download](https://github.com/RandomityGuy/MBHaxe/releases/download/1.1.14/MBHaxe-Gold.apk)
|
||||
### Marble Blast Platinum: [Download](https://github.com/RandomityGuy/MBHaxe/releases/download/1.7.3/MBHaxe-Platinum.apk)
|
||||
### Marble Blast Gold: [Download](https://github.com/RandomityGuy/MBHaxe/releases/download/1.1.12/MBHaxe-Gold.apk)
|
||||
### Marble Blast Platinum: [Download](https://github.com/RandomityGuy/MBHaxe/releases/download/1.7.1/MBHaxe-Platinum.apk)
|
||||
### Marble Blast Ultra: [Download](https://github.com/RandomityGuy/MBHaxe/releases/download/1.2.5-mbu/MBHaxe-Ultra.apk)
|
||||
|
||||
## iOS (NEW!)
|
||||
### Marble Blast Gold: [Download](https://github.com/RandomityGuy/MBHaxe/releases/download/1.1.14/MBHaxe-Gold-iOS.ipa)
|
||||
### Marble Blast Platinum: [Download](https://github.com/RandomityGuy/MBHaxe/releases/download/1.7.3/MBHaxe-Platinum-iOS.ipa)
|
||||
### Marble Blast Ultra: [Download](https://github.com/RandomityGuy/MBHaxe/releases/download/1.2.5-mbu/MBHaxe-Ultra-iOS.ipa)
|
||||
Ported to iOS by [boucymatt](https://github.com/boucymatt).
|
||||
iOS builds ship as `.ipa` files that must be sideloaded, as Apple does not allow direct installs outside the App Store. Use [LiveContainer](https://github.com/LiveContainer/LiveContainer) or an AltStore-compatible store (AltStore, SideStore, etc.). To install and update all builds from one place, add the AltStore source.
|
||||
<a href="https://stikstore.app/altdirect/?url=https://dl.randomityguy.me/altstore-source.json" target="_blank">
|
||||
<img src="https://raw.githubusercontent.com/StikStore/altdirect/refs/heads/main/assets/png/AltSource_Blue.png" alt="Add AltSource" width="200"/>
|
||||
</a>
|
||||
|
||||
## Xbox (NEW!)
|
||||
### Marble Blast Ultra: [Download](https://github.com/RandomityGuy/MBHaxe/releases/download/1.2.5-mbu/MBHaxe-Ultra-UWP-Xbox.msix)
|
||||
Ported to Xbox via UWP by [Daniel Worley](https://github.com/worleydl).
|
||||
You will need to enable Developer Mode on your Xbox in order to sideload the app. The walkthrough can be found at https://www.youtube.com/watch?v=2Ly9TIdu9uw.
|
||||
|
||||
## Additional Features
|
||||
- Cross Platform Multiplayer: Available in Ultra and Platinum. You can host and join multiplayer matches in any of these platforms: Windows, Mac, Linux, Web, Android, and iOS.
|
||||
- Cross Platform Multiplayer: Available in Ultra and Platinum. You can host and join multiplayer matches in any of these platforms: Windows, Mac, Web, Android.
|
||||
- Replay System: You can record your run using the built in replay system and watch it later.
|
||||
- Rewind: You can rewind your marble by enabling rewind in the Options and holding down the rewind key (defaults to R).
|
||||
- Controller Support: Full controller support is added to Marble Blast Ultra, with incomplete support for the rest.
|
||||
- Touch Controls: Available in the Web (mobile) and Android and iOS versions.
|
||||
- Touch Controls: Available in the web (mobile) and android versions.
|
||||
|
||||
# Screenshots
|
||||
<img src="https://imgur.com/Ncb4atl.png" width="640">
|
||||
|
|
@ -93,16 +82,13 @@ If the build dependencies are fullfilled, compile with `haxe compile-js.hxml` an
|
|||
See [here](README-macOS.md)
|
||||
|
||||
## Android
|
||||
The branches used for Android builds are `mbg-mobile`, `mbp-mobile` or `mbu-mobile`.
|
||||
The branches used for Android builds are `mbg-android`, `mbp-android-new` or `mbu-android`.
|
||||
Clone [this repository](https://github.com/RandomityGuy/MBHaxeAndroidLibs) containing the necessary libraries for the build and merge its src folder with that of Export/android/app/src folder.
|
||||
Android NDK version 18.1.5063045 and platform SDK version 31 is needed.
|
||||
Install zyheaps haxelib as well.
|
||||
Finally run `gradlew` in Export/android folder and run `gradlew assembleRelease`
|
||||
This will build the apk file at Export/android/app/build/outputs/apk/release/app-release-unsigned.apk which you can sign yourself and install on your device.
|
||||
|
||||
## iOS
|
||||
The branches used for iOS builds are `mbg-mobile`, `mbp-mobile` or `mbu-mobile`. Follow the CI scripts in the .circleci folder to build the iOS version. You will need a Mac with Xcode installed and an Apple Developer account to build the iOS version. The resulting .ipa file can be sideloaded onto your device using AltStore or similar tools.
|
||||
|
||||
# FAQ
|
||||
|
||||
## Help I am able to reproduce a crash!
|
||||
|
|
@ -117,11 +103,12 @@ In browser, you can just resize your window. You can use the browser zoom featur
|
|||
In native version, you can just resize the window if windowed or use the resolution options in the menu or just directly modify settings.json
|
||||
|
||||
## How do I change my FOV?
|
||||
There is an FOV slider in the options menu.
|
||||
Edit settings.json for native version, edit the MBHaxeSettings key in LocalStorage in browser.
|
||||
In the Platinum and Ultra versions, there is an FOV slider.
|
||||
|
||||
## How do I unlock/lock FPS?
|
||||
You cannot unlock fps in the browser, it is forever set to vsync.
|
||||
In the native version, use the options menu to unlock/lock fps.
|
||||
In the native version, use the options menu to unlock/lock fps, or edit settings.json and set "vsync" to false to unlock fps.
|
||||
|
||||
## Hey can you please add this new feature?
|
||||
If this new feature of yours already exists in MBG but not in this port, then I will try to add it, if I get time to do so, otherwise chances are, I won't add it since I have other things to do and would rather not waste my time on this any further. You are free to do pull requests if you have already implemented said feature.
|
||||
|
|
|
|||
|
|
@ -1,108 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<font>
|
||||
<info face="MarkerFelt" size="42" bold="0" italic="0" charset="" unicode="1" stretchH="100" smooth="1" aa="1" padding="2,2,2,2" spacing="0,0" outline="0"/>
|
||||
<common lineHeight="54" base="47" scaleW="512" scaleH="256" pages="1" packed="0" alphaChnl="0" redChnl="0" greenChnl="0" blueChnl="0"/>
|
||||
<pages>
|
||||
<page id="0" file="MarkerFelt.png"/>
|
||||
</pages>
|
||||
<distanceField fieldType="msdf" distanceRange="4"/>
|
||||
<chars count="96">
|
||||
<char id="194" index="130" char="Â" width="28" height="50" xoffset="-1" yoffset="2" xadvance="26" chnl="15" x="0" y="0" page="0"/>
|
||||
<char id="124" index="95" char="|" width="8" height="46" xoffset="2" yoffset="14" xadvance="11" chnl="15" x="0" y="51" page="0"/>
|
||||
<char id="87" index="58" char="W" width="43" height="42" xoffset="-2" yoffset="12" xadvance="40" chnl="15" x="0" y="98" page="0"/>
|
||||
<char id="36" index="7" char="$" width="23" height="43" xoffset="-2" yoffset="11" xadvance="20" chnl="15" x="9" y="51" page="0"/>
|
||||
<char id="106" index="77" char="j" width="14" height="43" xoffset="-5" yoffset="15" xadvance="9" chnl="15" x="29" y="0" page="0"/>
|
||||
<char id="81" index="52" char="Q" width="28" height="41" xoffset="-1" yoffset="13" xadvance="24" chnl="15" x="33" y="44" page="0"/>
|
||||
<char id="72" index="43" char="H" width="23" height="41" xoffset="-1" yoffset="12" xadvance="21" chnl="15" x="44" y="0" page="0"/>
|
||||
<char id="92" index="63" char="\" width="18" height="41" xoffset="-2" yoffset="12" xadvance="13" chnl="15" x="0" y="141" page="0"/>
|
||||
<char id="102" index="73" char="f" width="20" height="41" xoffset="-2" yoffset="12" xadvance="15" chnl="15" x="0" y="183" page="0"/>
|
||||
<char id="104" index="75" char="h" width="21" height="41" xoffset="0" yoffset="12" xadvance="20" chnl="15" x="19" y="141" page="0"/>
|
||||
<char id="69" index="40" char="E" width="20" height="40" xoffset="0" yoffset="12" xadvance="18" chnl="15" x="21" y="183" page="0"/>
|
||||
<char id="84" index="55" char="T" width="24" height="40" xoffset="-2" yoffset="12" xadvance="20" chnl="15" x="41" y="141" page="0"/>
|
||||
<char id="89" index="60" char="Y" width="29" height="40" xoffset="-1" yoffset="13" xadvance="24" chnl="15" x="44" y="86" page="0"/>
|
||||
<char id="85" index="56" char="U" width="25" height="40" xoffset="-1" yoffset="13" xadvance="23" chnl="15" x="62" y="42" page="0"/>
|
||||
<char id="80" index="51" char="P" width="22" height="40" xoffset="0" yoffset="12" xadvance="18" chnl="15" x="68" y="0" page="0"/>
|
||||
<char id="83" index="54" char="S" width="23" height="40" xoffset="-2" yoffset="12" xadvance="20" chnl="15" x="42" y="182" page="0"/>
|
||||
<char id="68" index="39" char="D" width="22" height="40" xoffset="0" yoffset="13" xadvance="20" chnl="15" x="66" y="127" page="0"/>
|
||||
<char id="74" index="45" char="J" width="22" height="40" xoffset="-2" yoffset="13" xadvance="18" chnl="15" x="74" y="83" page="0"/>
|
||||
<char id="75" index="46" char="K" width="27" height="40" xoffset="-1" yoffset="12" xadvance="23" chnl="15" x="88" y="41" page="0"/>
|
||||
<char id="76" index="47" char="L" width="21" height="40" xoffset="-1" yoffset="13" xadvance="18" chnl="15" x="91" y="0" page="0"/>
|
||||
<char id="90" index="61" char="Z" width="29" height="40" xoffset="-2" yoffset="12" xadvance="25" chnl="15" x="113" y="0" page="0"/>
|
||||
<char id="88" index="59" char="X" width="29" height="40" xoffset="-2" yoffset="12" xadvance="25" chnl="15" x="66" y="168" page="0"/>
|
||||
<char id="86" index="57" char="V" width="27" height="40" xoffset="-2" yoffset="13" xadvance="23" chnl="15" x="89" y="124" page="0"/>
|
||||
<char id="78" index="49" char="N" width="27" height="40" xoffset="0" yoffset="12" xadvance="25" chnl="15" x="97" y="82" page="0"/>
|
||||
<char id="77" index="48" char="M" width="40" height="40" xoffset="0" yoffset="13" xadvance="39" chnl="15" x="116" y="41" page="0"/>
|
||||
<char id="50" index="21" char="2" width="26" height="40" xoffset="-1" yoffset="12" xadvance="24" chnl="15" x="143" y="0" page="0"/>
|
||||
<char id="52" index="23" char="4" width="28" height="40" xoffset="-2" yoffset="12" xadvance="24" chnl="15" x="66" y="209" page="0"/>
|
||||
<char id="53" index="24" char="5" width="26" height="40" xoffset="-1" yoffset="13" xadvance="24" chnl="15" x="95" y="209" page="0"/>
|
||||
<char id="55" index="26" char="7" width="25" height="40" xoffset="0" yoffset="12" xadvance="24" chnl="15" x="96" y="165" page="0"/>
|
||||
<char id="48" index="19" char="0" width="23" height="40" xoffset="1" yoffset="13" xadvance="24" chnl="15" x="117" y="123" page="0"/>
|
||||
<char id="91" index="62" char="[" width="14" height="40" xoffset="-1" yoffset="12" xadvance="11" chnl="15" x="125" y="82" page="0"/>
|
||||
<char id="93" index="64" char="]" width="14" height="40" xoffset="-1" yoffset="12" xadvance="11" chnl="15" x="140" y="82" page="0"/>
|
||||
<char id="123" index="94" char="{" width="15" height="40" xoffset="-1" yoffset="12" xadvance="12" chnl="15" x="122" y="164" page="0"/>
|
||||
<char id="125" index="96" char="}" width="15" height="40" xoffset="-1" yoffset="12" xadvance="12" chnl="15" x="122" y="205" page="0"/>
|
||||
<char id="108" index="79" char="l" width="11" height="40" xoffset="-1" yoffset="13" xadvance="9" chnl="15" x="138" y="164" page="0"/>
|
||||
<char id="82" index="53" char="R" width="28" height="39" xoffset="-1" yoffset="13" xadvance="24" chnl="15" x="141" y="123" page="0"/>
|
||||
<char id="73" index="44" char="I" width="12" height="39" xoffset="-1" yoffset="13" xadvance="10" chnl="15" x="155" y="82" page="0"/>
|
||||
<char id="79" index="50" char="O" width="24" height="39" xoffset="-1" yoffset="13" xadvance="23" chnl="15" x="157" y="41" page="0"/>
|
||||
<char id="65" index="36" char="A" width="28" height="39" xoffset="-1" yoffset="13" xadvance="26" chnl="15" x="170" y="0" page="0"/>
|
||||
<char id="70" index="41" char="F" width="19" height="39" xoffset="0" yoffset="13" xadvance="18" chnl="15" x="168" y="81" page="0"/>
|
||||
<char id="71" index="42" char="G" width="24" height="39" xoffset="-1" yoffset="13" xadvance="20" chnl="15" x="182" y="40" page="0"/>
|
||||
<char id="67" index="38" char="C" width="22" height="39" xoffset="-1" yoffset="13" xadvance="19" chnl="15" x="199" y="0" page="0"/>
|
||||
<char id="66" index="37" char="B" width="23" height="39" xoffset="-1" yoffset="14" xadvance="21" chnl="15" x="138" y="205" page="0"/>
|
||||
<char id="49" index="20" char="1" width="16" height="39" xoffset="4" yoffset="13" xadvance="24" chnl="15" x="150" y="163" page="0"/>
|
||||
<char id="51" index="22" char="3" width="24" height="39" xoffset="0" yoffset="13" xadvance="24" chnl="15" x="162" y="203" page="0"/>
|
||||
<char id="54" index="25" char="6" width="23" height="39" xoffset="1" yoffset="13" xadvance="24" chnl="15" x="167" y="163" page="0"/>
|
||||
<char id="56" index="27" char="8" width="21" height="39" xoffset="1" yoffset="13" xadvance="24" chnl="15" x="170" y="121" page="0"/>
|
||||
<char id="57" index="28" char="9" width="23" height="39" xoffset="1" yoffset="13" xadvance="24" chnl="15" x="188" y="80" page="0"/>
|
||||
<char id="33" index="4" char="!" width="10" height="39" xoffset="-1" yoffset="13" xadvance="9" chnl="15" x="207" y="40" page="0"/>
|
||||
<char id="37" index="8" char="%" width="32" height="39" xoffset="-1" yoffset="13" xadvance="29" chnl="15" x="187" y="203" page="0"/>
|
||||
<char id="40" index="11" char="(" width="13" height="39" xoffset="-1" yoffset="12" xadvance="11" chnl="15" x="191" y="161" page="0"/>
|
||||
<char id="41" index="12" char=")" width="13" height="39" xoffset="-1" yoffset="12" xadvance="11" chnl="15" x="192" y="120" page="0"/>
|
||||
<char id="47" index="18" char="/" width="25" height="39" xoffset="-2" yoffset="13" xadvance="22" chnl="15" x="205" y="160" page="0"/>
|
||||
<char id="63" index="34" char="?" width="20" height="39" xoffset="-2" yoffset="13" xadvance="17" chnl="15" x="206" y="120" page="0"/>
|
||||
<char id="107" index="78" char="k" width="24" height="39" xoffset="-1" yoffset="13" xadvance="20" chnl="15" x="212" y="80" page="0"/>
|
||||
<char id="38" index="9" char="&" width="28" height="38" xoffset="-1" yoffset="14" xadvance="23" chnl="15" x="227" y="120" page="0"/>
|
||||
<char id="105" index="76" char="i" width="11" height="38" xoffset="-1" yoffset="15" xadvance="9" chnl="15" x="218" y="40" page="0"/>
|
||||
<char id="113" index="84" char="q" width="20" height="37" xoffset="-1" yoffset="23" xadvance="18" chnl="15" x="222" y="0" page="0"/>
|
||||
<char id="112" index="83" char="p" width="20" height="37" xoffset="-1" yoffset="23" xadvance="18" chnl="15" x="230" y="38" page="0"/>
|
||||
<char id="100" index="71" char="d" width="20" height="37" xoffset="-1" yoffset="15" xadvance="18" chnl="15" x="243" y="0" page="0"/>
|
||||
<char id="98" index="69" char="b" width="20" height="37" xoffset="-1" yoffset="15" xadvance="18" chnl="15" x="237" y="76" page="0"/>
|
||||
<char id="119" index="90" char="w" width="36" height="30" xoffset="-3" yoffset="23" xadvance="30" chnl="15" x="0" y="225" page="0"/>
|
||||
<char id="116" index="87" char="t" width="21" height="36" xoffset="-3" yoffset="17" xadvance="15" chnl="15" x="251" y="38" page="0"/>
|
||||
<char id="121" index="92" char="y" width="24" height="36" xoffset="-2" yoffset="23" xadvance="20" chnl="15" x="264" y="0" page="0"/>
|
||||
<char id="103" index="74" char="g" width="20" height="36" xoffset="-1" yoffset="23" xadvance="18" chnl="15" x="220" y="200" page="0"/>
|
||||
<char id="59" index="30" char=";" width="13" height="32" xoffset="-4" yoffset="24" xadvance="8" chnl="15" x="37" y="224" page="0"/>
|
||||
<char id="109" index="80" char="m" width="32" height="30" xoffset="-1" yoffset="23" xadvance="30" chnl="15" x="231" y="159" page="0"/>
|
||||
<char id="114" index="85" char="r" width="20" height="30" xoffset="-1" yoffset="23" xadvance="16" chnl="15" x="256" y="114" page="0"/>
|
||||
<char id="117" index="88" char="u" width="19" height="30" xoffset="-1" yoffset="23" xadvance="17" chnl="15" x="258" y="75" page="0"/>
|
||||
<char id="122" index="93" char="z" width="23" height="30" xoffset="-2" yoffset="23" xadvance="20" chnl="15" x="273" y="37" page="0"/>
|
||||
<char id="120" index="91" char="x" width="21" height="30" xoffset="-2" yoffset="23" xadvance="17" chnl="15" x="289" y="0" page="0"/>
|
||||
<char id="110" index="81" char="n" width="23" height="30" xoffset="-1" yoffset="23" xadvance="21" chnl="15" x="241" y="190" page="0"/>
|
||||
<char id="101" index="72" char="e" width="19" height="29" xoffset="-1" yoffset="23" xadvance="16" chnl="15" x="241" y="221" page="0"/>
|
||||
<char id="111" index="82" char="o" width="20" height="29" xoffset="-1" yoffset="23" xadvance="17" chnl="15" x="261" y="221" page="0"/>
|
||||
<char id="97" index="68" char="a" width="25" height="29" xoffset="-2" yoffset="24" xadvance="22" chnl="15" x="264" y="145" page="0"/>
|
||||
<char id="115" index="86" char="s" width="18" height="29" xoffset="-2" yoffset="23" xadvance="15" chnl="15" x="277" y="106" page="0"/>
|
||||
<char id="99" index="70" char="c" width="19" height="29" xoffset="-1" yoffset="23" xadvance="16" chnl="15" x="278" y="68" page="0"/>
|
||||
<char id="118" index="89" char="v" width="24" height="29" xoffset="-3" yoffset="23" xadvance="19" chnl="15" x="297" y="31" page="0"/>
|
||||
<char id="64" index="35" char="@" width="27" height="28" xoffset="0" yoffset="23" xadvance="26" chnl="15" x="311" y="0" page="0"/>
|
||||
<char id="58" index="29" char=":" width="11" height="28" xoffset="-1" yoffset="24" xadvance="10" chnl="15" x="51" y="223" page="0"/>
|
||||
<char id="95" index="66" char="_" width="25" height="7" xoffset="-2" yoffset="49" xadvance="21" chnl="15" x="278" y="98" page="0"/>
|
||||
<char id="35" index="6" char="#" width="22" height="23" xoffset="-1" yoffset="19" xadvance="20" chnl="15" x="298" y="61" page="0"/>
|
||||
<char id="94" index="65" char="^" width="22" height="20" xoffset="0" yoffset="25" xadvance="21" chnl="15" x="265" y="175" page="0"/>
|
||||
<char id="60" index="31" char="<" width="20" height="22" xoffset="0" yoffset="25" xadvance="21" chnl="15" x="265" y="196" page="0"/>
|
||||
<char id="62" index="33" char=">" width="20" height="22" xoffset="0" yoffset="25" xadvance="21" chnl="15" x="282" y="219" page="0"/>
|
||||
<char id="43" index="14" char="+" width="21" height="21" xoffset="-1" yoffset="21" xadvance="19" chnl="15" x="286" y="196" page="0"/>
|
||||
<char id="126" index="97" char="~" width="21" height="11" xoffset="0" yoffset="34" xadvance="21" chnl="15" x="44" y="127" page="0"/>
|
||||
<char id="61" index="32" char="=" width="18" height="17" xoffset="0" yoffset="23" xadvance="17" chnl="15" x="220" y="237" page="0"/>
|
||||
<char id="42" index="13" char="*" width="18" height="17" xoffset="-1" yoffset="14" xadvance="16" chnl="15" x="288" y="175" page="0"/>
|
||||
<char id="45" index="16" char="-" width="17" height="11" xoffset="0" yoffset="30" xadvance="17" chnl="15" x="138" y="245" page="0"/>
|
||||
<char id="34" index="5" char=""" width="15" height="15" xoffset="-1" yoffset="13" xadvance="13" chnl="15" x="303" y="218" page="0"/>
|
||||
<char id="39" index="10" char="'" width="9" height="14" xoffset="-1" yoffset="13" xadvance="7" chnl="15" x="282" y="242" page="0"/>
|
||||
<char id="96" index="67" char="`" width="12" height="13" xoffset="1" yoffset="13" xadvance="16" chnl="15" x="162" y="243" page="0"/>
|
||||
<char id="44" index="15" char="," width="12" height="13" xoffset="-3" yoffset="43" xadvance="8" chnl="15" x="175" y="243" page="0"/>
|
||||
<char id="46" index="17" char="." width="10" height="11" xoffset="-1" yoffset="40" xadvance="8" chnl="15" x="33" y="86" page="0"/>
|
||||
<char id="32" index="3" char=" " width="0" height="0" xoffset="-2" yoffset="47" xadvance="11" chnl="15" x="41" y="182" page="0"/>
|
||||
</chars>
|
||||
<kernings count="0"/>
|
||||
</font>
|
||||
BIN
data/font/MarkerFelt.ttf
Normal file
BIN
data/font/arial bold.ttf
Normal file
BIN
data/font/arial.ttf
Normal file
1
data/font/charset.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
QWERTYUIOPASDFGHJKLZXCVBNM1234567890-=!@#$%^&*()_+`~[]\{}|;':",./<>? Âqwertyuiopasdfghjklzxcvbnm
|
||||
|
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 120 KiB |
BIN
data/icon.png
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 224 KiB |
|
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 95 KiB |
|
Before Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 178 KiB |
|
Before Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 183 KiB |
|
Before Width: | Height: | Size: 118 KiB |
|
Before Width: | Height: | Size: 605 B |
|
Before Width: | Height: | Size: 136 KiB |
|
Before Width: | Height: | Size: 98 KiB |
|
Before Width: | Height: | Size: 380 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 508 B |
|
Before Width: | Height: | Size: 146 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 301 KiB |
|
Before Width: | Height: | Size: 366 KiB |
|
Before Width: | Height: | Size: 99 KiB |
|
Before Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 127 KiB |
|
Before Width: | Height: | Size: 129 KiB |
|
Before Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 298 KiB |
|
Before Width: | Height: | Size: 97 KiB |
|
Before Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 777 B |
|
Before Width: | Height: | Size: 777 B |
|
Before Width: | Height: | Size: 770 B |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 48 KiB |