Comments (7)
If you put any files in the ios
folder of this repo, they'll get copied directly to the app's root directory, so you're able to install Render96 model packs with DynOS:
- Download DynOS 1.0 from here and place DynOS.1.0.patch in the enhancements folder
- Patch the repo with DynOS 1.0:
./tools/apply_patch.sh enhancements/DynOS.1.0.patch
(you may have to insert a couple lines manually if the patch rejects anything) - In the iOS folder, create the following folders:
dynos/packs/Render96
- Place all the .bin files from the Render96 model pack into here
- In Xcode, clean the build and rebuild, and it'll copy everything over and you'll be able to use model packs
from sm64ex-ios.
Thanks for the help, that's great news!
In step 2, I get the following question File to patch:
, I'm not sure what they're asking for here, bottom line:
austin@Blooper sm64ex-ios-ios % ./tools/apply_patch.sh enhancements/DynOS.1.0.patch
Do you wish to apply the patch 'enhancements/DynOS.1.0.patch'? [Y/N] Y
patching file Makefile
patching file 'data/dynos.c.h'
patching file 'data/dynos.cpp.h'
patching file 'data/dynos.h'
patching file 'data/dynos_c.cpp'
patching file 'data/dynos_gfx_init.cpp'
patching file 'data/dynos_gfx_load.cpp'
patching file 'data/dynos_gfx_read.cpp'
patching file 'data/dynos_gfx_texture.cpp'
patching file 'data/dynos_gfx_update.cpp'
patching file 'data/dynos_gfx_write.cpp'
patching file 'data/dynos_level.cpp'
patching file 'data/dynos_main.cpp'
patching file 'data/dynos_misc.cpp'
patching file 'data/dynos_opt.cpp'
patching file 'data/dynos_opt_config.cpp'
patching file 'data/dynos_opt_cont.cpp'
patching file 'data/dynos_opt_render.cpp'
patching file 'data/dynos_opt_vanilla.cpp'
patching file 'data/dynos_opt_vanilla_c.c'
patching file 'data/dynos_sanity.c'
patching file 'data/dynos_warps.cpp'
patching file dynos.mk
patching file 'include/types.h'
patching file 'src/audio/seqplayer.c'
patching file 'src/engine/geo_layout.c'
patching file 'src/engine/level_script.c'
patching file 'src/game/behaviors/ddd_pole.inc.c'
patching file 'src/game/behaviors/ddd_sub.inc.c'
File to patch:
Also, in step 4, can I include the texture pack? Would I put into src/pc/gfx? (edit: or maybe ios/res/gfx
to stay consistent with your instructions for the model pack)
Update: I think I figured out the File to patch is the rom. I put it as baserom.us.z64. But 3 hunks failed:
File to patch: baserom.us.z64
patching file baserom.us.z64
3 out of 3 hunks failed--saving rejects to baserom.us.z64.rej
patching file 'src/game/object_helpers.c'
patching file 'src/game/options_menu.c'
patching file 'src/game/rendering_graph_node.c'
patching file 'src/pc/gfx/gfx_pc.c'
Any ideas here? You suspected there may be rejects, so what lines do I need to insert, and where do I do this? Thanks so much for your help!
Here's baserom.us.z64.rej
@@ -2,4 +2,5 @@
#include "sm64.h"
+#include "data/dynos.c.h"
#include "gfx_dimensions.h"
#include "audio/external.h"
@@ -385,7 +386,4 @@
// input list until it is complete. called every frame.
void run_demo_inputs(void) {
- // eliminate the unused bits.
- gControllers[0].controllerData->button &= VALID_BUTTONS;
-
/*
Check if a demo inputs list
@@ -456,4 +454,5 @@
osRecvMesg(&gSIEventMesgQueue, &D_80339BEC, OS_MESG_BLOCK);
osContGetReadData(&gControllerPads[0]);
+ dynos_update_opt((void *) &gControllerPads[0]);
}
run_demo_inputs();
from sm64ex-ios.
The file it's rejecting is src/game/game_init.m, so in src/game/game_init.m, add
#include "data/dynos.c.h"
at the top of the file. Remove
// eliminate the unused bits.
gControllers[0].controllerData->button &= VALID_BUTTONS;
from the run_demo_inputs function. Lastly, add
dynos_update_opt((void *) &gControllerPads[0]);
in the read_controller_inputs function at the end of the first if statement. The reject file will give you an idea of where to make these changes.
For texture packs, I realize I messed up getting external data from the res folder to work in the main branch, so I recommend using the apple_silicon_fix branch where I've updated how external resources are handled. They'll be read from the Files app under "On My iPhone > Super Mario 64 > res" instead so you'll be able to add/remove model/sound/texture packs straight from the phone without having to rebuild the entire app. Also in Build Settings, you'll need to add a user-defined setting named "EXTERNAL_DATA" and set its value to 1.
Let me know if you run into any issues using the apple_silicon_fix branch as I've only tested it in my environment.
from sm64ex-ios.
Really appreciate the help. Using the apple_silicon_fix branch, I made those changes to src/game/game_init.m
saved it, and applied patch. The rej file is acting as if those changes aren't there, but I know they are! It's strange. I put them exactly where the .rej said to. This is the new .rej file, looks like the one where there are no changes to src/game/game_init.m
.
@@ -2,4 +2,5 @@
#include "sm64.h"
+#include "data/dynos.c.h"
#include "gfx_dimensions.h"
#include "audio/external.h"
@@ -385,7 +386,4 @@
// input list until it is complete. called every frame.
void run_demo_inputs(void) {
- // eliminate the unused bits.
- gControllers[0].controllerData->button &= VALID_BUTTONS;
-
/*
Check if a demo inputs list
@@ -456,4 +454,5 @@
osRecvMesg(&gSIEventMesgQueue, &D_80339BEC, OS_MESG_BLOCK);
osContGetReadData(&gControllerPads[0]);
+ dynos_update_opt((void *) &gControllerPads[0]);
}
run_demo_inputs();
You can see my src/game/game_init.m
here.
Thanks again.
from sm64ex-ios.
That's fine, as long as the changes are there then it should work as expected.
from sm64ex-ios.
Ok, I think I did everything correctly. I followed these instructions, but with your additional notes, like EXTERNAL_DATA
, copying res folder to iPhone, etc. However, Build failed. The text in red, under object_helpers
is: no member named 'georef' in 'struct GraphNode'
, repeated twice. Sorry to keep bugging you!
from sm64ex-ios.
No worries! Before applying the patch and changes, does the app compile successfully? Also are you on an Intel mac or M1/M2 mac? You can check by clicking the Apple icon in the status bar and choosing "About This Mac". It's been a while since I've tried building on an Intel mac so I'm not entirely sure if the Apple silicon fixes broke anything for it.
from sm64ex-ios.
Related Issues (20)
- System requirement
- Executable Not Found when trying to run on an ATV. HOT 2
- Apple TV Controller SteelSeries Nimbus - No Start Button HOT 4
- sm64ios 3” does not contain a valid Info.plist, so it cannot be installed on iPhone 11 von Victor (“CFBundleExecutable” specifies a file that does not exist)
- Requested feature: volume control
- armv7s not supported but declared
- Buttons in wrong place on iPhone 8+
- Not building on M1 Macs HOT 8
- build_ios.sh only wants baserom.us.z64 HOT 1
- Add puppycam for better camera HOT 1
- Not possible to build the tvOS version HOT 2
- Update in source files?
- Executable Path is a Directory HOT 3
- Proposal for implementation
- Does this support Apple Silicon? HOT 2
- How can I use mods with this version?
- Does other games work with this? HOT 1
- 70 build issues HOT 3
- Coop
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sm64ex-ios.