Nico de Poel
9c1cbd467e
Small tweaks:
- Math functions return results in 32-bit int, cast back to short is done only where necessary
- Changed GTE screen distance to obtain an exact 90 degree horizontal FOV in 4:3 mode
3 years ago
Nico de Poel
586ee71c3c
Added anamorphic 16:9 widescreen support because why the heck not?
3 years ago
Nico de Poel
3a7ea8d4b3
Debugging work:
- Load map data using a macro, so I can easily change the implementation for all data chunks.
- Implemented a visdata function that loads all 1's, so that every leaf will be drawn.
- Point-to-plane distance now uses copies of input vectors. May or may not be faster.
- Fixed fps counter rounding and disabled vsync so we can see the true framerate
3 years ago
Nico de Poel
d3efa8e590
Keep track of and display total polycount
3 years ago
Nico de Poel
eb05cec59c
Adjusted display values slightly to better match aspect between NTSC and PAL, and for better vertical centering in PAL.
3 years ago
Nico de Poel
1336d0b2b5
Reset background and dither flags when switching video modes. Fixes flickering background.
3 years ago
Nico de Poel
a68b2c370f
Set up some helper functions for memory management, including scratchpad memory. Moved the primitive buffer here too.
This will probably have to become inline functions or macros at some point, but for now it's just pure C.
3 years ago
Nico de Poel
f4017d5f56
Modified triangle rendering code so that it finally works on real hardware.
Not sure why the original method doesn't work, probably some weird limitation on the memory/GTE register subsystems.
This will get rewritten anyway so it doesn't matter much now.
3 years ago
Nico de Poel
be9719ce03
Made a few changes to the ordering of the display code, which fixes execution on real hardware.
This also fixes the text overlay, which now renders on top of the 3D content.
3 years ago
Nico de Poel
5709d4973c
Adapted Select button input to switch between NTSC and PAL, which is a bit more useful at the moment.
3 years ago
Nico de Poel
a80c6d490b
First implementation of interlaced mode and switching display modes by pressing Select.
Still a bit buggy, not sure what I'm doing wrong. Will have to revisit this after performance is improved.
3 years ago
Nico de Poel
adff38b978
Expanded display initialization code with proper handling of both NTSC and PAL aspect ratios, and allowing PAL to render at higher resolution.
Also includes provisioning for switching between progressive and interlaced modes.
3 years ago
Nico de Poel
a94ec5dc33
Implemented real-time clock, allowing for precise timekeeping and framerate-independent game updates.
3 years ago
Nico de Poel
5a3b6aac46
First implementation of world loading and rendering. No BSP logic or optimizations in here yet, but something is being displayed!
3 years ago
Nico de Poel
ea44f4e99c
First import, with bits of code taken from the MDL viewer prototype, split up into organized units.
3 years ago