Running Bug List
From Bitfighter
This is list of our current high-priority bugs for Bitfighter.
Not all issues belong on this list -- only those that are a high priority for the next release. Other cases should be added to the Google Code bug tracker.
General Bugs
- Joining a game already running won't show your badges in the scoreboard until next level. Existing clients get info on the joiner, but joiner doesn't get the full 411 on the existing players. GameType::serverAddClient::s2cAddClient isn't sending proper badge info to joiner.
- Fix (or kill) /suspend command. Removed client-side by raptor Do we need to remove the server ability to suspend client?
- Figure out how to get ids working properly with walls/polywalls
- When teleporting on top of walls (layered walls?) sometimes a player gets stuck and cannot move or commit suicide. This may be hard to track down.
-
One black screen of doom case left: Open two clients; don't move in one to let spawn delay kick in (30 seconds); go to a /next level, the first should now be spawn delayed; go to /next level again, the first cannot come back to game now - Fix memory leak with robots/levelgen because of disabling every luaW_hold<T>(L, obj); --> use reference counting to delete proxy when appropriate, and reenable this line
- Disable fast regen when standing still trying to build something with engineer
- Public Lua API members for the 'Item' object should probably be moved somewhere more appropriate. See http://bitfighter.org/luadocs/class_item.html isOnShip() should not apply to EngineeredItem, etc.
- Clean-up master chat commands. Add consistency; /raptor -> /pm raptor etc.
- Lua API doc fixes:
- event method signatures are not documented
- 'LuaPlayerInfo' class? All the Lunar classes mentioned here: http://bitfighter.org/wiki/index.php/Scripting_018
-
what happen to the 'Ship' methods?
-
Lua event onShipSpawned isn't triggered when starting a level already connected to a server. the 'suppressEvents' part of EventManager::fireEvent(EventType eventType, Ship *ship) [EventManager.cpp:292] returns true in this case for some reason - Bobdaduck's Lua API crashes:
- create and delete a spybug each tick, then shoot the spybug. crash!
-
Client-side crash dying with commander's map open: http://pastie.org/7063833 -
If ship spawns in a zone, it should trigger the onShipEnteredZone event (bobdaduck reports it does not) - Improve screen for loading levels in editor -- perhaps general keyword search, or options for picking by author/title/file, or perhaps navigating a folder tree
-
Graphically indicate if turrets/FFPs are regenerative. bobdaduck suggests filling in the semicircle and triangle (turrent and FFP respectively) -
/addbots 6, crash! Due to this revision?: https://code.google.com/p/bitfighter/source/detail?r=d68cf36095763f5d9c928f7d03cb98ff2265fa41 -
FF/Turret snapping in the editor needs serious work. See http://pastie.org/pastes/7303300/text for a simple example (load in 'host-game' first to see what it should look like). Also rotation of things in the editor messes up snapping as well.- The test behaves as the code intends. It's more of a bug that you can put FFs there in the first place. Maybe we should add an INI option to disable engineered item resnapping when loading in the editor.
- What about arbitrarily moving/rotating/resizing?
- Make INI option 'GlobalLevelScript' take multiple scripts. Probably just use comma-delimited list like so: GlobalLevelScript=logger,adminutils,killraptor
- Remove access to dangerous Lua libraries (esp. os and io) See http://lua-users.org/wiki/SandBoxes for ideas.
-
If an editor plugin crashes (in Lua) the game will crash with a segfault. Should be resilient. - Move Lua loadout changes to Ship, from Robot
- Editor plugins need to use the new API (via addItem, etc.) instead of :addLevelLine()
- Bot balancing bug: 3 people join on two teams, balance to 6 players. then all humans go on the same team. Result: bots's don't rebalance and you're left with 4 on 2.
- Sneaking suspicion that if one client is spawnDelayed, the server is delayed too
- missing levelgen:findObjects() method to search for in-game objects of whatever type
- Font Textures lost when change to/from fullscreen
- Render order issue -- ships render under flags
- Objective arrows rendering on top of F2 display
- If LineItems are not 'global' (new feature of 019), they don't show up in the editor TAB view
- bitfighter.ini [QuickChatMessages] is empty with missing comments after a newer version of Bitfighter is run, when "[Settings] version=" is older. Comments only appears after "[QuickChatMessages]" is removed and bitfighter is run.
- Plugins section in INI mysteriously reproduces... get many "Plugin1=Ctrl+;|draw_arcs.lua|Make curves!" entries after playing for a while
- CPU spike when hosting a game, then quitting the game. Spike right after selecting 'quit game'
- Engineer needlessly uses energy here: http://sam6.25u.com/upload/text1304/130414_17-04-58.txt
Things to test after next lua rewrite
- Levelgen: Having addItem() in main() may randomly fail on repeated ctrl+R in editor or repeated level restart, showing message "***LEVELGEN ERROR*** Error encountered while attempting to run script's main() function: ***.levelgen:44: attempt to call missing or unknown method 'addItem' (a nil value). Aborting script."
-- for bug #33 from sam686
function main()
for x = 0, 20 do
for y = 0, 20 do
item2 = ResourceItem.new()
item2:setGeom(x * 100, y * 100)
levelgen:addItem(item2)
textitem = TextItem.new()
textitem:setText(x .. "," .. y)
textitem:setGeom(x * 100, y * 100, x * 100 + 100, y * 100)
levelgen:addItem(textitem)
end
end
end