Quote: "or you could even have the gun go up right away and then have it come back down again, simulating the players control over the gun to bring it back to normal orientation when fireing..."
Is that not what it does at the moment? What do you mean?
New exe and code. I have added in some stuff to test physics syncronisation, along with various other fixes.
EXE Update, 28/11/05 (2.04MB rar archive)
Code Update, 28/11/05 (112kB rar archive)
Todo List
wip - Half done
done - Done (duh)
! - Most urgent
* - Needs testing
=======================
Main issues:
- Hide gun when zooming with zoom image
- Add workaround for backspace bug
done - Add underwater effect
done - Add swimming
- Add option for transparency to boo objects
- Add shadow mapping for objects
- Add player shadow
done - Fix physics timestep limit
done - Fix jumping completely
done - Add ability to call whole config files using command. Compile levels into a separate config file
- Fix level loading
- Add ability to crouch (and get new animations for crouching)
- Alter weapon files to use cfg format
- Alter particle files to use cfg format
- Alter music files to use cfg format
- Alter material files to use cfg format
- Alter character files to use cfg format
done - Add code to display player health.
! - Add code to have some sort of effect when player is damaged
done - Add custom spawn points, and apply over network so players spawn randomly.
done - Edit network bullet code to inflict varying damage depending on gun used.
! - Add code to initiate and terminate games over network (whether forced or natural). Initiation will result in players respawning, their scores resetting and the scene returning to normal.
! - Add code to determine whether someone has won the game. In which case, end game and start a new game. Players' rounds won will be retained until they leave the server.
- Add ability to enable/disable weapons.
- Add pickups code and apply across network.
- Edit the code so that you can be out-of-a-game, so that the levels aren't loaded automatically when the program launches.
- Improve the character collision code. Polygon collision is quite slow.
! - Add visual message code to display messages like "PlayerX killed Player Y!".
done - Fix mouse in centre of screen. Add command to turn fixed mouse on and off
done - Stop sliding of player when console is open
done - When dead player is typing, don't allow player to respawn by pressing space
- Fix weapon zoom to be better in general
- Make player exert a force on objects they are standing on when jumping
done - Fix it so that the camera doesn't go through object when jumping and going near to surfaces
* - Fix it so you can't joingame when already in a game
done - Fix the transparency problem with the water
! - Fix score and kill count
! - Add code to allow .boo objects to be offset and rotated from Newton primitives
! - Edit code to limit the amount of requests to spawn a player can make in a set time
- Allow player score to be negative, and then subtract score from player if they suicide.
- Fix particle damping to work independently of frame rate
- Allow bullets to go through specified objects, or even add a probability that they will.
- P90 zooms too far
- Increase randomness of bullets as the weapon is fired more, or depending on player movements
- Add splash effects for bullets and objects and players hitting the water
! - Check for shader support and allow simple version of water to be loaded
- Allow disabling of physics, and also try to syncronise over network
Other issues:
- Generally improve sound support
- Make transparent parts of objects not get detected for collision
- Allow objects to be split into limbs and each limb has different material when loaded
- Mini-map
- Add grenades
- Fix player system so that it doesn't rely on player 0 being the user's player
Questionable:
- Guns shouldn't shoot underwater
Sounds needed for:
- Walking/Running
- Jumping/Landing
- Bullet-Impacts and other sound effects
- Water Ambient
- Splash Of water (When player/object falls in.)
- Voice acting (Taunts/Commands/Responses.)
- Basic ambient sounds.(City/Jungle Ect...)
- Basic radio sounds
- Explosions
Latest Log
--- Blackout Edit Log ---
-- Progress Log Starting Oct. 7, 05 --
-- Edits by Joseph Thomson Follow --
-- Oct. 7, 05 --
Update Summary
- Added ability to shake the camera. Adds intensity to explosions by making it seems as if the character is affected physically
- Made explosions shake the camera.
- Added generalMaths.dba module with header
generalMaths.dba
- Added general function float "Mod2(xDist as float, yDist as float)" returns modulus of 2D vector
- Added general function float "Mod3(xDist as float, yDist as float, zDist as float)" returns modulus of 3D vector
- Added general function float "Mod2Sqr(xDist as float, yDist as float)" returns square of modulus of 2D vector
- Added general function float "Mod3Sqr(xDist as float, yDist as float, zDist as float)" returns square of modulus of 3D vector
- Added general function float "Decay(target as float, current as float, decayStep as float)" moves a variable closer to a target by a certain step value
worldEffects.dba
- Added radius parameter to explosion function to allow first person camera to shake only at certain distance
- Added external function "WLDFX_setExplosionShakeStrength(strength as float)" sets the strength scale value for camera shakes caused by explosions
- Added code to shake the camera based on the inverse distance from an explosion
player.dba
- Added external function float "FPP_getActive()" returns whether the first person player is active or not
- Added external function "FPP_ShakeCamera()" sets the values to start a shake
- Added internal function "FPP_UpdateCameraShake()" a cool routine which shakes the camera at a certain frequency and magnitude, with a certain decay
-- Oct. 23, 05 --
Update Summary
- Integrated new objects.dba module with project. This makes the old object.dba module redundent. Level.dba is not ideal for new format, will be updating level editor files to support new object format and new code format.
-- Nov. 1, 05 --
Update Summary
- Started integrating Alkaline's changed into project
NetworkNew.dba
- Integrated ping functionality
- Added "if G_Connected = 1" checks to some functions
- Added player hit functions. Host sends a message to clients when a player is hit, this is then added to the network events list. The message contains the player hit, damage done, and whether it killed the player
- Added function NET_setPingRate(rate as dword) and console command to go with it. Ping rate is the interval between sending ping messages in milliseconds
-- Nov. 3, 05 --
NetworkNew.dba
- Fixed stupid bug when players join a server, that was occuring due to not reading a byte from a Tempest message
- Hit messages now take effect over the network, on player's characters life. When players die they explode :P (temporary until we get a death animation or ragdolls)
-- Nov. 12, 05 --
Update Summary
- Upgraded to U5.9 Beta 3. Also upgraded Newton Wrapper, it works fine.
- Added functionality: player deaths and spawns. All handled via the host.
NetworkNew.dba
- Added new functions to deal with player re-spawning. Similar to the player joining functions.
- Removed some stuff from the functions so that it is now handled by the games.dba file. The code looks and feels a lot nicer now!
- Added NET_KillPlayer(player) and NET_SpawnPlayer(player) functions.
- Added NET_IncPlayerDeaths()/Kills()/Score() and implimented them to affect the players' stats
Particles.dba
- Changed the code so instanced particles can now have their alpha adjusted independently (new change for U5.9).
Games.dba
- Altered GAME_SetSpectate() slightly to fix various bugs.
- Added function GAME_Respawn(), which handles re-spawning the character for the host, or sends a request if it is a client.
- Added GAME_HandlePlayerJoiningMessages() and GAME_HandlePlayerSpawningMessages() functions to handle the character related stuff that the Network module used to handle. It fits much better and is much neater.
User.dba
- Changed the talk key from Return to "T".
- Added code so that when the player is dead, and the spacekey is pressed, the player will re-spawn.
-- Nov. 19, 05 --
Update Summary
- Added ability to stick decals to objects. Bullet holes now appear on rigid bodies when they are shot.
Decals.dba
- Added function DCL_FixDecalToObject() to control sticking decals to DBPro objects.
WorldEffects.dba
- Added function WLDFX_PlaceDecalOnBody() to stick decals to rigid bodies.
Objects.dba
- Changed all the misspelled "bouyancy" variables to "buoyancy".
- Added functions to set fluid level, and added functionality into OBJ_CreateBody to set the fluid levels for bodies when they are created.
- Added visual water with fx file, copied from Alkaline's code changes. Thanks Alkaline!
-- Nov. 25, 05 --
Update Summary
- Compiling media needed into Online Deaths test.
Player.dba
- Fixed update function so that guns hide when they are switched. Was bug left over from code conversion.
-- Nov. 26, 05 --
Update Summary
- Just doing various changes from the to-do list
- We have passed the 10000 line mark! Hooray! Damn slow DBPro compilation.
fpsmain.dba
- Added some code to better control the physics timestep. Now things move more appropriately when at low frame rates
Objects.dba
- Added functions to control various things about fluid effects
WorldEffects.dba
- Calls the functions in objects.dba to create an effect when the camera goes underwater
Character.dba
- Added some code to detect when characters go underwater. The underwater flag for each character is now set
- CHR_MoveCharacter() now accounts for whether the character is underwater, and moves it accordingly
- CHR_JumpCharacter() now sets an impulse, not a force. Not that it makes much difference
Console.dba
- Added console command to parse a cfg file
- Edited CSL_ParseFile() so that it stores the file lines in an array, to allow embedded calling on the function
- Added console command to set a characters jump strength. It is called setplayerjumpstrength, as calling it with one parameter sets the player's jump strength
HUD.dba
- Added text to show player's life
-- Nov. 27, 05 --
Update Summary
- Made a change so that players don't immediately spawn when using the console command "joingame
- Added custom spawn points so that players spawn randomly at the spawn points belonging to their team.
- Fixed jumping!
Text.dba
- Added function TXT_DrawCentreText(), similar to center text function in DBPro
HUD.dba
- Added text to show message "Press space to spawn" when player is dead
NetworkNew.dba
- Changed NET_AddPlayer() function to set player initially as dead
- Edited NET_IncPlayerScore() and similar functions to accept negative values
- Edited MSG_GAMEINFO messages to include whether the player is currently dead
- Edited various functions to encompass new spawning functionality
Games.dba
- Changed GAME_SetSpectate() to not activate the character directly, but to set the deathcam off. Player will now have to press space to use spawning function, even when first spawning
- Changed it so you cannot join a game unless you are connected to a server. This is because data which is stored in the G_Player() array is required and cannot be accessed without joining a server. This could be changed, but would require data to be transferred to the G_Character() array and various things to be changed around.
- Edited GAME_HandlePlayerHitMessages() to count scores differently if a death is a suicide.
- Edited GAME_Respawn() function to choose a random spawn point and send a network message if user is host
Console.dba
- Added console command to allow suiciding. Sends a message to everyone about damage done to yourself by yourself.
- Added console command to return camera coordinates
- Added command to set jump timing
Character.dba
- Edited CHR_JumpCharacter() function to use a timer to make sure multiple jumps are not made at once. Hence, added a jumpTime variable to Type_CharacterType.
-- Nov. 28, 05 --
Update Summary
- Made a few minor changes
- Added some test code for network physics syncronisation. The objects should now remain syncronised, although not as smoothly as they could be
User.dba
- Fixed it so that the player doesn't slide when the console is open
- Player no longer re-spawns if they press space while dead, while typing a message in the chat or console
Objects.dba
- Disabled the water's z-write so that particle effects render through the water
- Added a function that sends information about the bodies if needed across the network, if you are the host
- Added function to return body's mass
Player.dba
- Lowered the height of the camera compared to the player ellipse. This stops the camera going through certain parts of the level
Character.dba
- Added a constant C_CHARACTERVIEWSCALAR to specifiy the amount by which the character's view height is above the character's centre
Weapon.dba
- Uses C_CHARACTERVIEWSCALAR to know where to shoot bullets from
NetworkNew.dba
- Added some functions to send and receieve physics body states over the network
Console.dba
- Added commands to disable and enable escapekey. Also escapekey is automatically disabled now
- Added command to end the game "end"
EDIT
Yeah Prof, good idea. BTW, are you available to test right now? I'll keep the server up. Here is my IP address if you want to put it in the config file (hostip): 80.229.23.131
You will need your local IP and your name as well (though I'm not sure I need to tell you that!).
EDIT
Sorry, closed the url tags. NOw the links work./
EDIT
Nevermind, no time now. Maybe some other time.