Commit Graph

6675 Commits

Author SHA1 Message Date
Ryan Dwyer e423eac69e Make scheduler pass message IDs instead of pointers 2023-05-03 23:26:44 +10:00
Ryan Dwyer 6b016ffd4f Show bottleneck on profile output 2023-05-03 23:01:00 +10:00
Ryan Dwyer f54c812fdf Fix two profiling bugs 2023-05-03 22:29:18 +10:00
Ryan Dwyer 880db15689 Move framebuffers to separate memory banks 2023-05-03 07:48:25 +10:00
Ryan Dwyer a85ea9d7c1 Make main thread start building second task without waiting for retrace 2023-05-03 00:08:53 +10:00
Ryan Dwyer 7ef3e9d009 Introduce triple buffer and remove RDP freeze 2023-05-02 22:50:56 +10:00
Ryan Dwyer fcc63f7638 Set Everdrive ROM ID and save configuration in the ROM header 2023-05-02 22:27:49 +10:00
Ryan Dwyer 60947bfdfd Remove hi-res video option 2023-05-02 14:16:53 +10:00
Ryan Dwyer f96d9ff901 Refactor scheduler 2023-05-02 12:29:35 +10:00
Ryan Dwyer b18d1259fe Make profiler report RSP, RDP and thread timing accurately 2023-05-01 18:48:04 +10:00
Ryan Dwyer d74f0bce56 Fix CCTV still working when destroyed 2023-04-24 00:00:20 +10:00
Ryan Dwyer 4b97a3845f Fix solo handicaps being reset after configuring 2023-04-23 23:56:52 +10:00
Ryan Dwyer 361e1e9458 Fix roomproplist corruption 2023-04-23 23:53:51 +10:00
Ryan Dwyer 94d81e5a74 Refactor roomproplistchunks
* When deregistering, fill the slot with the last propnum and maintain a count to avoid having to scan to find an empty slot when registering
* Assume propnum isn't already registered when registering
* Assume propnums only exist once per room when deregistering
* Allow up to 16 propnums per chunk instead of 7
* roomGetProps: Don't check for duplicate propnums in first room
* Use separate `next` property to store index of next chunk instead of using propnums[7]
2023-01-08 17:04:54 +10:00
Ryan Dwyer 246d30ce04 RoomMtx: Prevent cache fighting in multiplayer and remove need to tick roommtxes 2023-01-07 17:08:30 +10:00
Ryan Dwyer 5fe7cd37f6 Only render unarmed when attacking 2023-01-07 14:34:28 +10:00
Ryan Dwyer e031b11a64 Remove special cover 2023-01-05 22:44:59 +10:00
Ryan Dwyer 4f5a8f0a10 Tweak cover JSON format and set names for remaining cover flags 2023-01-05 22:30:47 +10:00
Ryan Dwyer 32780a9f67 Refactor MP match end checks 2023-01-01 01:24:39 +10:00
Ryan Dwyer 1a279d5446 Fix crash relating to dangerous props 2022-12-31 20:00:27 +10:00
Ryan Dwyer bec089ea11 Don't implicitly enable a door prop when AI scripting attempts to open a disabled door 2022-12-31 19:26:55 +10:00
Ryan Dwyer 4bdb84546e Fix lifts again 2022-12-31 15:02:47 +10:00
Ryan Dwyer 1d94dbfe1b Reinstate cctv 2022-12-31 13:51:57 +10:00
Ryan Dwyer 6ef917d5d1 Fix lifts 2022-11-17 17:55:27 +10:00
Ryan Dwyer c0276247fa Fix room matrices in 2 player 2022-11-17 17:46:01 +10:00
Ryan Dwyer 6181870b38 Refactor objective checks
* Use a dirty flag so statuses can be recalculated only when they might have changed
* Remove support for unused criteria types
* Re-ID the status constants so the objective status can be the minimum of the criteria statuses
* Merge multiple complete flags into one criteria item
* Merge multiple fail flags into one criteria item
* Use a g_AnyObjectiveFailed variable so the objectives failed AI doesn't have to iterate them
2022-11-17 17:36:19 +10:00
Ryan Dwyer d8137e2d6b Improve dangerous props code 2022-11-16 23:16:07 +10:00
Ryan Dwyer 42c22131cb Improve proxy detection code 2022-11-16 22:37:32 +10:00
Ryan Dwyer 4221ae63ce Refactor prop onscreen flags in propsTickPlayer 2022-11-16 22:03:42 +10:00
Ryan Dwyer c2847f0e14 Allow mines that are placed in setup and debris to be paused 2022-11-16 21:34:11 +10:00
Ryan Dwyer e6b02156bb Pause door props when closed and backgrounded 2022-11-16 21:08:15 +10:00
Ryan Dwyer bd009f7290 Move every-tick logic from propsTick into backgroundable logic in propsTickPlayer where possible 2022-11-16 21:05:33 +10:00
Ryan Dwyer c588072b28 Fix order of bgchr AI execution 2022-11-16 21:01:44 +10:00
Ryan Dwyer 7a9b061894 Fix crash when equipping Mauler in multiplayer 2022-11-16 17:20:36 +10:00
Ryan Dwyer 44a3dc48e5 Don't check for alarm reaching its time limit unless it's active 2022-11-16 08:23:24 +10:00
Ryan Dwyer c45e54d5dd Don't defrag room prop chunks during gameplay unless critical 2022-11-16 08:16:11 +10:00
Ryan Dwyer 2823263f29 Remove pointless code from chrTick 2022-11-15 22:33:51 +10:00
Ryan Dwyer e4e4074352 Remove pointless code in playerTick 2022-11-15 22:09:44 +10:00
Ryan Dwyer 65c4192827 Optimise chraTickBg and chraTick 2022-11-15 21:55:45 +10:00
Ryan Dwyer 0e4f2da179 Minor BG improvements 2022-11-13 18:37:28 +10:00
Ryan Dwyer b714f73ef7 Remove some pointless code from bondgun functions 2022-11-13 16:57:55 +10:00
Ryan Dwyer 45df96a546 Introduce g_LasersightsActive 2022-11-13 15:44:14 +10:00
Ryan Dwyer 4a5c4c736b Avoid configuring RDP for HUD message timer stuff if possible 2022-11-13 15:40:10 +10:00
Ryan Dwyer b36d3f266d Fix laser dot not appearing 2022-11-13 15:26:53 +10:00
Ryan Dwyer 4c3045ca98 Introduce g_BgAlwaysRoom and remove stage checks from BG render code 2022-11-13 13:05:23 +10:00
Ryan Dwyer 4114aa0b21 Remove chr engagement metrics 2022-11-13 11:02:48 +10:00
Ryan Dwyer 936999e9d2 Remove modelmgrPrintCounts 2022-11-13 10:10:44 +10:00
Ryan Dwyer abd130815a Refactor room matrices to use used and free linked lists 2022-11-13 10:07:21 +10:00
Ryan Dwyer 1a154c2dea Convert individual room matrices variables into a struct 2022-11-13 09:34:04 +10:00
Ryan Dwyer 89d4f4ced0 Fix and improve usage of g_HudmsgsActive 2022-11-13 01:02:16 +10:00
Ryan Dwyer 74dd2c240b Introduce g_BusyWallhits 2022-11-13 00:31:18 +10:00
Ryan Dwyer f969c3e1fa Introduce g_AmActive 2022-11-12 23:16:33 +10:00
Ryan Dwyer 848fc2b82e Refactor autoaimTick 2022-11-12 23:03:57 +10:00
Ryan Dwyer aeb09b7afa Merge autoaim X and Y into just autoaim 2022-11-12 21:00:14 +10:00
Ryan Dwyer c7a85d503f Fix chrs' inability to remain patient while on a lift 2022-11-12 19:47:44 +10:00
Ryan Dwyer 4054c0747c Fix stage skip bug 2022-11-12 18:55:09 +10:00
Ryan Dwyer 4111efb420 Don't mess with solo handicaps in resetSomeStageThings 2022-11-12 18:44:36 +10:00
Alexandre-Xavier Labonté-Lamoureux c3531afe75 Remove declaration for removed function chrGetLateralDistanceToPad 2022-11-12 02:40:49 -05:00
Alexandre-Xavier Labonté-Lamoureux f314d317e0 Remove declaration for removed function propGetLateralDistanceToProp 2022-11-12 02:40:49 -05:00
Alexandre-Xavier Labonté-Lamoureux cd3b1f9326 Avoid square root using chrGetSquaredLateralDistanceToCoord 2022-11-12 02:40:49 -05:00
Alexandre-Xavier Labonté-Lamoureux b98c0a6584 Remove declaration for removed function chrTryRunFromTarget 2022-11-12 02:40:49 -05:00
Alexandre-Xavier Labonté-Lamoureux cea673a80e Avoid square root using chrGetSquaredDistanceToCoord 2022-11-12 02:40:49 -05:00
Alexandre-Xavier Labonté-Lamoureux be755f356b Avoid square root using chrGetSquaredDistanceToPad 2022-11-12 02:40:49 -05:00
Alexandre-Xavier Labonté-Lamoureux 26b61b1914 Use naming 'sqdist' for variables where distance in squared 2022-11-12 02:40:49 -05:00
Alexandre-Xavier Labonté-Lamoureux 1e24f14104 Avoid sqrtf with constants 2022-11-12 02:40:49 -05:00
Alexandre-Xavier Labonté-Lamoureux 1cd79f6012 nbomb: square root operation is commutative with exponentiation 2022-11-12 02:40:49 -05:00
Alexandre-Xavier Labonté-Lamoureux a92e1c6fe7 bwalkCalculateNewPositionWithPush: call sqrtf at the last possible moment 2022-11-12 02:40:49 -05:00
Alexandre-Xavier Labonté-Lamoureux 0bc2c5a53e sky0f122ce8: Remove useless sqrtf as the result tends towards 1.0f 2022-11-12 02:40:49 -05:00
Ryan Dwyer a914ba4168 Fix and improve active shards logic 2022-11-12 17:25:36 +10:00
Ryan Dwyer bbc7388e6d Introduce g_BeamsActive so we can avoid iterating props 2022-11-12 17:03:58 +10:00
Ryan Dwyer f2645ce428 Remove var80084040 2022-11-12 15:25:24 +10:00
Ryan Dwyer fe7ddc0aca Introduce an easier way to do profiling 2022-11-12 13:43:58 +10:00
Ryan Dwyer fa9272d6f7 Don't call functions that simply return a literal value 2022-11-12 11:09:15 +10:00
Ryan Dwyer d8c278364a Remove unused functions 2022-11-12 10:01:28 +10:00
Ryan Dwyer bfa06b8c3e Remove const char strings and osSyncPrintf calls 2022-11-11 23:55:48 +10:00
Ryan Dwyer 0fd7673c1b Don't call no-op functions 2022-11-11 23:44:20 +10:00
Ryan Dwyer 5c21de55e6 Remove stub files 2022-11-11 23:23:38 +10:00
Ryan Dwyer 1f64f59da1 Remove references to g_Vars.fourmeg2player 2022-11-11 23:20:48 +10:00
Ryan Dwyer 40c4dd9130 Remove rmon, crash, fault, videbug and debughud 2022-11-11 23:18:45 +10:00
Ryan Dwyer 64155bcb15 Remove references to IS4MB and IS8MB 2022-11-11 23:09:09 +10:00
Ryan Dwyer 0714f1cb21 Remove VERSION ifdefs from most files 2022-11-11 22:49:55 +10:00
Ryan Dwyer 9a871c7a65 Remove MATCHING ifdefs 2022-11-11 17:42:42 +10:00
Ryan Dwyer 4ac661160c Remove PIRACYCHECKS ifdefs 2022-11-11 17:35:45 +10:00
Ryan Dwyer 3619bcb2f2 Don't recalculate all solo handicaps on every tick 2022-11-11 17:27:58 +10:00
Ryan Dwyer 73bfbded3d Remove unreachable g_Jpn code 2022-11-11 17:18:12 +10:00
Ryan Dwyer 0d169c5214 Remove mainOverrideVariable 2022-11-11 17:11:00 +10:00
Ryan Dwyer 02f7077d16 Improve prop tick logic 2022-11-11 08:28:57 +10:00
Ryan Dwyer cfe4e51df8 Change prop->type to a bitfield and change checks to use a bitmask 2022-11-10 23:33:50 +10:00
Ryan Dwyer 5c9b1b1ac1 Improve prop pickup checks further 2022-11-10 22:21:00 +10:00
Ryan Dwyer b56b6ab229 Improve order of prop tickup tests 2022-11-10 22:07:34 +10:00
Ryan Dwyer 7d710aa109 Remove magnetattracttime 2022-11-10 21:38:16 +10:00
Ryan Dwyer 3b0066b74e Remove debug 2022-11-10 21:36:05 +10:00
Ryan Dwyer 44aedd817d Remove unused object types 2022-11-10 21:24:16 +10:00
Ryan Dwyer e334bb9101 Fix Mtxf in setupCreateProps 2022-11-10 21:06:17 +10:00
Ryan Dwyer 6a798d769b Remove support for hats 2022-11-10 21:03:41 +10:00
Ryan Dwyer b8b183a687 Remove code references to STAGE_TEST_OLD 2022-11-10 20:56:50 +10:00
Ryan Dwyer 4fc36d7d3f Remove pointless idle-checking code from lvTick 2022-11-10 20:53:38 +10:00
Ryan Dwyer d5a19238e1 Don't overwrite bss when extracting game segment 2022-11-10 20:48:04 +10:00
Ryan Dwyer 2443e9350f Align g_SndCache 2022-11-10 20:46:13 +10:00
Ryan Dwyer ba0eb5b656 Fix Defection programmer 2022-11-06 21:36:29 +10:00