TODO/2.2

From UFO:AI
Jump to: navigation, search
Git working directory: root
The Changelog entry for this version is located here: 2.2

Contents

General

  • Add svn properties to stuff in our repository
  • [done] Check if the suggestions and complains in the comment "Nice looking game but opaque interface" by Irrevenant ([1]) can be (or are already) implemented. He kind of hit some very obvious spots here.
    • [done] Tooltips for inventory-items (and which weapon they can be loaded in for ammo)
      • [done] Implement item tooltips
      • [done] Some more tweaks are needed to show more information like proposed.
      • [done] better formatting? (newlines, maybe even color?)
    • [done] Add hints so the player knows what building is needed to do different things .. even if we have to resort to "Tips of the Day"-esque stuff.
      • Tip of the Day is implemented since r9467 - fill tips into the base/ufos/tips.ufo file.
    • [done] interface annoyance: "When an enemy unit is sighted, a red line appears between the sighter and sightee. That is very handy, but when the enemy is a couple of levels up or down, the red line vanishes before you can change levels to see where it where it goes. (If the camera followed the length of the line and back that would be very helpful in this case - a hotkey to jump to autocentre the sightee would be great)."
      • At least we now have a button to jump to the sighted enemy(ies) ... no quite what this request is about, but it's a start. ... I would propose we add something that can draw the line from our soldier to the target (if the selected one can directly see the target) afterwards and smoothly shifts from the soldiers position to the target and back ... but this might be better for a later release. --Hoehrer 16:04, 9 February 2007 (CET)
      • Perhaps this could be implemented as a hotkey that re-draws the overlay lines for the currently selected soldier to the actors (Aliens or Civilians) who are visible by the current actor. This would also be useful for situations where the other actor has been spotted, but is hard to see due to the shadows. --Foxxtrot 18:14, 25 June 2007 (CEST)
      • There is now a console command called drawspottedlines - it is not yet assigned to any key or interface button but we are getting there :) --Hoehrer 20:37, 22 July 2007 (CEST)
      • The drawspottedlines command has been bound to the t key (it displays a line to each visible enemy from the selected soldier). Not perfect, but certainly better than nothing. I think a "cycle trough visible enemies of this soldier" function would be nice as well - The main issue has been adressed now though so this would be a new feature. :) --Hoehrer 15:45, 6 August 2007 (CEST)
  • [WIP] Status of the manual?
    • The Manual is being worked on, but we have to keep in mind that a lot of things may change while it is written. --Hoehrer 16:04, 9 February 2007 (CET)
  • [done] Add text to the Tip of the Day file tips.ufo
  • [WIP] Headgear
    • [done] Place the headgear slot in the inventory and equip menus
    • [done] We need a button on both huds that activates the headgear in the headgear slot (if there is one)
    • [done] Implement the headgear 'fire' button
    • [open] Actors that got visible due to headgear should be drawn in a red color
    • [done] #1758237 2.2 trunk 9947 - IR goggles disappear after one mission

Code

New Network Code

  • [done] Bug #1758103 2.2 trunk 9933 Disconnect and server shutdown not promoted
    • Player is still connected after disconnect (at least the server thinks that)
    • mapchange doesn't call the spawn/new/precache function for the connected clients (only the server works)
  • [done] Bug #1758029 2.2 trunk 9916 - StateChange message ignored... LE not found
  • [done] Bug #1757156 multiplayer hang
  • [done] Bug #1755395 2.2 trunk 9768 - Can't move, LE doesn't exist
  • [done] Bug #1758104 [MAC] Broken pipe opening the multiplayermenu - new netcode
  • [done] Bug #1743166 More than the allowed number of actors after reconnect

Winsock Programmer's FAQ

Server side particles

Server side particles means, that the server is sending EV_PARTICLE_SPAWN events to the client

  • [done] Fix the LE think function LET_ProjectileAutoHide
    • it's not the LET_ProjectileAutoHide function, but the particle subsystem. A particle can be set to invisible, but the init function already has spawned their children particles and the parent itself is destroyed in the next run or even at the end of the init function.
  • [open] Use this method for smoke grenades - so that a player that didn't see the smoke while throwing the grenade is able to see it in the next round when he walk there

Reactionfire

  • [done] Reactionfire problems and enhancements.
    • [done] Reactionfire fd set for given soldier in last mission is remembered partially for next mission, that is fd chosen before is selected on the firemodelist, but when shooting with reactionfire, default is used; enabling RF with other fd and then enabling chosen again works
      • I think this is already fixed. The settings should not be remembered anymore, needs to be confirmed though. --Hoehrer
    • [done] Clicking on RF select on fd list should NOT change soldier state to shoot
      • Cause: the checkbox images are overlayed over the fire buttons and the game does always execute all stuff in the area the mouse is in .. no matter of the "z-depth". A quick workaround (but no solution) is to place the checkboxes a bit to the left (no overlapping).--Hoehrer 14:44, 1 April 2007 (CEST)
      • A fix to SVN-trunk and 2.1 branch has been committed. I found no problems with this solution, so i'll call this fixed. --Hoehrer 15:14, 15 April 2007 (CEST)
    • [done] Make sure that server knows about state of reactionfire for soldier (single RF/multiple RF) and replace #define TU_REACTION 7 with macro which will give 7 for single or 14 for multiple. The reason is to make multiple RF less powerful by taking more time from player--Zenerka 12:56, 2 April 2007 (CEST)
      • The patch has been committed to trunk and 2.1.1. It's better than the current mutli-rf for sure. Further enhancement/rework of the RF system needs to be discussed separately. (see gameplay Proposals) --Hoehrer 17:18, 13 April 2007 (CEST)
    • [done] Make sure the RF button on HUD is blocked (as in: greyed out) in cl_actor.c/CL_RefreshWeaponButtons() with new TU_REACTION macro

Facility limits

  • [done] Base facilities limits usage - currently there is a 'capacity' member of 'building_t' struct in the code; the purpose of this is to limit various things for various facilities
    • [done] The general parser and capacity updates on building/destroying buildings is done in r7223--Zenerka 22:50, 2 April 2007 (CEST)
    • [done] Alien Containment capacity limits the amount of alive aliens able to being stored - finished in r7228--Zenerka 00:07, 3 April 2007 (CEST)
    • [done] Storage capacity limits the amount of items - use this in buy/sell menu, and collecting items code
      • I need some help here. How to limits items? By amount only? That would be kinda strange - small ammo clip would take as much storage space as armour.--Zenerka 22:50, 2 April 2007 (CEST)
        • Each item should have a Storage stat governing how much space it takes up in base storage. I'll create a list. --Winter 12:55, 11 April 2007 (CEST)
        • List is here: /Storage Size --Winter 14:37, 11 April 2007 (CEST)
        • Updating capacities on aircraft with team leaving/returning has to be postponed for future work, when we will rewrite inventory/equip code and menu. Any work at this right now would be just waste of time.--Zenerka 22:40, 6 May 2007 (CEST)
    • [done] Hangars capacities - limits the amount of aircraft - use this in buy/sell aircraft menu - r7410/7411--Zenerka 23:54, 10 April 2007 (CEST) (note that UFO hangars limits still needs to be coded)
    • [done] rewrite existing code about workshop, quarters, laboratory and hospital limits to use new capacities--Zenerka 22:50, 2 April 2007 (CEST)
      • [done] laboratory limits finished in r7262--Zenerka 13:36, 4 April 2007 (CEST)
      • [done] workshop limits; workshop limits and production times updating after building more workshops and hiring more workers - r7399--Zenerka 23:54, 10 April 2007 (CEST)
      • [done] hospital limits - r8105--Zenerka 23:54, 1 May 2007 (CEST)
      • [done] living quarters limits - finished in r7580--Zenerka 21:06, 15 April 2007 (CEST)
    • [done] integrate hospital limits into new Kracken's system about separate list of wounded soldiers being sent to the mission
  • [done] limits for Antimatter Storage facility - r9539--Zenerka 20:14, 7 July 2007 (CEST)

Transfer code

  • [done] remove usage of dropship in transfer missions - according to Winter transfer should be done "as is", without any craftship usage
  • [done] implement personel transfering - r9966--Zenerka 13:36, 22 July 2007 (CEST)
  • [done] implement aircraft transfering
  • [done] integrate the facility limits (base->capacities) into transfer code for every type of transfer
  • [done] add missing scrolls to the Transfer menu node
  • [done] menu layout update
    • nodes layout updated in revision 10734; the layout pictures left--Zenerka 02:55, 12 August 2007 (CEST)
  • [done] fix reported bugs:
    • Bug #1725328 Transfer Equipment Between Bases Bug
    • Bug #1747389 Can't transfer laser weapons
    • Bug #1748073 Transferring gas grenades makes them disappear
  • [done] remove obsolete code and fix transfer saving
  • [done] for antimatter transfering use Antimatter Storage capacities (testing, removing, adding)
  • [done] bug: something is wrong with transfer saving and loading - not all needed info is restored - fixed in r10864--Zenerka 13:14, 16 August 2007 (CEST)

Equipment

  • Equipment & Weapons
    • [done] Please leave this in the todo list for reference Extend weapon and ammo combinations
    • [WIP] [Priority medium] "One-shot weapons"
      • [done] New/changed code for the Plasma Blade and the Stun Rod. They are one-shot weapons (the stun rod has several shots but no ammo) (e.g. You melee attack once and then it's practically worthless). --Hoehrer
      • [done] Currently the behaviour is a workaround since the items are not useless/destroyed afterwards, they are reusable after the mission (more exactly: after the 'load' part I introduced is called again) ... which isn't really a problem for the stunrod I think, but might be for the plasmablade (when it is used by our soldiers, not the aliens that is). If this is no issue i consider the feature 100% implemented, if it is we need to add some code to check for the "destruction" of such items after use. --Hoehrer 21:31, 15 February 2007 (CET)
        • or, as a workaround maybe, add additional boolean parameter to item definition (collectable false) and don't collect those in CL_CollectItems()--Zenerka 10:22, 21 February 2007 (CET)
        • I've done that in trunk (used only with plasma blade right now). Couldn't test it yet though. --Hoehrer 12:13, 21 February 2007 (CET)
        • After reconsidering this, I think this is bad idea, because it won't allow you to collect plasma blade not used before (blades which were thrown to the ground when killing/stunning an alien) thus there won't be chance to research it; maybe the way to implement this should be just to remove depletable items (local entities) after using it? maybe in some client shooting functions?--Zenerka 16:49, 22 February 2007 (CET)
      • [done] plasma blade does not disappear from the hand after being used.
      • [done] remove the oneshot && deplete code from INV_CollectingItems(), it is not needed anymore - oneshot/deplete weapons should be automaticaly destroyed after being used - see proposed patch http://pastebin.ca/658143
      • [WIP] plasmablade does not launch impact particle nor sound when thrown misses the target
    • [done] IR Goggles: Only make the units visible that stand in the direction the actor looks (done via G_FrustomVis check)

Multiplayer

  • [open] Multiplayer improvements:
    • [open] in cooperative mode, inform an user on the HUD when he already clicked EndOfTurn
      • the basics are done - a new network event EV_ENDROUNDANNOUNCE
    • [open] in cooperative mode, inform an user on the HUD when teammate spotted new alien
    • [open] show chat messages longer time - make a list of chat messages up of the screen, allow to be 6 lines there and let those lines slowly dissapear; when one at the top will dissapear, let rest of them move one line up; when someone make new chat message, his new line should go to the bottom.
      • how about having a shortcut key which will make all the chat visible while it is pressed (and then go when released), kind of the like the current tooltip type effect? J seems a good choice to me - it's near the other chat keys.--Blondandy 12:15, 8 June 2007 (CEST)
    • [open] when not in Coop mode, but more than two players (for example 1vs1vs1) show info which player is currently moving
    • [done] implement checksum mechanism for scriptfiles (to prevent cheating)

UFO Recovery and production disassembling

  • [done] UFO hangars capacities, UFO crafts weight
    • [done] Update capacity.cur for UFO hangars after adding recovered UFO
  • [done] Menu Won with options for UFO recoveries in case of UFO secured during the mission
    • [done] (button) Store UFO in UFO hangars with base selection popup
    • [done] (button) Sell UFO to desired nation with nation selection popup
      • And how should given nation happiness raise in case of selling the UFO?--Zenerka 10:48, 9 May 2007 (CEST)
    • [done] (button) Destroy UFO
    • [done] Menu Won layout needs updating because of new buttons
  • [done] Daily campaign run for recovery progress
  • [done] clean a mess with UFO crafts research topics, code to enable UFO craft research topic after recovering an UFO and bringing it to base
  • [done] disassembling UFO
    • [done] Code to handle amount of special items in case of disassembling UFO
    • [done] Code to disassembling run (similar to production run, disassembling should be in production queue as well)
  • [done] Store UFO in given hangar
  • [done] Production menu reorganization
    • [done] Two new buttons: for dummy items and for disassembling items
    • [done] Code to handle items which can be disassembled
  • [done] recovering special items from crashsites

Base operations

  • [done] Forbid to launch aircrafts if no Command Centre in operational status in base. - r9089--Zenerka 18:27, 13 June 2007 (CEST)
  • [done] Many buildings should not be operational without power supply. - r9041--Zenerka 13:22, 12 June 2007 (CEST)
  • [done] Implement correct credits calculation at campaign start for both options 'starts with/without buildings'; see http://voovoos.killfile.pl/roznosci/ufo/prices.txt
  • [done] Let the missile battery interact in the geoscape action, too - the missile rack should be able to shoot down UFOs, too.
If an UFO was able to shoot several times to a base and redruce the "health" of the base to a given level, the missile rack is destroyed and the UFO is able to set the base under attack.

Misc

  • [done] add the R_CHECK_ERROR macro to most of the gl calls
  • [done] when a player is connected with the in-game irc client, highlight priv messages everywhere in the game
  • [WIP] footsteps and terrain specific particles for walking (taken by Zenerka and Mattn - also see Revision 10098)
    • [done] The basic code to issue sound and particle is done (r10098)
      • We can not only distinguish between terrain type (texture type), but also between actor type - so the UGV could play different sound on the wood surface than Ortnok would do - the CL_PlaySoundFileAndParticleForSurface() needs an extension in that case
    • [WIP] scriptfile with sound2texture and particle2texture mapping - currently i am surfing through all our maps to figure out every type of surface texture, and slowly adding them into terrain.ufo; this will take some time--Zenerka 12:48, 25 July 2007 (CEST)
    • [done] mapping parser
    • [open] Send footstep infos to other connected players by the server, too
      • [open] Somehow mark the actor that notes the sound - e.g. change the actor cursor - or icon over head
      • [open] If footstep loud enough, Reaction fire activated, let the listener turn around in the direction of the sound
    • [WIP] footstep sounds for every type of surface texture (and actor)
    • [done] particles for some types of surface texture (sand -> dust particle, but obviously no particle for metal surface)
  • [done] [High priority] Fix random map assembly (and crashes while assembly)
    Random map assembling is absolutely vital for crash site assemblies. Broken things are aside others: Pathfinding in various map-segments and segfaults when loading. For more information and bug-reports on map assembly see the following places:
    • [done] Bug #1779406 crash site map assembly (e.g. maps/ufocrashd.ump)
    • [done] Bug #1564458 Numerous Map-Bugs:No-go-Areas and little shadow defects
      • might be fixed by Gerd's patch - see Rev.10874
    • [done] Bug #1541536 Assembling random map - wrong theme-name
    • [done] Bug #1541538 Crash assembling map "+villaged big"
    • [done] Bug #1662945 segfault entering +frozend
    • [done] Bug #1707401 base attack shutdown
    • Further Info ...
  • [done] Add aircraft interceptions and crash site assemblies (taken by Kracken and Mattn)
  • [done] for the purpose of crashsite missions divide the geoscape to the more types of terrain; such terrain should be: jungle, desert, arctic, mountains, urban (for heavy urbanized regions and big cities), village, steppe/grassland
  • [done] provide code basis for mission placement: a function is needed which is supplied with terrain restrictions and returns a location on Geoscape
  • [done] preload all character models and weapon models for faster menu switching
    • [open] armored models are still missing in precaching stage
    • [done] loading bar
  • [done] #1542759 Fix the bug with Rocket Launcher firing - the target plays death animation before the rocket reaches it
  • [done] Improve the message system into something like a email-client.
    • [WIP] Add menu/screen for logged messages which can can be searched (in categories?) - mattn implemented basic email menu
    • [done] Winter wrote quite a bit of nicely-formatted messages (email-style) for all kind of messages related to bases/aircraft/constructions/etc. - put them in events.ufo
    • [done] parser for e-mail messages (to not hardcode headers and other stuff, but format it in scriptfile - events.ufo)
  • [done] Add an event system. --Hoehrer
    • [done] Support for events is already (basically) implemented in the research system.
    • [done] The only thing missing is the event system itself. This being event definitions (id/message+type/year+day are defined), parsing (See base/ufos/events.ufo for a basic system) and storing in the global data somewhere (like the rest of the "news" that is collected already.) (see cl_events.c and rev. r13056)
    • [done] Display these events/news in an easy to search screen (same problem as for current "e-mail" style stuff)
  • [done] fr #1551014 Option to change language. (A current workaround under Linux is to set LC_ALL=xxxx before starting the game - remember to reset the previous value afterwards.)
  • [done] Code to issue "melee" attacks by actors/ugvs which do not use weapon, for example Bloodspider - taken by Zenerka and Mattn
  • [open] turning of soldiers behaves funky: [2] (the player could not rotate to face the cursor)
  • [open] extend the parser of alien team definitions to allow numbers of particular race (and when no number given - random amount, as it is now) - this is needed to for example not allowing team with 1 Taman and 6 Bloodspiders
  • [done] investigate and fix the bug with not sending "Dazed" message to the player HUD if other soldier than dazed one is selected
    • should should already be fixed -Mattn 11:54, 4 July 2007 (CEST)
  • [done] investigate and fix the bug with not playing death sounds in multiplayer
    • should should already be fixed -Mattn 11:54, 4 July 2007 (CEST)
  • [done] Code to produce aircrafts.

Menu

  • [done] Implement scrollbars for text nodes
  • [done] Implement new node types:
    • [done] Checkbox (only 0 and 1 cvar values)
    • [done] Selectbox (different options for one cvar)

Models

  • [open] TODO/2.1/Fix model scaling
  • [done] Shevaar body "swims" around in the ground :) #1741771 - (mattn/rastaman)
  • [done] Stingray model is broken #1741845 (Hoehrer)
    • This should be fixed as soon as I find the reason for the "No model given or not in md2 format" message. --Hoehrer
  • Bloodspider model (see the bloodspider dir
    • [done] Integrate the model into the game (stats, correct animation, placement, etc...)
      • the only thing that's still missing is the code for the melee attack (see #Code->bloodspider) --Mattn 08:49, 6 March 2007 (CET)
    • [done] The exported tag file leads to crashes (Hoehrer)
    • [WIP] The model has its death animation too high (taken by Hoehrer)
      • I exported the file anew ... please keep a close eye on the death and menu-anims. --Hoehrer 11:19, 5 July 2007 (CEST)
    • [done] The md2 file is broken (animations) (taken by Mattn and Hoehrer)
  • [done] cars/van2 lacks textures
  • [open] Female medic body. Female medics currently have male models
  • [open] Female scientists
  • [open] More civilian models.
  • Bolter Rifle
    • [done] Contrails a-la Quake 2 particle.
    • [done] Cannonade fire definition sound (done by Alex Parker and committed in r7475)

Maps

  • [done] Antimatter Storage facility map
    • do we have a draft available? If not, can someone please generate one?
      • now we have:
        Antimatter blueprint.png
  • [done] Base defense maps (rocket stations and so on)
    • do we have a draft available? If not, can someone please generate one?
      • now we have:
        Missile blueprint.png

Artwork

  • [done] Antimatter Storage facility picture (for base view and/or UFOpedia)
  • [open] Add GUI for messages.
    • which messages? -Mattn 18:35, 21 July 2007 (CEST)
  • [open] Improve GUI for research entries. See #Code Section.
  • [open] Improve and/or update particles - list below
    • [open] particles for breaking window
    • [open] particles for exploding wood barrel after shoot
    • [open] cannonade bolter rifle particle does not work - only impact is being shown
  • [open] background for 3d geoscape (e.g. some starfield)
  • [open] Electrolaser Particle effect: See this thread in the forum.
  • [open] intro roq sequence

Sound

  • [open] check Alien Death messages contributed by Alex Parker and commited in r8785 whether they fits and use them as death sounds for alien team definitions
  • [open] we need death sounds for every type of human actor definition
  • [done] Electrolaser Weapon sound. See this thread in the forum.
  • [open] Footsteps sounds for every type of terrain - see terrain.ufo
  • [open] Ambient sounds for water and so on
Personal tools