Wed Apr 07, 2021 2:38 pm
It is finally done! Raze is out of beta and version 1.0.0 has been released.Download (OpenGL 3.3 and higher requiredVisit the new homepage (still under construction)Highlights
- Vulkan backend is finally working.
- Improved support for starting mods by dragging & dropping them on Raze.exe, primarily for Blood where .inis can now be autodetected.
- voxel rotation can now be used in all games.
- implemented support for paletted textures to Vulkan backend.
- fixed invalidation of programmatic textures. This is only relevant for Vulkan because it stores the descriptor sets with the material, not the hardware texture.
- pad out the StreamData buffer to 16 bytes and avoid any form of conditional compilation here. Vulkan does not manage to get the shader properly compiled without this.
- always ensure that the global index buffer is not empty. This needs to be valid for Vulkan, even if it isn't used.
- block opening of the menu in the fade out phase of a screenjob and in Exhumed's map/intermission screens. At these places there's some inteference that can bring the engine into an unstable state.
- RRRA: Sector effector type 156 is not supposed to scroll the floor texture.
- SW: fixed interpolation for sector object sprites. When checking for an existing interpolation it needs to check the actual sprite, not just the interpolation type.
- Blood: disable look left and look right in the classic key configuration.
- strip out macOS resource fork folders because they can contain data that can confuse file detection.
- allow loading Zips where all content is in a subdirectory.
- autodetect .inis when loading Blood mods. This will allow dragging & dropping such archives without further user intervention.
- fixed some swapped parameters in status bar code.
- Fix undefined behavior/potential OOB access in ST_21_FLOOR_DOOR. g_AnimateGoal does not take a sector number, it takes an animation index, and caps at 1024, not 4096.
- fixed tileImportFromTexture. The parser read numbers with leading zeros as octal, which is not wanted here and texture lookup by file name must be forced for root directory entries.
- Duke/RR: Don't delete master switch sprites. The sound system may play sounds on them after their deletion so they have to be retained. Fixes #288.
- handle voxel rotation in the backend to enable it for all games. This was previously only present in the Blood module and missed in Exhumed from upstream so the entire option was rather pointless. Fixes #290
- disabled 'isRunning' in Blood entirely. After discovering yet another misbehaving place in the game I think it can be safely concluded that this is better left off unconditionally. Fixes #292
- fixed music in Blood's menu. This is only supposed to play for the fade-in of the background but needs to stop when the menu appears. Fixes #291
- added a check for game-side-defined voxels when discarding one-sided wall sprites viewed from the back. Fixes disappearing voxel switches in SW.
- sethorizon(): Ensure `SB_CENTERVIEW` bit is always cleared if horizon target is set.
- gameinput.cpp: Block player input within `sethorizon()` and `applylook()` if target for each has been set by the ticker. Stops players having the ability to provide input and fight the system trying to set an input.
- Further work within `PlayerAngle` and `PlayerHorizon` structs following 39fe9efaffc6652993fe2a4708ced8d770d2122a and bf2d8078a4418eed5386faf904ca075d2af587d5.
- Fix `Linux GCC 7` continuous integration target.
- `InputState::ClearAllInput()`: Only clear `crouch_toggle` bool if outside of a level, and resend `SB_CROUCH` sync bit if inside a level and `crouch_toggle` is true. Fixes #287.
- Re-arrange `swaddons` const char array so that `/gameroot` is picked up first following changes in f4b27bbd27b0f424c92278f56c0469c47125930e.
- binaryangle.h: Fix constexpr issue on GCC builds following bf2d8078a4418eed5386faf904ca075d2af587d5.
- Revert "subjective fix to Duke 3D's RPG harsh recoil."
- Duke: `DoPlayer()`: Ensure `SB_CENTERVIEW` bit is cleared when setting a horiz target from CON.
- PlayerHorizon: Replicate changes to `settarget()` and `processhelpers()` methods from 39fe9efaffc6652993fe2a4708ced8d770d2122a.
- PlayerAngle: Adjust how `settarget()` methods store angle for unsynchronised angle adjustments and adjust `processhelpers()` method accordingly.
- fixed uninitialized clear color variable.
- updated the earcut.hpp triangulator. The old one wasn't triangulating the bathroom sector in DUKEDC2 properly, the bug got fixed upstream in the mean time.
- use clamp instead of bit masking to handle out of range interpolation factors for models.
- fixed: G_BuildTiccmd needs to clear the command struct. This could otherwise pick up some stray data from earlier calls and create bogus input. Fixes #97
Wed Apr 07, 2021 3:08 pm
Congratulations on a first release!
Wed Apr 07, 2021 4:44 pm
Everything runs really smoothly. It's sooo nice to play Duke3D without the stuttering that always plagued my time with the game.
I have a couple of questions. Firstly, what's the name of the main menu? I've tried to assign my controller START button to the "mainmenu" and all variations that I can think of. I'd just like to press START and enter the main menu just like Doom. My muscle memory is struggling here!
Another question - I don't know if this is an error or if there's a logical reason but while using a controller the player never reaches full speed regardless of autorun settings. If I press the cursor keys movement is MUCH faster. This happens in Duke, SW and Exhumed (the only games I've tried).
Anyway, thanks so much for your continued work and thanks for sharing it.
Wed Apr 07, 2021 4:49 pm
Barry: it's called 'menu_main'.
Wed Apr 07, 2021 4:51 pm
Thanks, dude. I could've sworn I'd already tried that. I'll go give it a blast right now.
Wed Apr 07, 2021 4:59 pm
Barry Burton wrote:Another question - I don't know if this is an error or if there's a logical reason but while using a controller the player never reaches full speed regardless of autorun settings. If I press the cursor keys movement is MUCH faster. This happens in Duke, SW and Exhumed (the only games I've tried).
This one's on me as I attenuated input by half to give more control to the player. If you set the forward/back sensitivity to 2, that'll be full speed. If you set it higher, it'll just cap out anyway and you'll lose the finer level of control as you'll reach the cap quicker with less input.
Thu Apr 08, 2021 6:33 am
Thanks, folks, for the info and catalyst to keep messing around. I now have full speed movement and I now have a 'proper' menu when I hit START.
For interest, I found the correct syntax to add to my config was:
Again, thanks to all involved and thanks for the help.
Thu Apr 08, 2021 6:35 am
Very nice, very nice indeed. The Build games, for me, will always be second fiddle to Doom but this is a great way to play them - some of which have been basically unplayable for decades. Thank you very much for all of the hard work that went into making this happen.
Thu Apr 08, 2021 7:00 am
Graf Zahl wrote:
It is finally done! Raze is out of beta and version 1.0.0 has been released.Download (OpenGL 3.3 and higher required
Great job as usual! Keep up the good work!
Thu Apr 08, 2021 9:15 am
This is awesome.
How will it operate Duke 3D user maps and mods, for example? Can we just use their different file extensions in a simple drag-and-drop, or launcher/ bat file system, as in Geezy?
Thu Apr 08, 2021 9:18 am
Mostly yes, but thanks to the problems with the original file handling it can occasionally be a bit tricky to get a mod working. some are packaged in a less than optimal way.
Thu Apr 08, 2021 9:21 am
I see. I just ask because it's such an easy system in the Z ports. This would make it so loading multiple mods such as the Voxel Pack, bug fixes and whatnot, that much easier to those who aren't as privvy to file editing.
Thu Apr 08, 2021 9:23 am
We know - but whatever is done here will require adjustments in the mods.
The .def file system is originally non-cumulative, and the EDuke32 family of ports depends on this, so if we just changed the rules here we'd create a problem for the mod makers that want to support all Build engine ports. It won't help anybody if the same file behaves differently depending on the port.
Thu Apr 08, 2021 9:49 am
I get that. I just loaded the Duke 3D Voxel Pack and it seems to work. However, when I tried to edit the eduke.con to enable pickup rotation it gives off a series of errors so, I gathered that this will work in a different way.
Nonetheless, it seems to me that's extremely promising. Great job.
Thu Apr 08, 2021 10:08 am
Voxel rotation in Raze is enabled like in NBlood - add 'rotate' to the voxel definition. How does EDuke do this? Last timeI checked its code II couldn't find anything.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.