Commit Graph

316 Commits

Author SHA1 Message Date
hikari_no_yume
46dfc09f27 License all source files under MPL 2 2023-02-02 16:42:54 +01:00
hikari_no_yume
b1f5ef8088 Include license information in binaries 2023-02-02 16:12:10 +01:00
hikari_no_yume
025f739f49 Fix formatting in main.rs 2023-02-02 16:12:10 +01:00
hikari_no_yume
cf41740382 Add some basic usage directions 2023-02-02 13:48:37 +01:00
hikari_no_yume
80b8637d0d Mention approximate build time 2023-02-02 12:27:52 +01:00
hikari_no_yume
b0e914222f Mention 1.x 2023-02-02 12:16:03 +01:00
hikari_no_yume
c949c43219 Add anti-piracy disclaimer to README 2023-02-02 12:15:02 +01:00
hikari_no_yume
88edf2487a Free a thread's stack after it finishes 2023-02-02 12:14:03 +01:00
hikari_no_yume
154f6efaf9 Mention continuing works 2023-02-02 11:58:28 +01:00
hikari_no_yume
aab0cc41ef List supported Monkey Ball versions and features 2023-02-02 11:52:35 +01:00
hikari_no_yume
a79a210628 Implement stub for __cxa_finalize() 2023-02-02 10:44:35 +01:00
hikari_no_yume
44b3c6aa62 Implement dlopen(), dlsym() and dlclose() for libSystem only 2023-02-02 10:44:26 +01:00
hikari_no_yume
9958b6026e Implement the most common keymgr process-wide pointer functions 2023-02-02 10:36:46 +01:00
hikari_no_yume
215a61aeb5 Allow symlinks within the bundle (treat as if they were hardlinks) 2023-02-02 08:38:39 +01:00
hikari_no_yume
dbc2be0506 Don't panic if we stop an audio queue that never started 2023-02-01 23:19:30 +01:00
hikari_no_yume
4687955ea8 Tell the app when it quits so it can save state 2023-02-01 23:19:12 +01:00
hikari_no_yume
6ea3d384c6 Add hack to reduce CPU usage 2023-02-01 22:37:52 +01:00
hikari_no_yume
44ce11d7e0 Fix thread switching not ignoring threads waiting on host functions
Special thanks to puck who found a consistent crash I couldn't
reproduce, helped investigate it, and figured out the bug.

This commit also:

* Makes execution of the thread start routine happen after
  pthread_create() returns, rather than waiting for it. Without changing
  this, the new thread's execution is effectively serialized with
  respect to the thread that created it.
* Removes the guarantee that some code from the new thread will be
  executed before the code following pthread_create() on the original
  thread. Super Monkey Ball no longer seems to need it.
* Implements the thread_policy_set() function, which Super Monkey Ball
  calls now that the thread switching is fixed.
2023-02-01 21:48:48 +01:00
hikari_no_yume
1a24d8aab8 Fix case of Zydis path 2023-01-31 22:55:44 +01:00
hikari_no_yume
36fc601be2 Implement a hack for running a game at increased resolution 2023-01-31 21:02:11 +01:00
hikari_no_yume
0530a8529d Fix missing check for whether splash image exists 2023-01-31 20:05:07 +01:00
hikari_no_yume
cc93075d6a Recombine chunks when freeing memory 2023-01-31 18:35:45 +01:00
hikari_no_yume
000f69a793 Fix OpenGL memory leak (one framebuffer per frame!) 2023-01-31 18:12:58 +01:00
hikari_no_yume
2c119c1aef Edit HLE description again 2023-01-31 17:00:29 +01:00
hikari_no_yume
56084be829 Add a virtual cursor for game controller users 2023-01-31 16:51:37 +01:00
hikari_no_yume
d2d3443466 Move accelerometer simulation code to window.rs 2023-01-31 14:31:04 +01:00
hikari_no_yume
c2cfdce73b Update README now that Super Monkey Ball works 2023-01-30 23:47:45 +01:00
hikari_no_yume
9227452845 Fix random numbers being too large 2023-01-30 23:46:30 +01:00
hikari_no_yume
4deb9ca180 Add hacks to fix audio-related crashes in Super Monkey Ball 2023-01-30 23:44:19 +01:00
hikari_no_yume
1ac7695a16 Implement pthread_self() properly and add mach thread info stubs 2023-01-30 23:07:34 +01:00
hikari_no_yume
c2a9f2c588 Probable fix for rare word-wrap infinite loop issue 2023-01-30 20:46:45 +01:00
hikari_no_yume
dbfe256878 Implement random() and srandom() 2023-01-30 18:13:38 +01:00
hikari_no_yume
a329991254 Implement accelerometer simulation using analog sticks 2023-01-30 18:06:12 +01:00
hikari_no_yume
d028c43d0e Implement AudioQueueStop() and AudioQueueDispose() 2023-01-30 13:47:10 +01:00
hikari_no_yume
6a0fc5f1eb Implement a few more OpenGL functions 2023-01-30 13:47:10 +01:00
hikari_no_yume
c1af65b8b7 Implement sqrt()/sqrtf() 2023-01-30 13:47:10 +01:00
hikari_no_yume
115b4a7f64 Expose more OpenAL functions 2023-01-30 13:47:10 +01:00
hikari_no_yume
da4ca4af25 Support malloc(0) 2023-01-30 13:47:10 +01:00
hikari_no_yume
6ff1eae9c6 Add stub implementation of pthread_self() 2023-01-30 13:47:10 +01:00
hikari_no_yume
7ece784f4c Implement glGenBuffers()/glDeleteBuffers()/glBindBuffer() 2023-01-30 13:47:10 +01:00
hikari_no_yume
32b8cd7bbb Fix incorrect bound buffer check 2023-01-30 13:47:10 +01:00
hikari_no_yume
2242383891 Translate fixed-point vertex data used in draw calls 2023-01-30 13:46:43 +01:00
hikari_no_yume
b5470b825a Implement glLight function family 2023-01-29 20:45:20 +01:00
hikari_no_yume
4b9906d7b9 Implement per-thread GL contexts 2023-01-29 18:33:17 +01:00
hikari_no_yume
bc70c02c78 Execute the pthread init routine immediately (Monkey Ball workaround) 2023-01-29 17:24:53 +01:00
hikari_no_yume
a0fe6914da Fix thread not becoming inactive once init function done 2023-01-29 16:57:30 +01:00
hikari_no_yume
1ae453e301 Implement stub for [NSThread setThreadPriority:] 2023-01-29 16:49:47 +01:00
hikari_no_yume
ae9ad87242 Implement puts() 2023-01-29 16:41:13 +01:00
hikari_no_yume
c80afd9461 Implement thread creation and switching (single-core) 2023-01-29 16:33:18 +01:00
hikari_no_yume
a1039fb992 Prevent rustfmt messing up the beautiful formatting 2023-01-29 13:46:13 +01:00