This repo holds the community port of Forsaken!
Check out the Wiki for more information.
Forsaken game engine
Home Page: https://forsakenx.github.io
License: Other
This repo holds the community port of Forsaken!
Check out the Wiki for more information.
2d screen polys were beind rendered for every single camera view; I moved the 2d screen poly rendering to only run on the main cam after the main/mini cams were already rendered; this way the 2d polys end up on top of everything else and don't get rendered into the viewport of the mini cam; this has the affect though that mini cam could never have 2d polys which consists of text and lense flair; which apparently the game did support anyway; I also enabled hud and lense flair in full screen rear view
once again the old game used bit mapped fonts here so no textures or anything else was loading/running to support polygonal text; this was added in and all init view steps were combined into one since on any pc from today it loads instantly
was not enabled for linux
Really sucks to just see a blank screen.
some code that expected framelag to be larger and reduce a varible to less than zero when in fact framelag was so small the variable stayed at zero so it should check for less than or equal to zero
default bpp=24 wasn't supported on all video cards and vice versa; you could fix it by switching bpp to 32 in the config file; now the game will only use whatever your desktop is currently set at which always is safe
(this has been fixed by using the mingw compiler to build everything from scratch to only require msvcrt.dll) (1069 requires users to install .net 3.5 sp1 and newer versions built with vs10 required .net4)
For some reason the linked list of network_players becomes corrupted and causes endless loops or invalid access exceptions.
This is a great place to start writing unit tests for.
a pointer address that was freed was not null'd causing it to be used/free'd again resulting in a crash
When to many sounds fire off at once we run out of slots causing sounds to not be heard.
There was some major refactoring going in sound code that needs to be revisited to help address this.
this may have only happened on video cards that didn't support non square textures; forced all textures to be square
simple check for null pointer missing
increased number of sound slots from 64 to 256
for example load up arena then alpha and the arena sound never goes away.
not all libraries were being cleaned up before exit
Right now we only support 1 type of nat punch through.
There is support for another type which had to be disabled because it caused a bug.
We should investigate why and fix it.
And see if we can support other types.
respawn timer is now 3.5 seconds for anyone regardless of fps
Locked it down to 10fps
resolution w/h was set to 0/0 which is supposed to default to the desktop setting but apparently leaves the user in a state of black screen; the game now starts up in window mode at 800x600 which will always work and the user can pick whatever settings they want
Clear screen before rendering
(the old game would repeat the last mouse imput (for 0.028 seconds) while dx's dinput would accumlate the mouse values behind the scene; the new sdl method was providing accumlated values up front and only clearing it after the same 0.028 second timeout; apparently the higher level application code didn't feel the same anymore; or was less responsive)
is now configurable how long you want the message to stay around: MaxMessageTime in the config
converted it to use real framelag
memcpy was being used to shift an array over over lapping members; memcpy was converted to memove to fix the issue
Looping sfx should pause during first player game in the menu and start back up when you close it.
Currently it does not and if you die and sit there for a bit a really loud sound will start that you can't stop after that point.
Addded support for polygonal text rendering in between levels; the old game used bitmap fonts so it didn't need that support at the time; this affected 1069 as well if you turned on polygonal text which is the only supported mode now
some old lighting trick that was supposed to work along with the white out
vector normalization was producing an inf which would cause the bsp collision code to get stuck in a loop
need to port file time code to be cross platform
I put this in major bugs section because it could cause considerable annoyance to new players and old allike.
There was a fix in for this in the past but it created another bug so it was disabled.
We should get this working again because otherwise enabling multiple primaries with randomized pickups causing it to exhaust all possible primaries of trojax (depends on enabled list of weapons) before it moves onto the next weapon and same thing there on for each other weapon.
Hence if you have 20 primaries enabled you'll end up with 20 trojaxes before anything else...
Forsaken currently still uses old school panning (left/right speaker) and volume (fake distance) techniques that it does in software to emulate 3d sound.
OpenAL supports passing position information and taking care of all of this for you with effects such as doppler shift. It would also properly support 3d sound systems (and headphones) this way.
Not all the code paths pass down all the required information such as speed and orientation of the object that PlaySfx (and friends) were called for. We need that information to properly support doppler and 3d positioning.
(votes: silence)
this has been restored for gl1 build on windows/linux and lion has made a better one that will make it's way into gl3
x / (framelag=0) caused pan setting to be a nan
Lossy connections were causing race conditions in the initial synching faze.
The initialization protocol now guarantees and waits for each message before continuing to the next step.
I'm not sure if this is new or old but it seems to happen in the original forsaken as well. Which may be a result of modern architecture or floating point issues?
None less the offset file is cutting up the texture file improperly allowing for bleeding (see https://picasaweb.google.com/108295825517655541338/Forsaken6dof#5464211114383237730).
Dactil is also working on a way to solve this while remaking the fire ?
simple null pointer check enumerating capture devices
There is some support for this added by Lion which needs to be tested and added to forsaken.
It's a nice thing to fall back on in case all else fails.
(cleared the mouse inputs)
(math errors will now be logged to the log file)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.