Commit Graph

6689 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 502f88dddb Enable antialias again 2023-04-24 00:01:18 +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