Custom Query (5409 matches)
Results (1 - 1000 of 5409)
| Ticket | Resolution | Summary | Owner | Reporter |
|---|---|---|---|---|
| #1 | fixed | Player Properties | ||
| Description |
|
|||
| #2 | fixed | Gameplay - Unit AI | ||
| Description |
|
|||
| #3 | fixed | [PATCH] Implement Technologies | ||
| Description |
Most of the code for technologies is now done. The modifications that technologies make still need coding. See ResourceGatherer.js for an example. Tech pairs where only one out of two techs can be researched need implementing. An idea is to have a tech pair json file which defines the pair and have the building have that in it's template file for what is available for research. The tech pairs can then supersede each other. |
|||
| #4 | fixed | Make simulation speed configurable | ||
| Description |
|
|||
| #5 | fixed | Gameplay - Pathfinding | ||
| Description |
|
|||
| #6 | fixed | Random Map Scripting | ||
| Description |
|
|||
| #7 | fixed | Diplomacy | ||
| Description |
|
|||
| #8 | fixed | Simulation - Time Elapsed | ||
| Description |
|
|||
| #9 | fixed | [PATCH] Simulation - Game Record/Replay | ||
| Description |
Related tickets: #3168 Lets observer change perspective #3253 Save playernames to commands.txt #3255 Update directory structure to prevent overwrites #3258 Main menu entry to start replays #3261 Session panel (pause / fast forward / rewind) #3309 Fast forwarding replays doesn't work as expected #3387 Access summary screen from replays |
|||
| #10 | invalid | Simulation - Frame Dump | ||
| Description |
Debug features requested by QA dept:
|
|||
| #11 | wontfix | User Profiles | ||
| Description |
|
|||
| #12 | fixed | Orientation properties / entity alignment | ||
| Description |
|
|||
| #13 | fixed | [PATCH] Formations | ||
| Description |
|
|||
| #14 | fixed | Entity Death | ||
| Description |
|
|||
| #15 | fixed | Resources | ||
| Description |
|
|||
| #17 | fixed | Bug - Delay Before Performing Entity Action | ||
| Description |
|
|||
| #18 | fixed | [PATCH] Realistic ranged attack | ||
| Description |
|
|||
| #19 | fixed | Complete Production Interface | ||
| Description |
|
|||
| #20 | fixed | Entity Event - Train - Rally Point | ||
| Description |
|
|||
| #21 | fixed | [PATCH] Building construction | ||
| Description | ||||
| #22 | invalid | Entity Event - Construction - Sites | ||
| Description |
|
|||
| #23 | fixed | [PATCH] Buy/Sell Resources | ||
| Description |
|
|||
| #24 | fixed | Bug - Entity Order Lockup | ||
| Description |
|
|||
| #25 | duplicate | Entity Event - Escort/Guard | ||
| Description |
|
|||
| #26 | fixed | Interactive garrisoned unit prop points | ||
| Description |
|
|||
| #27 | fixed | Entity Events - Garrison/Inventory | ||
| Description |
|
|||
| #30 | fixed | [PATCH] Trade | ||
| Description |
|
|||
| #31 | fixed | Entity Event - Heal | ||
| Description |
Priests and temples heal injured organic units in a radius around them. |
|||
| #32 | fixed | Entity Event - Repair | ||
| Description |
|
|||
| #33 | duplicate | Entity Event - Lock & Unlock | ||
| Description |
|
|||
| #34 | fixed | Entity Event - Graze | ||
| Description |
|
|||
| #35 | fixed | Entity Event - Town Bell | ||
| Description |
|
|||
| #36 | invalid | Entity Event - Transform | ||
| Description |
|
|||
| #37 | fixed | Entity Event - Charge | ||
| Description |
|
|||
| #38 | wontfix | PMDExp | ||
| Description |
|
|||
| #39 | wontfix | Environmental Events | ||
| Description |
|
|||
| #41 | fixed | Provinces/Territories | ||
| Description |
|
|||
| #42 | fixed | Terrain - Elevation | ||
| Description |
|
|||
| #43 | invalid | Terrain - Gameplay Properties | ||
| Description |
|
|||
| #47 | invalid | Water - Basic | ||
| Description |
|
|||
| #49 | duplicate | Audio | ||
| Description |
|
|||
| #50 | fixed | Virtual File System | ||
| Description |
|
|||
| #51 | duplicate | Computer Player AI | ||
| Description |
|
|||
| #52 | fixed | [PATCH] Trigger system | ||
| Description |
See this topic for forum discussion. Here is the recent topic: http://www.wildfiregames.com/forum/index.php?showtopic=18211 |
|||
| #53 | invalid | Triggers - Advanced | ||
| Description | ||||
| #54 | duplicate | Tools | ||
| Description |
|
|||
| #55 | fixed | Camera - Start Position | ||
| Description |
|
|||
| #56 | fixed | Camera - Cinematics | ||
| Description |
|
|||
| #58 | duplicate | Actors - Hidden | ||
| Description |
|
|||
| #59 | fixed | Actors - Vertex Animation | ||
| Description |
|
|||
| #60 | fixed | Actors - Foundation Texture | ||
| Description |
|
|||
| #61 | fixed | Actors - Particle Props | ||
| Description |
|
|||
| #62 | fixed | Bug - Actor Sychronisation | ||
| Description |
|
|||
| #63 | invalid | GUI Engine | ||
| Description |
|
|||
| #64 | wontfix | Document Latest Session GUI | ||
| Description |
|
|||
| #65 | fixed | Document GUI Engine Needs | ||
| Description |
|
|||
| #67 | fixed | [PATCH] Internationalization | ||
| Description |
|
|||
| #68 | invalid | Network - Basic | ||
| Description |
|
|||
| #69 | fixed | Enhance Multiplayer Experience | ||
| Description |
|
|||
| #70 | fixed | Graphics - Shaders | ||
| Description |
|
|||
| #71 | worksforme | Graphics - Light & Shadow | ||
| Description |
|
|||
| #73 | fixed | Terrain Decals | ||
| Description |
|
|||
| #74 | fixed | Graphics - Particle Engine | ||
| Description |
|
|||
| #75 | invalid | Graphics - Misc | ||
| Description |
|
|||
| #76 | fixed | Entity - Queuing Orders | ||
| Description |
|
|||
| #77 | wontfix | Attrition Damage (territories) | ||
| Description |
|
|||
| #79 | fixed | VFS: support for creating dirs | ||
| Description |
VFS requires a bit of work so it can create real directories when files are written to not-yet-existing dirs. This is needed for the XMB move, because they no longer reside in the game's data dirs that are sure to exist anyway. |
|||
| #80 | fixed | VFS: move XMB files to separate dir | ||
| Description |
.. specifically to $install/cache/XMB/mods/official . Rationale: unclutters the XML dirs, allows easily deleting XMB, allows file writes to go into some writable dir (important when not running as admin). Discussion: see http://www.wildfiregames.com/forum/index.php?showtopic=9939&pid=170413&st=0& Requires #78. |
|||
| #81 | fixed | Move all writable files to user's home directory | ||
| Description |
To support Least-permission User Accounts (i.e. everything except Administrator) on Windows, no files in the game directory may be written to. 1) All output files (e.g. screenshots, savegames) should go into "My Documents\My Games\0ad" (suggestion). 2) Non-user-specific stuff that also doesn't need to be backed up (e.g. archive and XMB) should go in "Documents and Settings\All Users\Application Data\0ad". 3) this will be implemented in a portable fashion by providing sysdep routines to return "home" and "local appdata" directories. |
|||
| #82 | fixed | Lighting editor | ||
| Description |
|
|||
| #86 | fixed | Water editor | ||
| Description |
|
|||
| #88 | fixed | Sky editor | ||
| Description |
|
|||
| #90 | fixed | Playtesting | ||
| Description |
|
|||
| #91 | fixed | Player editor | ||
| Description |
|
|||
| #95 | fixed | Cinematics editor | ||
| Description |
UI for editing (and previewing) cinematics tracks. |
|||
| #96 | fixed | [PATCH][Atlas] Copy-and-paste of entities | ||
| Description |
Allow copy-and-paste of various things, like the selected objects. Probably implement by converting the data to XML and saving as text into the clipboard, so that people can easily edit it in a text editor or save it to disk and then copy it back into Atlas. |
|||
| #98 | invalid | Cavalry Animations | ||
| Description |
At least one animation for the cavalry attack:
Also need a death animation for the horse and rider.
|
|||
| #99 | fixed | Objects jump when first moved | ||
| Description |
Create an object in Atlas. Zoom in and move the camera so the object is near a corner of the screen. With the object-move tool, click the unit and try moving by a single pixel. It jumps towards the edge of the screen by dozens of pixels. It seems the cause is that CCamera::GetScreenCoordinates and CCamera::GetWorldCoordinates are not exact inverses - for points near the edge of the screen, the difference is quite significant. (GetWorldCoordinates requires integer pixel values, but I don't think that'd cause errors of more than one screen-space pixel (which would be acceptable) - it's probably some difference in the algorithms used to convert between spaces.) |
|||
| #100 | fixed | Clean up ogghack | ||
| Description |
We are currently using really hacky code in sound/ogghack.cpp to decode OGG for sending it to OpenAL. Background: all of our sounds are in .ogg format. At one point it was promised by Creative that their Windows implementation would support an extension that allows passing in OGG data directly to OpenAL. This would be very convenient for us and also quite efficient. Unfortunately Creative dropped the ball - they never got it working and now officially say "do it yourself". Since ogghack.cpp was implemented during the time when they promised the extension would be available soon, it is a very basic implementation, wasteful of memory, and doesn't check for errors. This should be cleaned up and made permanent. No serious changes should be required; we can still use the OGG Vorbis library as currently. |
|||
| #101 | wontfix | vfs_optimizer: don't add mods to main archive | ||
| Description |
vfs_optimizer currently enumerates the entire VFS contents and adds everything marked as "archivable" (1) to the archive. However, mod files must not be included, for obvious reasons: the mod would no longer be optional and could thereafter not be disabled. One solution would be to generate one archive per archivable mount point. This would be a bit inefficient, since there are several mount points that could be added to the main archive (namely: cached XMB, mods/official) and splitting them up would increase seeks. Solution: specify a VFS_MOUNT_NOT_MAIN_DATA (bad name, but you get the point) flag when mounting mods. All mount points without it would get lumped into one archive, and the other archivable ones (mods) are archived separately. Implementation: for enumerating files, still use vfs_dir_enum. For each returned entry, get the TFile's Mount pointer. First, check if it's archivable. Then, put all files from a given mount point into a bucket (except if it doesn't have the flag; it goes into the "main data" bucket). For each bucket, create a separate archive. (1) this would exclude e.g. screenshots |
|||
| #102 | wontfix | Misc VFS cleanup | ||
| Description |
|
|||
| #103 | fixed | GL_ARB_texture_env_crossbar requirement is unnecessary | ||
| Description |
GameSetup.cpp checks for the presence of the GL_ARB_texture_env_crossbar extension, and complains if it's not there, in a way which implies that it's required and the game may break in unexpected ways. That extension appears to be used only in FastPlayerColorRender, which is optional - it falls back to SlowPlayerColorRender if the required features are missing. Currently it's only testing for >= 3 texture units. It should probably be testing for GL_ARB_texture_env_crossbar too, and quietly switching to the slow method if it's unavailable. |
|||
| #104 | fixed | GUI - Modal Dialogs (Namespaces) | ||
| Description |
|
|||
| #105 | fixed | GUI - Hotloading | ||
| Description |
|
|||
| #106 | fixed | GUI - Separate GUI and Simulation | ||
| Description |
|
|||
| #111 | wontfix | GUI - Custom Control Properties | ||
| Description |
|
|||
| #113 | fixed | GUI - Grid Control | ||
| Description |
|
|||
| #115 | wontfix | GUI - Multiple Screen Layouts | ||
| Description |
[Either leave this until last with lowest priority, or scrap it entirely. Feature creep.]
|
|||
| #117 | fixed | add CxxTest | ||
| Description |
Background: using an existing Unit/self-test framework is deemed helpful (see 2006-05-27 meeting) Chiefly based on evaluation, we choose CxxTest as unit testing framework. Basic usage:
TODO:
|
|||
| #119 | fixed | On-screen error display | ||
| Description |
Motivation: error log works but isn't usually looked at (only when a problem has otherwise made itself apparent). Solution: provide an on-screen display of errors to make sure they are seen. Problems:
Detailed Implementation Points:
If deque is empty, no longer clutter up the screen; disappear from view.
Thanks to Philip for discussion+planning. |
|||
| #120 | fixed | Death bug | ||
| Description |
After a unit finishes its dying animation, it "jumps" over to another spot when changing to the corpse actor. |
|||
| #121 | wontfix | Dynamically link DevIL | ||
| Description |
Atlas uses a statically linked version of DevIL, which is LGPL, so we need to dynamically link instead before distributing Atlas. |
|||
| #122 | fixed | Lowlevel CppDoc | ||
| Description |
Add CppDoc comments to:
|
|||
| #123 | fixed | Bug: menu->ingame music crossfade doesn't work | ||
| Description |
. |
|||
| #124 | fixed | Minor SwEng improvements | ||
| Description |
Some possibilities for minor improvement noticed while cruising by:
|
|||
| #125 | fixed | Error on Win64 while getting sound driver version | ||
| Description |
Desmond reports:
Function call failed at dll_ver.cpp:45 (get_ver): return value was -1 (Unknown error (-1, 0xFFFFFFFF))
Call stack:
RtlFreeUnicodeString (:0)
win_get_snd_info (wsnd.cpp:178)
dlls = (uninitialized/invalid set<string > >)
suppress__ = 0x55 ('U')
WriteSystemInfo (util.cpp:48)
LINE_44 =
t0 = 2.82072e-317
description = 0x00000000
N_path = "PCI\VEN_1002&DEV_4A49&SUBSYS_0D42174B&REV_00"
hostname = "dvag"
un =
sysname = [9] { 244, 218, 246, 119 ('w'), 212, 246, 45 ('-'), 0, 0 }
nodename = [16] { 1, 0, 0, 254, 58 (':'), 83 ('S'), 0, 0, 0, 0, 0, 0, 5, 0, 0, 0 }
release = [9] { 0, 0, 0, 0, 240, 253, 126 ('~'), 18, 59 (';') }
version = "S"
machine = [9] { 0, 0, 0, 0, 0, 0, 97 ('a'), 116 ('t'), 105 ('i') }
ips = 0x40297020 -> (unavailable - internal error)
|
|||
| #126 | fixed | Trac SVN post-commit hook | ||
| Description |
It needs to work. |
|||
| #127 | fixed | Make XMB Maintain Case | ||
| Description |
Currently XMB converts all element and attribute names to lower-case. It should keep them as they were in the file. We can then modify the entity or GUI code to change the JavaScript versions to camelCase. |
|||
| #128 | fixed | Minor fixes/improvements related to GUI | ||
| Description |
If a return-value-based approach is still desired (instead of tossing exceptions), we could simply assign numbers to the error definitions, rename them a bit, and be done. Otherwise, we can move that over to Philip's error mechanism, i.e. throwing exceptions. I can help out and/or do all the work - just let me know which is preferable. (old TODO entry: move GUIbase.h errors (DECLARE_ERROR) into e.g. Philip's error mechanism, remove DECLARE_ERROR, remove ps/errors.h.) |
|||
| #129 | fixed | Opportunities for optimization (startup) | ||
| Description |
TODO (for some efficiency): use the pre-calculated choices for this object,
which has already worked out what to do for props, instead of passing the
selections into BuildVariation and having it recalculate the props' choices.
g_ConfigDB.Reload(CFG_SYSTEM); 216ms
LoadGlobals(); 64ms
flipping font texture files vertically. fix: convert them to e.g. DDS (possibly compressed, if that looks ok?!)
same thing for art/textures/particles/sprite
cursors also require runtime conversion. ironically enough, being DDS means they have to be converted back to TGA's BGR ordering (required by Windows for cursors)
[more will be added as they are found] |
|||
| #130 | fixed | Bugfixes: string_s selftest and isnan() | ||
| Description |
|
|||
| #132 | fixed | Territories - Render Boundaries | ||
| Description |
Territory boundaries should be rendered in the game world, flowing along the terrain. Ideally, each territory's boundary should be coloured with its owner's player colour so that at the edge between two territories owned by different players, you see two lines of different colours side by side. |
|||
| #133 | fixed | Territories - Build Rules | ||
| Description |
Buildings should only be buildable on allied territories. In addition, buildings should have a per-territory cap (e.g. 2 barrackses per territory). |
|||
| #134 | fixed | Territories - Gather Rules | ||
| Description |
Gathering should only be allowed in allied territories or around mills built in enemy territories. |
|||
| #135 | fixed | Territories - Shroud of Darkness | ||
| Description |
Controlling a territory should remove the Shroud of Darkness (but not Fog of War) within it for its owner. |
|||
| #136 | needsinfo | [NEEDS INFO] Dualview problems | ||
| Description |
When running with two monitors in NVIDIA's Dualview mode (which makes Windows aware there are multiple monitors), with the secondary monitor attached to the left of the primary: If the game is running in a window, and the window is moved to the secondary monitor, the menu screen does not respond to mouse events (movements/clicks). If it is placed between both (so half the window is on each monitor), it responds inconsistently (i.e. sometimes it works correctly, and sometimes it ignores the mouse entirely, depending on where the window is positioned and on the horizontal position of the mouse). Inside the game, with the window at least partly on the secondary monitor, it complains: Assertion failed: "x <= USHRT_MAX && y <= USHRT_MAX"
Location: wsdl.cpp:766 (queue_button_event)
errno = 0 (?)
OS error = The system cannot find the file specified.
Call stack:
queue_button_event (wsdl.cpp:761)
button = 0x000D04F0
state = 0xFFFFFE75
x = 0x00000245
y = 0xFFFFFE98
ev =
type = 0x05
key =
type = 0x05
keysym = { type = 0x01, sym = -395, unicode = 0x0245 }
motion = { type = 0x05, x = 0x0000, y = 0x0001 }
button =
type = 0x05
button = 0x00
state = 0x00
x = 0x0001
y = 0x0000
active = { type = 0x05, gain = 0x00, state = 0x00 }
user = { type = 0x05, code = 1, data1 = 0xFFFFFE75 }
More TODO: SDL_SetGamma fails once on multimonitor setup, not thereafter - more info needed. capture mouse, prevent it from moving outside of the main monitor on which the game is running |
|||
| #137 | invalid | Mac OS X Compat | ||
| Description |
|
|||
| #138 | duplicate | Audio Task List | ||
| Description |
New:
|
|||
| #139 | fixed | Update wxWidgets | ||
| Description |
wxWidgets 2.7.0 released. It doesn't seem to have any major changes (except for an added 'advanced user interface' library with no documentation so I'm not quite sure what it does), so it ought to be reasonably easy to upgrade to, and it should provide continued bug fixes and things. |
|||
| #140 | wontfix | Large Scale C++ design | ||
| Description |
Cleanups inspired by book of same name (am currently reading it). I think cleaning up our code to reduce inter-module dependencies is quite important. It promises to reduce compile time, simplify releases of parts ripped out of our codebase (e.g. a limited actor viewer), and overall make the code easier to modify (without having to wonder: "hm, what all does this break?").
First idea: sdl is dragged into 6 of 7 of our static library components - ugh!
Use pImpl to hide implementation details of simulation classes. Specifically: boost dependency, which is dragged into network as well.
|
|||
| #141 | fixed | Shadows are delayed by one frame | ||
| Description |
Shadows seem to be rendered on the screen one frame later than they should be: click on the minimap to jump somewhere (preferably while having a low framerate), and the screen is momentarily bright before all the shadows pop back in. |
|||
| #142 | duplicate | Rendering incorrectly culls for render-to-texture based effects | ||
| Description |
Models are culled strictly by the main camera that the player controls. This means that an incorrect set of models is rendered into the shadow map and for water reflections. Instead, models should be culled separately for each camera (whether real or virtual) that is used during a frame. |
|||
| #143 | fixed | [PATCH] Shadowing: Selectively disable/enable for actors through properties | ||
| Description |
Basically the default for actors would be that they would cast a shadow and they would recieve a shadow. Only need flags if they don't in either case. Something like: <not_recieve_shadows /> <not_cast_shadow /> |
|||
| #144 | fixed | Visualize player controlled units that are hidden behind other objects | ||
| Description |
We need a way to render player controled/obstructed (by trees, walls, terrain) units (player color/filled sillohettes), and some nifty effects to render enemy units hiding in 'trees' (some sort of transparency). |
|||
| #145 | fixed | Auto detect gfx card "speed" | ||
| Description |
Could also use this to autodetect graphics settings based on what the user's system is capable of. |
|||
| #146 | fixed | Assertion in wsdl screen_to_client | ||
| Description |
During startup of the game, I got the following error (unfortunately, I wasn't able to reproduce it). This is in Windows XP, running the game in a 800x600 window, the screen resolution is 1280x1024. The window appeared in to top-left corner of the screen. Here's the error message from the error dialog: Assertion failed: "pt.x >= 0 && pt.y >= 0"
Location: wsdl.cpp:802 (screen_to_client)
errno = 42 (?)
OS error = Der Vorgang wurde erfolgreich beendet.
Call stack:
screen_to_client (wsdl.cpp:802)
screen_x = (unavailable - stored in register 0x0)
screen_y = (unavailable - stored in register 0x0)
x = (unavailable - stored in register 0x0)
y = (unavailable - stored in register 0x0)
pt = { x = 5791740, y = 179 }
suppress__ = 0x00
suppress__ = 0x00
OnMouseButton (wsdl.cpp:903)
__formal = 0x0048C874 (..)
uMsg = (unavailable - stored in register 0x0)
screen_x = 182
screen_y = 16
__formal = 0x0048C874
outstanding_press_events = 1
x = 0x7FFDF000
y = 0x00000001
wndproc (wsdl.cpp:1035)
hWnd = 0x00050600 (..)
uMsg = 0x00000201
wParam = 0x00000001
lParam = 1048758
ps =
hdc = 0x0012FCC0 (..)
fErase = 1
rcPaint =
left = 0
top = 0
right = 16
bottom = 0
fRestore = 0
fIncUpdate = 1
rgbReserved = [32]
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x44 ('D')
0xFC
0x12
0x00
0x48 ('H')
0xFC
0x12
0x00 ...
GetDC (:0)
GetDC (:0)
IsWindowUnicode (:0)
CallWindowProcW (:0)
wglSwapBuffers (:0)
GetDC (:0)
GetDC (:0)
GetWindowLongW (:0)
DispatchMessageW (:0)
SDL_PumpEvents (wsdl.cpp:1051)
msg =
hwnd = 0x00000001
message = 0x00050600
wParam = 0x00000201
lParam = 1
time = 0x001000B6
pt = { x = 12142140, y = 185 }
SDL_PollEvent (wsdl.cpp:1061)
ev = 0x0012FEFC ->
type = [8] { 0x00, 0x00, 0x00, 0x00, 0x10, 0xFF, 0x12, 0x00 }
key =
type = [8] { 0x00, 0x00, 0x00, 0x00, 0x10, 0xFF, 0x12, 0x00 }
keysym = { type = [8] { 0x10, 0xFF, 0x12, 0x00, 0x01, 0x00, 0x00, 0x00 }, sym = 1, unicode = 0xF1F9 }
motion = { type = [8] { 0x00, 0x00, 0x00, 0x00, 0x10, 0xFF, 0x12, 0x00 }, x = 0x0000, y = 0xFF10 }
button =
type = [8] { 0x00, 0x00, 0x00, 0x00, 0x10, 0xFF, 0x12, 0x00 }
button = [8] { 0x00, 0x00, 0x00, 0x10, 0xFF, 0x12, 0x00, 0x01 }
state = [8] { 0x00, 0x00, 0x10, 0xFF, 0x12, 0x00, 0x01, 0x00 }
x = 0xFF10
y = 0x0012
active = { type = [8] { 0x00, 0x00, 0x00, 0x00, 0x10, 0xFF, 0x12, 0x00 }, gain = [8] { 0x00, 0x00, 0x00, 0x10, 0xFF, 0x12, 0x00, 0x01 }, state = [8] { 0x00, 0x00, 0x10, 0xFF, 0x12, 0x00, 0x01, 0x00 } }
user = { type = [8] { 0x00, 0x00, 0x00, 0x00, 0x10, 0xFF, 0x12, 0x00 }, code = 1244944, data1 = 0x00000001 }
PumpEvents (main.cpp:91)
ev =
ev =
type = 0xFC
key =
type = 0xFC
keysym = { type = 0x00, sym = 1244944, unicode = 0x0001 }
motion = { type = 0xFC, x = 0x0012, y = 0x0000 }
button =
type = 0xFC
button = 0xFE
state = 0x12
x = 0x0000
y = 0x0000
active = { type = 0xFC, gain = 0xFE, state = 0x12 }
user = { type = 0xFC, code = 0, data1 = 0x0012FF10 }
Frame (main.cpp:240)
need_update = true
TimeSinceLastFrame = 3.62822e-038
need_render = false
suppress__ = 0x00
__profile = (CProfileSample)
__profile = (CProfileSample)
__profile = (CProfileSample)
__profile = (CProfileSample)
__profile = (CProfileSample)
__profile = (CProfileSample)
__profile = (CProfileSample)
__profile = (CProfileSample)
__profile = (CProfileSample)
__profile = (CProfileSample)
__profile = (CProfileSample)
__profile = (CProfileSample)
__profile = (CProfileSample)
main (main.cpp:382)
argc = 1
argv = 0x00384EA0 -> 0x00384EA8 -> "c:\Wildfiregames\0ad\binaries\system\pyrogenesis.exe"
__tmainCRTStartup (crtexe.c:586)
nested = 1245020
SEH_wrapped_entry (win.cpp:338)
ret = 1245076
RegisterWaitForInputIdle (:0)
|
|||
| #147 | fixed | Animation/propping bugs | ||
| Description |
peltast: when running, spear is on wrong prop point (holding it in the wrong hand?!) Duplicate: fire up cantabrian generated and order the starting unit(s) to run. |
|||
| #148 | fixed | interact bugs | ||
| Description |
bandbox selection is buggy. sometimes selection works, sometimes none are selected. woman has a build menu, but can't build anything. should hide the build menu on click on minimap: it apparently captures the mouse, thus one can move the mouse around and the view follows it. clicking again undoes this and unhooks the mouse. Desirable behavior would be: one click on the minimap simply moves the view there. select the (cantabrian generated) 3 starting units, formation "wedge" => crash |
|||
| #149 | fixed | Building bugs | ||
| Description |
when Lclick on finished farm, temple, mill, crashes. Lclick on dock,barracks,market works fine. on maps that have no territories defined, one cannot build anywhere. Fix: retrofit territories into all maps, or disable the territory check when building on maps that have no Ts defined?
|
|||
| #150 | fixed | Exhausted trees don't disappear | ||
| Description |
when finished gathering from a tree, the tree does not disappear. It is still rendered, but at least is no longer available for selection. Same goes for rocks. |
|||
| #151 | wontfix | rmgen: harvestability of trees | ||
| Description |
Cantabrian Generated map: can only harvest the 3 trees on the plateau. Other trees (even if in the current territory where I can build) cannot be harvested. |
|||
| #152 | fixed | Crash on exit when researching | ||
| Description |
This bug occured in SVN r4384
To reproduce:
|
|||
| #153 | fixed | Floating actors | ||
| Description |
From meeting - it should be possible to specify that certain actors should float on top of water instead of following the terrain.
|
|||
| #154 | fixed | COLLADA | ||
| Description |
As here:
|
|||
| #155 | fixed | GCC PCH | ||
| Description |
Premake isn't setting up PCH properly for GCC. (lib/config.h was defining HAVE_PCH, but the project isn't being compiled with PCH so that doesn't work.) From the docs, it looks like we just need to make it compile precompiled.h into precompiled.gch before doing the rest of the source files (whatever.cpp into whatever.o). That'd probably require modifying Premake's source so it handles the pchsource/pchheader settings differently to MSVC - it should ignore the pchsource and just add the pchheader as the first compiled file. |
|||
| #156 | fixed | Premake on Linux creates bogus directories | ||
| Description |
After running update-workspaces.sh (in particularly the line that calls premake with --outpath), it creates a number of mode 000 directories inside the premake directory: $ ls -al ../premake/ total 857 drwxr-xr-x 11 philip users 424 Sep 30 18:55 . drwxr-xr-x 11 philip users 296 Sep 30 13:28 .. drwxr-xr-x 7 philip users 328 Sep 30 14:52 .svn d--------- 2 philip users 48 Sep 30 18:55 0ad d--------- 2 philip users 48 Sep 30 18:55 build -rw-r--r-- 1 philip users 6165 Sep 30 13:27 extern_libs.lua -rwxr-xr-x 1 philip users 495 Sep 30 13:27 functions.lua d--------- 2 philip users 48 Sep 30 18:55 gcc d--------- 2 philip users 48 Sep 30 18:55 home d--------- 2 philip users 48 Sep 30 18:55 philip -rwxr-xr-x 1 philip users 563342 Sep 30 13:39 premake -rwxr-xr-x 1 philip users 278528 Sep 30 13:26 premake.exe -rwxr-xr-x 1 philip users 19926 Sep 30 13:26 premake.lua drwxr-xr-x 5 philip users 376 Sep 30 13:39 src d--------- 2 philip users 48 Sep 30 18:55 trunk d--------- 2 philip users 48 Sep 30 18:55 workspaces (I'm not sure if this is just a Premake bug - if it is, we should see if it's been fixed in recent versions, and if not then fix it and submit a patch.) |
|||
| #157 | fixed | Can't initialise VFS more than once | ||
| Description |
test_archive_builder.h has setUp/tearDown to initialise/shutdown VFS and related things. But it doesn't shut down cleanly - if you add another test case in that test suite, it dies with various errors when running setUp for the second time. That also affects any other test suites which are wanting to initialise the VFS so it's available to the tested code. |
|||
| #158 | fixed | CLogger unit test failure on Linux | ||
| Description |
The tests fail, probably because of differences between vsnprintf2 (the implementation used on Windows, based on MSVC's _vsnprintf) and vsnprintf (as implemented in glibc) in handling strings that are larger than the buffer. ../../../source/ps/tests/../../../source/ps/tests/test_CLogger.h:46: Error: Expected (lines[1] == msg1), found ("******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************" != "*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************")
../../../source/ps/tests/../../../source/ps/tests/test_CLogger.h:47: Error: Expected (lines[2] == clipped), found ("******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************" != "****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************...")
../../../source/ps/tests/../../../source/ps/tests/test_CLogger.h:48: Error: Expected (lines[3] == clipped), found ("******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************" != "****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************...")
|
|||
| #159 | fixed | TestPathUtil tests fail on Linux | ||
| Description |
In TestPathUtil::test_append:
../../../source/lib/tests/../../../source/lib/tests/test_path_util.h:12: Error: Expected (std ::string(dst) == std::string(correct_result)), found ("abc\\/def" != "abc\\def")
.
In TestPathUtil::test_name_only:
../../../source/lib/tests/../../../source/lib/tests/test_path_util.h:28: Error: Expected (std ::string(result) == std::string(correct_result)), found ("abc\\def\\ghi" != "ghi")
../../../source/lib/tests/../../../source/lib/tests/test_path_util.h:28: Error: Expected (std ::string(result) == std::string(correct_result)), found ("def\\ghi" != "ghi")
In TestPathUtil::test_last_component:
../../../source/lib/tests/../../../source/lib/tests/test_path_util.h:34: Error: Expected (std ::string(result) == std::string(correct_result)), found ("abc\\def\\ghi" != "ghi")
../../../source/lib/tests/../../../source/lib/tests/test_path_util.h:34: Error: Expected (std ::string(result) == std::string(correct_result)), found ("def\\ghi" != "ghi")
../../../source/lib/tests/../../../source/lib/tests/test_path_util.h:34: Error: Expected (std ::string(result) == std::string(correct_result)), found ("abc\\def\\ghi\\" != "ghi\\")
../../../source/lib/tests/../../../source/lib/tests/test_path_util.h:34: Error: Expected (std ::string(result) == std::string(correct_result)), found ("def\\ghi/" != "ghi/")
In TestPathUtil::test_strip_fn:
../../../source/lib/tests/../../../source/lib/tests/test_path_util.h:42: Error: Expected (std ::string(path) == std::string(correct_result)), found ("" != "abc\\def\\")
../../../source/lib/tests/../../../source/lib/tests/test_path_util.h:42: Error: Expected (std ::string(path) == std::string(correct_result)), found ("abc/" != "abc/def\\")
../../../source/lib/tests/../../../source/lib/tests/test_path_util.h:42: Error: Expected (std ::string(path) == std::string(correct_result)), found ("" != "abc\\def\\ghi\\")
.
In TestPathUtil::test_path_package:
../../../source/lib/tests/../../../source/lib/tests/test_path_util.h:57: Error: Expected (std ::string(pp.path) == std::string(correct_result)), found ("a\\b\\/c" != "a\\b\\c")
|
|||
| #160 | fixed | lockfree tests fail on Linux | ||
| Description |
lockfree.cpp(179): Assertion failed: "tls_key != 0" Assertion failed: "tls_key != 0" Location: lockfree.cpp:179 (tls_alloc) errno = 0 (?) OS error = ? Call stack: (0x084e4999) allocators.cpp:621 bucket_create(Bucket*, unsigned int) (0x084e4be0) allocators.cpp:166 validate_da (0x084e5239) allocators.cpp:581 pool_free_all(Pool*) (0x082d7f14) stl_iterator_base_funcs.h:118 std::iterator_traits<__gnu_cxx::__normal_iterator< unsigned short*, std::basic_string<unsigned short, std::char_traits<unsigned short>, std::all ocator<unsigned short> > > >::difference_type std::distance<__gnu_cxx::__normal_iterator<unsi gned short*, std::basic_string<unsigned short, std::char_traits<unsigned short>, std::allocat or<unsigned short> > > >(__gnu_cxx::__normal_iterator<unsigned short*, std::basic_string<unsi gned short, std::char_traits<unsigned short>, std::allocator<unsigned short> > >, __gnu_cxx:: __normal_iterator<unsigned short*, std::basic_string<unsigned short, std::char_traits<unsigne d short>, std::allocator<unsigned short> > >) (0x082d81c4) stl_construct.h:121 void std::__destroy_aux<__gnu_cxx::__normal_iterator<JSFunct ionSpec*, std::vector<JSFunctionSpec, std::allocator<JSFunctionSpec> > > >(__gnu_cxx::__norma l_iterator<JSFunctionSpec*, std::vector<JSFunctionSpec, std::allocator<JSFunctionSpec> > >, _ _gnu_cxx::__normal_iterator<JSFunctionSpec*, std::vector<JSFunctionSpec, std::allocator<JSFun ctionSpec> > >, __false_type) (0x082b3f78) stl_algobase.h:387 HEntity* std::copy<__gnu_cxx::__normal_iterator<HEntity const *, std::vector<HEntity, std::allocator<HEntity> > >, HEntity*>(__gnu_cxx::__normal_iterator<H Entity const*, std::vector<HEntity, std::allocator<HEntity> > >, __gnu_cxx::__normal_iterator <HEntity const*, std::vector<HEntity, std::allocator<HEntity> > >, HEntity*) (0x082b826a) stl_tree.h:817 std::_Rb_tree<CStrW, std::pair<CStrW const, int>, std::_Select1st <std::pair<CStrW const, int> >, CStrW_hash_compare, std::allocator<std::pair<CStrW const, int > > >::_M_insert(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<CStrW const, i nt> const&) (0x082b8342) stl_tree.h:917 std::_Rb_tree<CStrW, std::pair<CStrW const, int>, std::_Select1st <std::pair<CStrW const, int> >, CStrW_hash_compare, std::allocator<std::pair<CStrW const, int > > >::insert_unique(std::pair<CStrW const, int> const&) (0x082b8433) stl_tree.h:927 std::_Rb_tree<CStrW, std::pair<CStrW const, int>, std::_Select1st <std::pair<CStrW const, int> >, CStrW_hash_compare, std::allocator<std::pair<CStrW const, int > > >::insert_unique(std::pair<CStrW const, int> const&) (0x082b84e9) stl_tree.h:932 std::_Rb_tree<CStrW, std::pair<CStrW const, int>, std::_Select1st <std::pair<CStrW const, int> >, CStrW_hash_compare, std::allocator<std::pair<CStrW const, int > > >::insert_unique(std::pair<CStrW const, int> const&) (0x082b8511) stl_tree.h:942 std::_Rb_tree<CStrW, std::pair<CStrW const, int>, std::_Select1st <std::pair<CStrW const, int> >, CStrW_hash_compare, std::allocator<std::pair<CStrW const, int > > >::insert_unique(std::_Rb_tree_iterator<std::pair<CStrW const, int> >, std::pair<CStrW co nst, int> const&) (0x082b62be) stl_pair.h:69 pair (0xb760d878) /lib/libc.so.6:0 __libc_start_main (0x082b36a1) stl_vector.h:776 HEntity* std::vector<HEntity, std::allocator<HEntity> >::_M_all ocate_and_copy<__gnu_cxx::__normal_iterator<HEntity const*, std::vector<HEntity, std::allocat or<HEntity> > > >(unsigned int, __gnu_cxx::__normal_iterator<HEntity const*, std::vector<HEnt ity, std::allocator<HEntity> > >, __gnu_cxx::__normal_iterator<HEntity const*, std::vector<HE ntity, std::allocator<HEntity> > >) |
|||
| #162 | wontfix | ffmpeg licensing issues | ||
| Description |
Currently Atlas uses ffmpeg to encode videos. That can presumably be used to encode in lots of formats which have various patent licensing issues in various countries. Also it looks like some of libswscale says it's GPL (at least the .c files, not the .h), so we can't use it when linking (dynamically) to the ffmpeg libraries. So think about it before distributing the game (specifically AtlasUI.dll), and maybe remove libswscale/ffmpeg entirely. |
|||
| #163 | fixed | error when exiting with 'X' button | ||
| Description |
http://www.wildfiregames.com/forum/index.php?showtopic=10656 |
|||
| #164 | fixed | Debug messages show incorrect "OS error" | ||
| Description |
Every time the game brings up its Program Error window which looks somewhat like ... Function call failed: return value was -100101 (Case 1)
Location: allocators.cpp:174 (validate_da)
errno = 0 (?)
OS error = The system cannot find the file specified.
Call stack:
validate_da (allocators.cpp:164)
da = 0x00CEE6A0 ->
base = 0x00000000
max_size_pa = 0x00000000
cur_size = 0x00000000
prot = 0
pos = 0x00000000
pos = 0xCCCCCCCC
prot = 0xCCCCCCCC
base = 0xCCCCCCCC
cur_size = 0xCCCCCCCC
max_size_pa = 0xCCCCCCCC
... I can't help but read the one piece of understandable meaningful English on it, which is nearly always "OS error = The system cannot find the file specified.", which is nearly always completely irrelevant (because it was probably set seconds ago by some unrelated operation). Then I unfailingly get confused for a while before remembering that that message is completey irrelevant, and have to start again at trying to work out what the error is complaining about. Since it's worse than useless in most cases (because it distracts me from what the real problem is), it would be nice to remove it. If there are cases where it's actually useful, it could at least report the error number instead of the string so it doesn't stand out (and change the "OS error" text because that's distractingly English too), and we can always look up the meaning of that number in the rare cases when it's relevant to a bug report. So, it could look more like: Function call failed: return value was -100101 (Case 1)
Location: allocators.cpp:174 (validate_da)
(errno=0, oserr=2)
Call stack:
validate_da (allocators.cpp:164)
da = 0x00CEE6A0 ->
base = 0x00000000
max_size_pa = 0x00000000
cur_size = 0x00000000
prot = 0
pos = 0x00000000
pos = 0xCCCCCCCC
prot = 0xCCCCCCCC
base = 0xCCCCCCCC
cur_size = 0xCCCCCCCC
max_size_pa = 0xCCCCCCCC
and then it's still not very helpful but at least it's not misleading, and I can see I should just look in the code or the debugger to work out what's wrong. |
|||
| #165 | fixed | VFS_MOUNT_ARCHIVABLE is unused | ||
| Description |
VFS_MOUNT_ARCHIVABLE is never used, except for being passed to (then ignored by) vfs_mount. But mount_is_archivable tests for VFS_MOUNT_ARCHIVES - is that where ARCHIVABLE should be used instead? (The comment in source:ps/trunk/source/lib/res/file/vfs_optimizer.cpp@4703#L161 talks about VFS_MOUNT_ARCHIVE which doesn't even exist.) |
|||
| #166 | fixed | Move TDD Wiki onto Trac | ||
| Description |
It would be nice if the TDD Wiki was on Trac instead of MediaWiki, to simplify administration (user accounts, backups, etc). It should be possible to export the pages from MediaWiki, do some conversion, and import them into Trac without too much manual effort. |
|||
| #167 | fixed | Assertion failure when reading trace file | ||
| Description |
The assertion at source:ps/trunk/source/lib/res/file/trace.cpp@4706#L202 fails with start_idx = 25243, t->total_ents = 25225. trace.txt is 25326 lines, with the last run's delimeter on line 25243, with a total of 101 delimeters. 25326 - 101 = t->total_ents, and 25243 = start_idx. So it looks like the problem is that start_idx counts the divider lines, while t->total_ents doesn't, and so it fails if the number of divider lines is greater than the size of the last run in the file. |
|||
| #168 | invalid | Google Earth 4 (KMZ) importer | ||
| Description |
Google SketchUp can export a model into the KMZ format, which is a zip file and usually contains textures and a COLLADA mesh. Given that SketchUp is more intuitive and easy to learn than e.g. Blender, it could be quite nice for inexperienced modders if they could use it to get basic models into the game easily. |
|||
| #169 | fixed | Terrain quad rendering uses unspecified triangulation | ||
| Description |
The terrain renderer draws non-planar GL_QUADS. The OpenGL spec just says
which in practice seems to result in the quad being triangulated along an arbitrary diagonal. Since there's no way to know exactly what's going to happen, and particularly since what happens isn't very good, we need to split the quads into triangles ourselves. It is presumably sensible to split each quad along the diagonal that minimises the angle between the two triangles. |
|||
| #171 | fixed | GL extension loading slightly incorrect on Linux | ||
| Description |
ogl.cpp does: p##nameARB = NULL; if(oglHaveVersion(version)) *(void**)&p##nameARB = SDL_GL_GetProcAddress(#nameCore); if(!p##nameARB) /* use the ARB name if the driver lied about what version it supports */ *(void**)&p##nameARB = SDL_GL_GetProcAddress(#nameARB); But glXGetProcAddress never returns NULL. In the case where "the driver lied about what version it supports", it will still return a non-NULL function pointer, which will crash when it is called, even if there would have been a valid function pointer when we used the ARB name. (NVIDIA's OpenGL implementation is different, and does (when I test it) return NULL for functions that it doesn't have. But the xorg-x11 implementation only returns NULL for non-existent glX* functions or for names not starting with "gl", and it returns non-NULL for any arbitrary gl[^X]* name.) Hopefully it doesn't actually matter for us, since ogl.cpp seems to be the only place where we're testing the NULLness of the function pointers, and since ogl.cpp should still work correctly as long as the driver reports its GL version correctly (which it should). So I don't think there's anything we should actually do, except be aware of the issue. |
|||
| #172 | wontfix | Fast shutdown | ||
| Description |
(See 2007-01-06 meeting notes.) The game usually takes a while to shut down since it frees all its resources before exiting, but there isn't any need to do that when people are just playing the game (as opposed to being developers who want to check for resource leaks). Some things probably still need to be shut down cleanly (network, video, log files, etc), but it should be possible to make it much faster than it is now. |
|||
| #173 | wontfix | Odd rendering errors with renderpath=vertexshader | ||
| Description |
On a GF4, I get distorted models (e.g. some vertexes move to the wrong side of the screen when certain objects are being rendered) when using renderpath=vertexshader, which is fixed with renderpath=fixed. I think I remember we decided the issue was with linking vertex programs together multiple times in different ways, and it could be fixed by duplicating the programs so they were linked once each. Bobby also reports problems (lighting on models is green when self-shadowing is enabled) which are fixed by renderpath=fixed, on a Radeon 9700 Pro. I have no idea if that is related to the same linking issue, but it'd be worth investigating and fixing. |
|||
| #174 | fixed | premake.lua incorrectly defines __STDC_VERSION__ on GCC | ||
| Description |
premake.lua says: package.defines = {
"__STDC_VERSION__=199901L",
"CONFIG_USE_MMGR",
}
sysdep.h says:
So it's our fault that we get a little confused by GCC pretending to support C99 when it really doesn't. Claiming to support C99 is nonsensical in any case, because we're writing C++ and not C. It would probably be better to define a series of HAVE_RELEVANT_C99LIKE_FEATURE, for all the relevant C99-like features which GCC supports in its normal nonstandard C++ mode. |
|||
| #175 | fixed | Load SoundGroup table from entity XMLs | ||
| Description |
It should be possible to specify a sound for each animation, using code such as: <Entity>
...
<SoundGroups>
<Walk>infantry_walk.xml</Walk>
<Run>infantry_run.xml</Run>
<Death>screams.xml</Death>
<Gather_wood>axe_chopping.xml</Gather_wood>
<Gather_stone>pickaxe.xml</Gather_stone>
</SoundGroups>
</Entity>
These should be in a hashmap in CEntityTemplate. |
|||
| #176 | fixed | Crash in aura code | ||
| Description |
When running the cinematics.pmp simulation in Atlas, it crashes after a while in the aura-handling code. Some script calls CEntity::Kill, which calls Remove on everything in m_aurasInfluencingMe. That fails because the CAura* in there is not valid - it's a readable pointer but the contents are rubbish (seemingly being used by some other object, since it's not the default debug memory-fill pattern). |
|||
| #177 | fixed | Corpses disappear after the death animation is played | ||
| Description |
When units with a death animation die, a corpse showing the last frame of this animation should persist. However, they currently just disappear. Could be related to changes in [4810]. |
|||
| #178 | fixed | Decouple entity simulation and actor animation | ||
| Description |
Let the entity code simply tell the actor to switch to a certain animation state, and not worry about any timing details itself. The actor should handle looping, randomisation, and potentially things like blending. The animation speed should be determined just by the actor XML. Change the entity XML files to store only a Rate (units per second) for actions, rather than Speed+Rate. Update the simulation world at a fixed frequency, independent of the animation speed. Experiment with the same for attack animations to see if it still looks alright, but at least keep projectile launches synchronised. |
|||
| #179 | wontfix | Alpha-channel problems with NVemulate and renderpath=vertexshader | ||
| Description |
When running the game with [NVemulate http://developer.nvidia.com/object/nvemulate.html], set to any emulation mode (NV30, NV40, G80), on a GeForce 4, with renderpath=vertexshader, transparent textures look like in the attachment: parts with alpha=255 (e.g. leaf centres) are usually transparent or stripey, and flicker as you zoom in and out. It works correctly when renderpath=fixed. Looks like some kind of z-accuracy issue, where models use two different implementations of vertex transformation and end up at slightly different z value? (I'm not sure if it's only ever an issue with NVemulate, or if it can affect real hardware too.) |
|||
| #180 | fixed | Default DepthTextureBits is very slow on GF4 | ||
| Description |
By default, the shadow DepthTextureBits is 16. With a GF4, that is very slow compared to other depths - e.g. on a blank grass map, with AA disabled, it is 72fps with DepthTextureBits=32 and 23fps with DepthTextureBits=16. With 4xAA enabled, it is 36fps at 32, but only 2fps at 16. Is a similar effect visible on other graphics cards? (Use renderer.depthTextureBits in the console to change it). If so, presumably the default should be changed; otherwise, the default should depend on the hardware. |
|||
| #181 | wontfix | Possibly broke stamina decay when running to target | ||
| Description |
r3568 added
In r4880 I've removed all that |
|||
| #184 | worksforme | Assertion failure when running tests under Valgrind | ||
| Description |
Running test_2_build_dbg in Valgrind with Memcheck results in the error: file_cache.cpp(928): Assertion failed: "ret.second == true" udbg_init: loading symbols from ./test_2_build_dbg. Assertion failed: "ret.second == true" Location: file_cache.cpp:928 (add) Call stack: (0x084d4c4b) file_cache.cpp:928 ExactBufOracle::add(unsigned char const*, unsigned int, unsigned char const*) (0x084cdd47) file_cache.cpp:1128 file_buf_add_padding(unsigned char const*, unsigned int, unsigned int) (0x084b472a) file_io.cpp:638 IOManager::run() (0x084b2bc5) file_io.cpp:666 file_io(File*, long, unsigned int, unsigned char const**, long (*)(unsigned int, void const*, unsigned int, unsigned int*), unsigned int) (0x084c4ef8) vfs_redirector.cpp:233 xfile_io(File*, long, unsigned int, unsigned char const**, long (*)(unsigned int, void const*, unsigned int, unsigned int*), unsigned int) (0x084c6548) vfs.cpp:387 vfs_io(long long, unsigned int, unsigned char const**, long (*)(unsigned int, void const*, unsigned int, unsigned int*), unsigned int) (0x084c6947) vfs.cpp:435 vfs_load(char const*, unsigned char const*&, unsigned int&, unsigned int, long (*)(unsigned int, void const*, unsigned int, unsigned int*), unsigned int) (0x084bc6e6) archive_builder.cpp:142 read_and_compress_file (0x084bc89b) archive_builder.cpp:215 archive_build_continue(ArchiveBuildState*) (0x084bcb10) archive_builder.cpp:254 archive_build(char const*, char const**) (0x0824303a) test_archive_builder.h:110 TestArchiveBuilder::test_create_archive_with_random_files() (0x08243da6) test_archive_builder.cpp:24 TestDescription_TestArchiveBuilder_test_create_archive_with_random_files::runTest() (0x08229333) RealDescriptions.cpp:96 CxxTest::RealTestDescription::run() (0x0822b92c) TestRunner.h:75 CxxTest::TestRunner::runTest(CxxTest::TestDescription&) (0x0822ba04) TestRunner.h:59 CxxTest::TestRunner::runSuite(CxxTest::SuiteDescription&) (0x0822baf5) TestRunner.h:44 CxxTest::TestRunner::runWorld() errno = 0 (?) OS error = ?
It works correctly when run outside Valgrind, and when run with |
|||
| #186 | fixed | Automatic archiving is annoying | ||
| Description |
The automatic archiver runs pretty much every time I start the game (probably because I don't start the game very often and so several data files change in the meantime). It takes ages, and tends to leave multiple giant zip files hanging around, and wastes much more time than simply loading slower unarchived files, and it leaves the game window (and sometimes the whole computer) unresponsive while it's working. I'd be much happier if it was manually activated instead - people could run it once if they care about the loading speed, and the time lost to loading loose files after the archive becomes out of date would be more than made up for by the time gained by never automatically rebuilding the archive. We can run the archiver once manually when distributing the game, and no normal user (including modders) will change enough files for it to ever be worth automatically rebuilding the archive, particularly since it happens precisely when they're trying to play the game and it stops them from doing so. (It wouldn't be so bad if it happened at installation-time for large patches.) (Or maybe I'm misinterpreting the problem and it's just not using the mini archives like it should do (since they never look mini - they're always about 60MB), or something.) ... Oh, it's finished rebuilding now, I'll get back to work ;-) |
|||
| #187 | wontfix | Heap usage profiling | ||
| Description |
Currently the in-game profiler shows the number of memory allocations per frame in each profile node (at least when compiled with MSVC and the Debug CRT). It might be nice to also show the total amount of still-allocated memory that has ever been allocated under a particular node, to see which bits are responsible for using lots of memory. I expect that could be done without much pain by using _CrtSetAllocHook to catch allocations and frees: allocations can be added to the count in the current profile node, and some kind of map can store the allocation request number and the current node (I'm hoping you can remember nodes like that), and frees can look up the appropriate node to subtract the size from (because we don't want to count freed memory, and because it's not necessarily going to be freed in the same place as it was allocated). That'd be a little slow, so it should be optional and disabled by default. |
|||
| #188 | wontfix | Entities might use inconsistent units for Range/LOS | ||
| Description |
I haven't checked it properly, but Michael reported possible confusion between the measurements for Range and for LOS, and it seems quite plausible that Range is measured in world-space units while LOS is measured in tiles. If that's the case, it's unpleasantly confusing and should be made consistent (probably all measured in tiles, because the editor gives people some idea of roughly how large a tile is). |
|||
| #189 | fixed | Entity deletion doesn't work properly | ||
| Description |
After deleting entities, they tend to still exist in an invisible ghostly form and attack people when you play the simulation from within the editor. They should be deleted properly from the entity manager, instead of the current pseudo-deletion. To allow undo, serialise the entity into some form (same as when you play/reset the simulation) on deletion and then reconstruct it on undo. |
|||
| #190 | fixed | COLLADA: split skeleton definitions into moddable files | ||
| Description |
The skeleton definitions should be located in |
|||
| #191 | duplicate | COLLADA: prop points on non-skeletal models | ||
| Description |
Let prop points be specified on non-skeletal models. The engine supports that already, when you set the bone index to 0xFF. The COLLADA converter should look for objects named |
|||
| #194 | fixed | Update TracWebAdmin | ||
| Description |
The currently-installed version of TracWebAdmin doesn't work with Trac 0.10, so it should be updated. (The newest version only seems to be available from SVN, not as an Egg file, which makes it slightly less trivial.) |
|||
| #195 | fixed | Support more mouse buttons | ||
| Description |
Currently only five buttons (left, right, middle, wheel-up, wheel-down) are supported. It might be nice if users could map functions onto other buttons (e.g. my mouse has seven additional buttons). |
|||
| #196 | duplicate | Atlas: Problem when removing/deleting units | ||
| Description |
how to duplicate: load cinematic feb 2007 map delete all red troops in middle of stream and a few rocks as well (rocks are optional, happens with or without them deleted) start simulation. in debug mode, nothing happens for ~5sec, then it starts arrows/spears from the invisible removed guys fly the blue guys are apparently engaging some of these invisible removed guys after 1..2min, some of the red ones reappear (first one, then clumps of 2..3 at a time several seconds apart) exit without resetting sim state => crash in objecthandlers:722 problem is ~cDeleteObject()'s delete m_UnitInLimbo: the CUnit has apparently already been freed and its fields are mostly 0xCDCDCDCD. DeleteObject::Redo says:
And does: unit->GetEntity()->entf_set(ENTF_DESTROYED); I note that CEntity::Kill is doing a lot more work, especially
Could this be the problem, that it's not doing that? |
|||
| #197 | wontfix | FAM hotloading might miss some files | ||
| Description |
The FAM code in source:/ps/trunk/source/lib/sysdep/unix/dir_watch_fam.cpp has to be careful about waiting for certain events after starting to monitor a directory, but it isn't careful about what to do with unexpected events in the queue - if somebody modifies a file while other directories are being mounted, the event might get lost and the game won't notice their change. This is rare enough (and has a harmless enough effect) that I don't think it's worth trying to fix. |
|||
| #199 | fixed | Hook up the SoundGroup system | ||
| Description |
The SoundGroup system for choosing random sounds is not yet in use. The current placeholder code enumerates all audio files in a certain subpath, which works but is slow and inflexible (see http://www.wildfiregames.com/forum/index.php?showtopic=10924&hl= for an overview and list of links that detail the sound system design). Here's a list of what I think is necessary to get the SoundGroup show on the road:
|
|||
| #200 | fixed | UI: disable not-yet-implemented features | ||
| Description |
|
|||
| #202 | invalid | test | ||
| Description |
test1 |
|||
| #203 | fixed | Combat Crash | ||
| Description |
Crash occurs in-game as well as in Atlas simulation when initiating combat. Problem seems to me to reside with Super Infantry, as other types of units do not cause such a crash. I assume this could be entity related, but scanning the template_unit_super and template_unit_super_infantry entities does not immediately present any issues with coding. grrr |
|||
| #205 | fixed | PMD/PSA skeleton mismatches should be reported nicely | ||
| Description |
http://www.wildfiregames.com/forum/index.php?s=&showtopic=11872&view=findpost&p=192546 Currently, skeleton mismatches are only detected and reported if the number of bones differs. The PMD and PSA files ought to store their skeleton name, so mismatches can be detected properly and reported nicely. |
|||
| #206 | fixed | Remove NO_GUI | ||
| Description |
The game probably doesn't work with the NO_GUI compiler flag, and it doesn't seem a useful feature at all, and it adds complexity to the code, so the flag should just be removed entirely. |
|||
| #207 | fixed | Linux build uses FColladaSD in Release mode | ||
| Description |
The Collada project gets linked with libFColladaSD.a (the debug version) in Release configurations as well as Debug. It should use libFColladaSR.a instead, since that's faster. This probably just needs some small (but not entirely trivial) changes in extern_libs.lua |
|||
| #208 | wontfix | Kill entity - Network support | ||
| Description |
Add network support when an entity is killed so the entity is killed everywhere. |
|||
| #209 | fixed | Show idle peasants | ||
| Description |
By clicking on this button, all idle resource gathering units (women ?) should be selected. |
|||
| #210 | fixed | Skybox is uninitialized | ||
| Description |
In an MP game (Oasis), scrolling off the map shows that the skybox is uninitialized or filled with garbage (looks like a terrain texture, but Wijit was seeing something else). |
|||
| #211 | fixed | Oasis map requires non-public files | ||
| Description |
When loading Oasis in MP, having started the game with -quickstart and -onlyPublicFiles, a VFS file load error is produced. It turns out that "art/textures/skies/mountainous/front.dds" is the only file that is not found, after that the map loads successfully. |
|||
| #212 | fixed | Player control of enemy units | ||
| Description |
In MP games (specifically Oasis with 2 players), blue (the host) can move red's (the second player's) units . |
|||
| #213 | wontfix | Gameplay: charge bonus is awarded incorrectly | ||
| Description |
Michael reports: I can get the charge bonus no matter how many times I double click the enemy unit. Apparently there is no minimum must-have-run-this-far range before awarding the bonus, which would be good for avoiding exploits. |
|||
| #214 | fixed | Exception reading 0x45C | ||
| Description |
Encountered by Erik whilst attempting MP on Latium map with Anton: in CEntity::UpdateXZOrientation(), apparently m_base is invalid, thus causing an access violation. Since inheritance is data-driven, we should add checks (especially in this function, likely in others as well) whether m_base is valid at all. If not, try to use reasonable defaults. |
|||
| #215 | fixed | GUI: Display of entity properties hides other information | ||
| Description |
In an MP game of Oasis, the blue (host's) cavalry can be clicked upon to show unit details in the upper-left corner of the screen. Here, the range information is displayed with very many digits, thus overwriting the next field. It would be good to display all floating-point information in the GUI with one digit of precision, which can be expressed in printf via "%.1f". |
|||
| #216 | fixed | Chat doesn't work in multiplayer | ||
| Description |
Chat is a fairly important part of the game being playable. As soon as a client connects, it would be good to be able to chat (the previous mechanism having been entering any line of text not starting with : or ? into the console). We used to have this functionality, but it was a part of the previous network code and apparently still needs work. |
|||
| #217 | fixed | JS warnings that show up in the console | ||
| Description |
After loading a MP game (Oasis), the following warnings/errors show up in the console: gui/test/functions_utility_list.js:142: TypeError: getGuiObjectByName(objectName) has no properties setCurrItemValue(): pgSessionSetupPO (<- could also be a 0) not found |
|||
| #218 | fixed | Assertion failed when hosting MP after incorrect join | ||
| Description |
Actions to reproduce: Click on multiplayer. Join. Any ip (I tried with 127.0.0.1) where there is no server. (A message will popup saying that could connect.) Go back Host game. [Error.] Assertion failed: "!ms_singleton" Location: Singleton.h:28 (Singleton<class CNetHost>::Singleton) Call stack: Singleton<CNetHost>::Singleton<CNetHost> (singleton.h:28)
CNetHost::CNetHost (netsession.cpp:23)
CNetServer::CNetServer (netserver.cpp:28)
CreateServer (scriptglue.cpp:695)
js_Invoke (:0) errno = 0 (?) OS error = Se ha intentado tener acceso a una dirección no válida. |
|||
| #219 | fixed | Strange players names behavoiur | ||
| Description |
In MP game. When playing 1 vs 1. The host sees his name fine, but his opponents name as "Player", while opponents name is Matei (as in the default configuration.). The opponent sees his and host's name fine. |
|||
| #220 | duplicate | Incorrect camera position when starting for players other than player 1 | ||
| Description |
In MP game, the camera position is the same for all the players, which is correct for the host (Player1) but incorrect for other players. |
|||
| #221 | fixed | Resource counters went negative | ||
| Description |
In an 1v1 game of Oasis, the stone resource counter was observed to be -1. After starting at 100 and building two houses (50 stone each), it should have been zero (and probably was). After a while of further play - without any harvesting of stone - the resource counter was shown as "-1". Failed to duplicate this in SP, so it's probably related to network transmission of the value. |
|||
| #222 | wontfix | Better reference-counting of entities | ||
| Description |
We currently have a fairly complicated and unsafe means of managing entities. CHandle is basically a reference-counted pointer. HEntity is an index into a table of CHandle; the class simulates smart pointer semantics by accessing this table. A fixed table of CHandle is both inefficient (what if we really only need 10% of the limit at a time?) and unsafe (we can't validate HEntity indices sent via network, and risk dangling entity pointers). To delete entities, they must be inserted into a reaper queue, the contents of which are deleted at the beginning of each update. However, the entities are still accessible and can be referenced. Finally, there are a bunch of complicated and seemingly redundant flags/access mechanisms for entity aliveness - the refd bitset, its reference count (trumped however by the reaper queue), a destroyed flag and the destroy notifier flag. This complexity is causing real problems - we've had several access violations at 0x400..0x460, which are most likely caused by NULL entity pointers. At the meeting yesterday, we discussed banning raw CEntity* pointers and replacing them all with smart pointers. Also, separating network ID from entity storage seems prudent (allows stringent error checks and removes an artificial limit on the number of handles). The proposed solution we arrived at is based on weak pointers - this allows code (e.g. AI) to hold on to entity references and be able to determine in a controlled way whether the entity is dead. The implementation is such that every entity holds a reference-counted pointer to itself and hands it out in form of a smart pointer class. When the entity is `killed', it marks the shared pointer value as invalid and frees itself immediately. Only when the last weak reference is freed would the reference-counted-pointer class instance that they use be released. The requirement for the reaper is based on the assumption that entities are killed fairly high on the call stack, and the calling functions may still be wanting to do something with the entity. To detect when an entity is dead, we are already using an isDead flag. I figure this could be replaced with the standard weak_ptr isValid mechanism. Finally, the network ID. For practically limitless numbers of entities, we need a 32-bit counter that resets to zero each game. Entities store their number (which is what is serialized), and EntityManager needs a sparse mapping of ID -> HEntity (the new/old entity reference system). This sounds like it would simplify things; a partial implementation is underway, but a few design questions remain to be hashed out (Philip and I will be discussing this shortly; any other input is welcome). TODO:
|
|||
| #223 | invalid | Making sure the Trac wiki is up to date | ||
| Description |
While not necessarily critical it's a good thing if we can try and make sure that as much information in the Trac wiki as possible is up-to-date. While of course getting the actual game releaseable is more important it's important that we good info so people aren't turned away from developing just because of that. (It's not as if there's an overabundance of people who want to spend a lot of time coding for no money as it is, and if they have trouble starting I'm sure they'll move on to other places before even taking a deeper look ;) ) I suggest everyone takes some time to go through the areas of the wiki they know anything about and add/change things as necessary. If we all do a part of it it won't be all that much work, but it will still be a great resource. Btw, I'm not sure what "Component" this task would be, is the one I've chosen ok or should we create something else for these kind of things? There might be more tasks which aren't directly related to the code, and I'm not sure "Non-game systems" includes that. Please educate me in that case, and otherwise too of course. |
|||
| #224 | fixed | Set up autobuilder | ||
| Description |
Need to set up a new autobuilder, so that the code can be compiled and the binaries committed to SVN from a stable consistent build environment. Some discussion in this thread. Details on the planned setup: BuildServerSetup. |
|||
| #225 | fixed | It is possible to place multiple unbuilt building foundations ontop of each other. | ||
| Description |
How to duplicate bug: Start a game. Select a citizen-soldier. Cycle through the construction list in the GUI. Select House. Begin placing house foundations by clicking rapidly twice in one spot. When construction is complete you can see two houses overlapping in the same spot (as long as both house variations have been randomized). |
|||
| #226 | worksforme | Crash: Game Crashes when deleting a structure that is being built. | ||
| Description |
The summary says it all. Start game. Lay a house foundation. Begin constructing the house. Delete the building before it is completed. Crash. This happened while in quick start mode. Someone please verify. |
|||
| #227 | invalid | Female Citizens should only "convert" (infidelity) via enemy Cavalry. | ||
| Description |
Enemy Females currently seem to be able to be converted to your side by utilizing any of your troops within their "infidelity radius." This should only occur with Cavalry units. Cavalry should only have the ability to convert enemy females via the infidelity radius. Cavalry is given this function in the Design Document as part of their abilities separate from Infantry. |
|||
| #228 | fixed | Building Construction Limits should be dictated in the Entitiy XMLs. | ||
| Description |
Building limits "per territory" and other building limit attributes should be dictated in the entity code rather than in a script. Example: The Hellenes have 3 Special Buildings. Each one could have a different building limit criteria. Same for any other faction and any other building type (for instance, what if we want the Romans to be able to build 3 Barracks per territory instead of the 2 dictated in the script? The Persians are supposed to be able to only build one "Kahk" Special Building per map, not per territory as is dictated in the script). |
|||
| #229 | wontfix | GUI: "Phantom" Health Bars appear in the GUI when multiple units or structures are selected. | ||
| Description |
Start Game
Load map
Select one or more entities.
Click the little "helmet" icon in the GUI to show the multi-selection.
You will see additional health bars running along the bottom of the screen - more health bars than there are entities selected.
(Image Attached) |
|||
| #230 | fixed | Remove DCDT from OS release | ||
| Description |
The DCDT code's license says Permission to use this software for educational, research and non- profit purposes, without fee, and without a written agreement is hereby granted, provided that the above notice and the following three paragraphs appear in all copies. which means it is incompatible with the GPL, so it can't be distributed as part of the GPL release. So it has to be removed from that release, or removed from our repository entirely, or we have to get permission to use under GPL-compatible terms. |
|||
| #231 | invalid | Auras suffer from z-fighting | ||
| Description |
See attached screenshot. The auras ought to be nice clean circles, but they're all yucky and they flash whenever the camera moves, presumably because of z-fighting. |
|||
| #232 | fixed | Buildings rotated 135 degrees counterclockwise when constructed in-game. | ||
| Description |
In Atlas buildings have their proper orientation (the "front" of the building should usually face towards the lower right hand side of the screen - there are some exceptions that face towards the lower left corner of the screen, but the point is, they should face at a 45 degree angle, like a diamond, from the default viewing angle), but when constructed in-game, structures face 135 degrees the wrong direction so that the "fronts" of the buildings now face the exact opposite direction from the camera. This occurs with every Faction's buildings, no matter if they are PMD meshes or DAE Collada meshes. |
|||
| #233 | invalid | Hard Crash when using "Big Screenshot" while playing game. | ||
| Description |
The game performs a hard crash when utilizing the "Big Screenshot" option. This option is supposed to output a large Bitmap screenshot of the scene. hotkey.bigscreenshot = "Ctrl+Alt+F2" ; Take large BMP screenshot. That is the line in my system.cfg file that dictates the hotkeys for taking the big screenshot. A similar function works in Atlas that takes a very large bitmap screenshot of the scene. This is how I usually make the monthly screenshots for publicity. I want to be able to do this in-game. Apparently it worked at one time, but no longer works in-game. This would not only be a good feature for us developers, but a good one for end-users as well. We should probably fix/implement this in time for any official public Beta, as players will want to take nice screenshots of the game they are playing. |
|||
| #234 | worksforme | Hard Crash when using "Big Screenshot" while playing game. | ||
| Description |
The game performs a hard crash when utilizing the "Big Screenshot" option. This option is supposed to output a large Bitmap screenshot of the scene. hotkey.bigscreenshot = "Ctrl+Alt+F2" ; Take large BMP screenshot. That is the line in my system.cfg file that dictates the hotkeys for taking the big screenshot. A similar function works in Atlas that takes a very large bitmap screenshot of the scene. This is how I usually make the monthly screenshots for publicity. I want to be able to do this in-game. Apparently it worked at one time, but no longer works in-game. This would not only be a good feature for us developers, but a good one for end-users as well. We should probably fix/implement this in time for any official public Beta, as players will want to take nice screenshots of the game they are playing. |
|||
| #235 | worksforme | Crash when loading a different map | ||
| Description |
Reproduction method:
Dump and log: http://www.wildfiregames.com/forum/index.php?act=Attach&type=post&id=2055 |
|||
| #236 | fixed | Player can control enemy's buildings | ||
| Description |
Similar to the bug which made it possible to move around an enemy players units ( http://trac.wildfiregames.com/ticket/212 ) I've found that it's possible to control an enemy's buildings. After having had the building within LOS of one of my units I can control the building, and create units. On Latium I just get a message telling me that I cannot build since there aren't enough housing, since the enemy doesn't have any houses but just the CC, but on other maps with enough housing for the enemy player it's possible to build units. |
|||
| #237 | fixed | svn_revision.txt is not built | ||
| Description |
svn_revision.cpp relies on svn_revision.txt, but that latter file is never actually generated, which breaks the build. One possible solution: add an svn_revision.txt to SVN which just says "unknown". Don't ever update it for normal developers, because they can work out what they're doing themselves. Then just modify the autobuilder script to run svn_revision.bat and overwrite that file, so the automated builds will identity the revision correctly. Another possible solution: make svn_revision.bat get called automatically by the VS project. But if it's called for every build, it needs to be careful to avoid triggering a load of unnecessary linking every time. Also it needs to be added on Linux too. (I'd be happy to help with this, particularly any autobuilder or Linux stuff, depending on what the desired solution is.) |
|||
| #238 | fixed | wnuma compilation sometimes fails | ||
| Description |
Travis and Brian reported errors in wnuma.cpp like: 'valid' : is not a member of '_PSAPI_WORKING_SET_EX_BLOCK' 'LargePageSize': identifier not found 'node' : is not a member of '_PSAPI_WORKING_SET_EX_BLOCK'
That code is inside an
(I suggested to them that they just changed the code to |
|||
| #239 | fixed | Sort out OS SVN access permissions | ||
| Description |
Set up the access permissions so anonymous users can access the public files. |
|||
| #240 | fixed | Sort out Trac access permissions | ||
| Description |
Work out which parts of Trac should be available to normal users, and make them available. |
|||
| #241 | fixed | Construct a list of everyone who has written code for the game | ||
| Description |
For the purposes of relicensing as open source, it'd be good to know exactly what code was written by who, so those people can be contacted to make sure they're okay with it. |
|||
| #242 | fixed | Collada prop point "root" cannot hand more than one prop at a time. | ||
| Description |
Collada prop point "root" cannot hand more than one prop at a time. It is essential that collada prop points be able to hand more than one prop at a time, just like the old pmd files. |
|||
| #243 | fixed | "Non boned" Collada meshes should support multiple prop/attachment points | ||
| Description |
It is imperative to the game as designed that the game engine supports "static" "non-boned" Collada files, such as those created for ships and buildings, that include multiple prop-points. This is mainly for unit garrisoning purposes (units garrisoned on walls, battlements, towers, and on the decks of ships). I am slating this for Beta, because for Alpha we could conceivably get by with just simple garrisoning capability without the propping. But for any public beta this feature should be implemented, as it is a major stated feature of the project. |
|||
| #245 | fixed | [PATCH] Support XML validation | ||
| Description |
It'd be nice to use proper validator tools to report errors in XML tools. So:
|
|||
| #246 | fixed | Start using user-specific config files | ||
| Description |
Editing system.cfg is nasty, because you get merge conflicts and accidental commits etc. So people should always use user-specific configuration, which looks like it's already implemented in data/profiles/default/settings/user.cfg. So: make sure that actually works, delete the non-default profiles because they're confusing and unneccessary, and update all the relevant documentation (and add a comment in system.cfg) to say to edit user.cfg. |
|||
| #247 | fixed | Simplify the logger | ||
| Description |
|
|||
| #248 | worksforme | Transparent Alpha Channel rendering problem for farms. | ||
| Description |
About 75% of farms when built in-game or when placed manually in Atlas have a rendering issue with the alpha channeled "wheat" texture. This is apparently random. Screenshot attached. |
|||
| #249 | duplicate | Non-ranged units appear away from the place where their actions are taking place | ||
| Description |
I first saw this when constructing a building, but had trouble reproducing it so I thought I'd wait until I saw it again, but then I saw that the same thing occurred when enemy units were attacking my units. The enemy unit were on the opposite side of a building from my units, but still hitpoints were subtracted from one of my units. It wasn't a ranged unit, and there were no other units nearby, so for some reason the animation/model wasn't "at the place where the simulation occurred" or how I should say. The same thing with the units constructing a building. As you can see on the screenshot I attached the units that are constructing the building are at a distance from it, though using the proper animation and everything else works. In both cases it's a building that's between the unit (or rather the animation/model) and the action/simulation that's actually taking place. Not sure if that's just a coincidence, but I thought it was worth mentioning. Also as it's not interrupting the gameplay or anything it shouldn't be on this milestone, but I don't know on which it fits best, so someone who knows that better should move it, please. |
|||
| #250 | fixed | Non-ranged units appear away from the place where their actions are taking place | ||
| Description |
I first saw this when constructing a building, but had trouble reproducing it so I thought I'd wait until I saw it again, but then I saw that the same thing occurred when enemy units were attacking my units. The enemy unit were on the opposite side of a building from my units, but still hitpoints were subtracted from one of my units. It wasn't a ranged unit, and there were no other units nearby, so for some reason the animation/model wasn't "at the place where the simulation occurred" or how I should say. The same thing with the units constructing a building. As you can see on the screenshot I attached the units that are constructing the building are at a distance from it, though using the proper animation and everything else works. In both cases it's a building that's between the unit (or rather the animation/model) and the action/simulation that's actually taking place. Not sure if that's just a coincidence, but I thought it was worth mentioning. Also as it's not interrupting the gameplay or anything it shouldn't be on this milestone, but I don't know on which it fits best, so someone who knows that better should move it, please. |
|||
| #251 | fixed | Config parser doesn't ignore comments | ||
| Description |
When a config file says something like key = value ; comment
the config parser thinks the key is associated with two values, " This needs to be fixed, so legitimate (comma-separated) values are kept but comments are discarded. |
|||
| #253 | worksforme | Crash on loading CSimulation | ||
| Description |
I cannot start single player game on Windows XP SP2, crash occurs when loading CSimulation. See the log below with comments marked with * on the beginning. When start pyrogenesis.exe several errors occur: Assertion failed: "resolution <= 2e-3"
Location: whrt.cpp:114 (InitCounter)
Call stack:
InitCounter (whrt.cpp:114)
whrt_Init (whrt.cpp:300)
[..]
***Continue pressed***
Assertion failed: "resolution > 0.0"
Location: frequency_filter.cpp:36 (FrequencyEstimator::FrequencyEstimator)
Call stack:
FrequencyEstimator::FrequencyEstimator (frequency_filter.cpp:36)
this = (unavailable)
resolution = -1.#IND (0xFFF8000000000000)
[..]
***Continue pressed****
***Window frame occures***
Assertion failed: "TimeSinceLastFrame > 0.0f"
Location: main.cpp:201 (Frame)
Call stack:
Frame (main.cpp:201)
need_update = false
TimeSinceLastFrame = -347316158464.000000 (0xD2A1BB50)
need_render = false
down = [3] { 0.000000 (0x08CE7758), 0.000000 (0x00401E58), 0.000000 (0x0012FF34) }
[..]
***Initial menu inside widow frame occurs***
Assertion failed: "TimeSinceLastFrame > 0.0f"
Location: main.cpp:201 (Frame)
Call stack:
Frame (main.cpp:201)
need_update = false
TimeSinceLastFrame = -347316158464.000000 (0xD2A1BB50)
need_render = false
down = [3] { 0.000000 (0x08CE7758), 0.000000 (0x00401E58), 0.000000 (0x0012FF34) }
***Single player clicked***
***Game setup occurs***
***Start! clicked***
***When loading CSimulation***
Much to our regret we must report the program has encountered an error.
Please let us know at http://trac.wildfiregames.com/ and attach the crashlog.txt and crashlog.dmp files.
Details: unhandled exception (Access violation reading 0x00000000)
Location: unknown:0 (?)
Call stack:
00000000
errno = 0 (?)
OS error = 0 (no error code was set)
***Surppress dashed out so Continue clicked***
***Windows XP SP3 reported pyrogenesis.exe has encountered a problem and needs to close. ...***
|
|||
| #254 | fixed | trac tickets are not readable | ||
| Description |
you can view a list of all tickets but cant actually read the content of tickets if you're not registered / logged in. It would help to check for more information if you got a problem to be able to check what problems and possible solution and workarounds other people reported. |
|||
| #255 | wontfix | Crash in the first minutes of MP game | ||
| Description |
Informations from the Program Error Dialogue: Details: unhandled exception (Access violation reading 0x00000460) Location: unknown:0 (?) Call Stack: 002FAF5B errno = 0 (?) OS error = 0 (no error code was set) More infos in crashlog,dmp and crashlog.txt |
|||
| #256 | invalid | Wrong hand for phalanx | ||
| Description |
First of all, my brother is an History fan, specially the age this game is about, so I'll try to contribute with suggestions and comments about historical bugs and related stuff. I was watching the second game movie, from 2006, and in it we can see different atacks of two different units. I showed it to my brother, and he found out a bug. Helenic phalanx is using the weapon with the wrong hand. I had a discussion with him about it, but he is right, and he has also told me they was forced to use it with that hand (so, no lefthanded people, I guess). |
|||
| #257 | wontfix | Improve build system | ||
| Description |
It's great to see you guys have open-sourced this project; however, the build system for Linux and OS X seems a little bit insane right now. I'd like to offer some assistance in porting the build system to SCons, a Python-based build system that is much simpler to work with and won't require the use of Premake or workspaces. I think making Makefiles is generally a pretty frightful workaround for the inadequacies of Make, and a more modern build system would simplify development of this project a great deal. Using scons, the Premake and workspace stuff would be replaced by a scons-local installation, allowing Unix developers to simply run 'python scons.py' to compile. In doing this, I'd also like to update the Mac build process to: 1) Build proper .app bundles 2) Make use of all the libraries the developer has available, but link statically against any libraries not included by default in OS X. In this way, for example, the developer can compile with FFMpeg from MacPorts, but not require the user to install MacPorts. The alternative is to include the libraries in the application bundle, but that would just result in a larger, slower application and increase the amount of work required in the build system (especially since this would involve changing install_names so the loader could locate everything). The only requirement I've found so far that's required that doesn't have static libraries by default in MacPorts is wxWidgets I'm still in the process of checking the project out, but I thought it would be worthwhile to gauge your interest in this. There are other good build systems like CMake available as well, but SCons is the one I'm most familiar with and thus the one I think I could contribute the most with. If you guys think this would be a good idea I should be able to start working on it fairly soon (obviously, I don't want to waste a lot of time on it if not). Just let me know and I can get started on this ASAP. |
|||
| #258 | fixed | [FreeBSD compat] add some missing includes | ||
| Description |
There were some missing include errors while I was building 0 a.d. on FreeBSD. Maybe that's because I was building with precompiled headers (doesn't seem to work nice with ccache), but I guess it's better to add them. |
|||
| #259 | fixed | [FreeBSD compat] portability fixes | ||
| Description |
build/premake/src/Src/os.h: check for FreeBSD correctly source/tools/atlas/AtlasScript/ScriptInterface.cpp: use valgrind only on Linux and MacOS X (not on FreeBSD) source/ps/DllLoader.cpp: add missing const build/workspaces/update-workspaces.sh: use plain sh instead of bash (no bash-specific features are used and bash is not available on FreeBSD by default). Also substitute positional parameters correctly |
|||
| #260 | fixed | [FreeBSD compat] collada: don't try to load plugins from nowhere | ||
| Description |
Collada tries to load plugins from applicationFolderName without checking whether it is empty first, which leads to crash on FreeBSD, where it is empty. While actually there should be FreeBSD version of FUFileManager::GetApplicationFolderName implemented, here where we don't need to load any plugins (do we?) this fix should go. |
|||
| #261 | fixed | Redefinition errors on linux | ||
| Description |
in libraries/cxxtest/include/cxxtest/ValueTraits.h:281 #ifndef __APPLE__ // avoid redefinition errors on mac
CXXTEST_COPY_TRAITS( size_t, const unsigned int ); // avoid /Wp64 warnings in MSVC
#endif
There is a check to make sure redefinition errors do not happen on mac. The check also needs to apply on linux. |
|||
| #262 | fixed | Linux and SpiderMonkey | ||
| Description |
In the help page for building on linux (http://trac.wildfiregames.com/wiki/BuildInstructions#Installingthread-safeSpiderMonkey) The recommended version of spider monkey causes build errors with 0AD. I installed the latest version of spider monkey (changeset: 30318) from https://developer.mozilla.org/En/SpiderMonkey/Getting_SpiderMonkey_source_code#Getting_the_latest_SpiderMonkey_source_code And copied header files 0AD wanted (jsosdep.h and jsconfig.h) that were not present in the latest Spider Monkey revision from an older version to /usr/include/js 0AD then compiled successfully. There was an error (which seemed to have no effect) when launching a single player game but I don't know if it is related to Spider Monkey or what effects the error had on the game. |
|||
| #263 | fixed | Inconsistent file encoding breaks spidermonkey on Mac OS X | ||
| Description |
exe name before realpath: /Volumes/Data/Development/Compiling/0AD/trunk/binaries/system/./pyrogenesis_dbg exe name after realpath: /Volumes/Data/Development/Compiling/0AD/trunk/binaries/system/./pyrogenesis_dbg returning exe name: /Volumes/Data/Development/Compiling/0AD/trunk/binaries/system/pyrogenesis_dbg TIMER| InitVfs: 1.603 ms TIMER| InitScripting: 7.995 ms TIMER| CONFIG_Init: 8.452 ms TIMER| write_sys_info: 1.098 ms TIMER| ps_console: 17.498 ms TIMER| ps_lang_hotkeys: 6.716 ms TIMER| ps_gui_init: 187 us TIMER| ps_gui_setup_xml: 4.976 ms TIMER| ps_gui_styles_xml: 2.096 ms TIMER| ps_gui_sprite1_xml: 61.773 ms (current document)(0): malformed UTF-8 character sequence at offset 25199 ERROR: JavaScript Error ((current document), line 0): malformed UTF-8 character sequence at offset 25199 terminate called after throwing an instance of 'PSERROR_Scripting_LoadFile_EvalErrors' what(): Scripting_LoadFile_EvalErrors Abort trap I eventually tracked this down to gui/test/functions_page_session_status_commands.js, which was in some ISO-* encoding, instead of UTF-8. This problem exists for quite a few other files as well. Spidermonkey fails to parse them, and dies. |
|||
| #264 | fixed | ReferenceError: addGlobalHandler is not defined on Linux | ||
| Description |
hi i was building the game on a kubuntu 9.04 using the instructions on http://trac.wildfiregames.com/wiki/BuildInstructions however if i start the ./pyrogenesis_dbg all i get is TIMER| InitVfs: 1.64816 ms TIMER| InitScripting: 55.6995 ms TIMER| CONFIG_Init: 30.1024 ms TIMER| write_sys_info: 1.48977 ms TIMER| ps_console: 12.7604 ms TIMER| ps_lang_hotkeys: 11.0896 ms TIMER| ps_gui_init: 45.814 us TIMER| ps_gui_setup_xml: 30.3468 ms TIMER| ps_gui_styles_xml: 4.25142 ms TIMER| ps_gui_sprite1_xml: 220.275 ms gui/test/functions_page_session.js(280): ReferenceError: addGlobalHandler is not defined ERROR: JavaScript Error (gui/test/functions_page_session.js, line 280): ReferenceError: addGlobalHandler is not defined terminate called after throwing an instance of 'PSERROR_Scripting_LoadFile_EvalErrors'
Aborted a windows pops up for a second and closes again. did i do anything wrong? i even built the spidermonkey lib threadsafe for my system cd311 |
|||
| #265 | fixed | [Mac OS X] premake fails to include libxml2 with threadding enabled | ||
| Description |
libxml2 checks for thread support by not only checking if it was compiled in, but also by checking whether "_REENTRANT" or "MT" is set. Usually, AFAIK, these are set on *nix when pthread is included, but since on OS X GNU threads are included in libSystem, this does not happen. I propose the attached fix, but if anyone has a better idea, feel free. |
|||
| #266 | fixed | [Mac OS X] tests fail to compile | ||
| Description |
"lib.tests/test_secure_crt.h" fails to compile on Mac OS X, as Mac OS X does not have a included "strnlen". A crappy fix is attached, because I fail at C. |
|||
| #267 | duplicate | JavaScript Error | ||
| Description |
after build I ran pyrogenesis_dbg and I got: TIMER| InitVfs: 1.78191 ms TIMER| InitScripting: 14.0081 ms TIMER| CONFIG_Init: 22.1368 ms TIMER| write_sys_info: 33.9102 ms TIMER| ps_console: 12.847 ms TIMER| ps_lang_hotkeys: 31.845 ms TIMER| ps_gui_init: 74.47 us TIMER| ps_gui_setup_xml: 6.78038 ms TIMER| ps_gui_styles_xml: 25.172 ms TIMER| ps_gui_sprite1_xml: 298.166 ms (current document)(0): malformed UTF-8 character sequence at offset 25199 ERROR: JavaScript Error ((current document), line 0): malformed UTF-8 character sequence at offset 25199 terminate called after throwing an instance of 'PSERROR_Scripting_LoadFile_EvalErrors'
zsh: abort ./pyrogenesis_dbg |
|||
| #268 | fixed | OpenAL string specifications are identified incorrectly | ||
| Description |
from lib/external_libraries/openal.h, line 34: // ALC strings (e.g. device and extension names) are typed differently // between platforms *sigh* #if OS_MACOSX typedef ALCubyte* alcString; #else typedef ALCchar* alcString; #endif This is incorrect, and creates compilation errors. It is not platform dependent - using ALCubyte was changed to using ALCchar in the 1.1 spec of OpenAL. It should be identified through AL_VERSION_1_1 (Unless you can think of a better way, it's not 100% accurate) A fix is attached. |
|||
| #269 | fixed | Compile warnings: printf formats, unsigned/signed comparisons, etc | ||
| Description |
Basically this: NetClient.cpp ../../../source/network/NetClient.cpp: In static member function 'static bool CNetClient::OnError(void*, CFsmEvent*)': ../../../source/network/NetClient.cpp:253: warning: comparison between signed and unsigned integer expressions ../../../source/network/NetClient.cpp: In static member function 'static bool CNetClient::OnAuthenticate(void*, CFsmEvent*)': ../../../source/network/NetClient.cpp:367: warning: comparison between signed and unsigned integer expressions NetServer.cpp ../../../source/network/NetServer.cpp: In static member function 'static bool CNetServer::OnError(void*, CFsmEvent*)': ../../../source/network/NetServer.cpp:395: warning: comparison between signed and unsigned integer expressions Util.cpp ../../../source/ps/Util.cpp: In function 'void WriteSystemInfo()': ../../../source/ps/Util.cpp:96: warning: format '%d' expects type 'int', but argument 5 has type 'size_t' ../../../source/ps/Util.cpp:96: warning: format '%d' expects type 'int', but argument 6 has type 'size_t' ../../../source/ps/Util.cpp:96: warning: format '%d' expects type 'int', but argument 7 has type 'size_t' ../../../source/ps/Util.cpp:109: warning: format '%u' expects type 'unsigned int', but argument 3 has type 'size_t' ../../../source/ps/Util.cpp:109: warning: format '%u' expects type 'unsigned int', but argument 4 has type 'size_t' CLogger.cpp ../../../source/ps/CLogger.cpp:171: warning: unused parameter 'category' ../../../source/ps/CLogger.cpp:188: warning: unused parameter 'category' Parser.cpp ../../../source/ps/Parser.cpp: In member function 'bool CParserLine::ParseString(const CParser&, const std::string&)': ../../../source/ps/Parser.cpp:557: warning: comparison between signed and unsigned integer expressions ../../../source/ps/Parser.cpp:605: warning: comparison between signed and unsigned integer expressions ../../../source/ps/Parser.cpp:657: warning: comparison between signed and unsigned integer expressions ../../../source/ps/Parser.cpp:793: warning: comparison between signed and unsigned integer expressions EntityManager.cpp ../../../source/simulation/EntityManager.cpp: In member function 'HEntity CEntityManager::Create(CEntityTemplate*, CVector3D, float, const std::set<CStr8, std::less<CStr8>, std::allocator<CStr8> >&, const CStrW*)': ../../../source/simulation/EntityManager.cpp:225: warning: comparison between signed and unsigned integer expressions ScriptGlue.cpp ../../../source/scripting/ScriptGlue.cpp: In function 'void InitJsTimers()': ../../../source/scripting/ScriptGlue.cpp:648: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' Terrain.cpp ../../../source/graphics/Terrain.cpp: In member function 'void CTerrain::Resize(ssize_t)': ../../../source/graphics/Terrain.cpp:368: warning: comparison between signed and unsigned integer expressions Renderer.cpp ../../../source/renderer/Renderer.cpp: In member function 'virtual CStr8 CRendererStatsTable::GetCellText(size_t, size_t)': ../../../source/renderer/Renderer.cpp:152: warning: format '%d' expects type 'int', but argument 4 has type 'long unsigned int' ../../../source/renderer/Renderer.cpp:152: warning: format '%d' expects type 'int', but argument 4 has type 'long unsigned int' ../../../source/renderer/Renderer.cpp:158: warning: format '%d' expects type 'int', but argument 4 has type 'long unsigned int' ../../../source/renderer/Renderer.cpp:158: warning: format '%d' expects type 'int', but argument 4 has type 'long unsigned int' ../../../source/renderer/Renderer.cpp:164: warning: format '%d' expects type 'int', but argument 4 has type 'long unsigned int' ../../../source/renderer/Renderer.cpp:164: warning: format '%d' expects type 'int', but argument 4 has type 'long unsigned int' ../../../source/renderer/Renderer.cpp:170: warning: format '%d' expects type 'int', but argument 4 has type 'long unsigned int' ../../../source/renderer/Renderer.cpp:170: warning: format '%d' expects type 'int', but argument 4 has type 'long unsigned int' ../../../source/renderer/Renderer.cpp:176: warning: format '%d' expects type 'int', but argument 4 has type 'long unsigned int' ../../../source/renderer/Renderer.cpp:176: warning: format '%d' expects type 'int', but argument 4 has type 'long unsigned int' WaterManager.cpp ../../../source/renderer/WaterManager.cpp: In member function 'int WaterManager::LoadWaterTextures()': ../../../source/renderer/WaterManager.cpp:114: warning: format '%02d' expects type 'int', but argument 5 has type 'size_t' ../../../source/renderer/WaterManager.cpp:114: warning: format '%02d' expects type 'int', but argument 5 has type 'size_t' ../../../source/renderer/WaterManager.cpp:131: warning: format '%02d' expects type 'int', but argument 5 has type 'size_t' ../../../source/renderer/WaterManager.cpp:131: warning: format '%02d' expects type 'int', but argument 5 has type 'size_t' MessagePasserImpl.cpp ../../../source/tools/atlas/GameInterface/MessagePasserImpl.cpp: In constructor 'MessagePasserImpl::MessagePasserImpl()': ../../../source/tools/atlas/GameInterface/MessagePasserImpl.cpp:37: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' ldbg.cpp ../../../source/lib/sysdep/os/linux/ldbg.cpp: In function 'void* debug_GetCaller(void*, const char*)': ../../../source/lib/sysdep/os/linux/ldbg.cpp:87: warning: unused variable 'bt_size' ../../../source/lib/sysdep/os/linux/ldbg.cpp: In function 'LibError debug_resolve_symbol_dladdr(void*, char*, char*, int*)': ../../../source/lib/sysdep/os/linux/ldbg.cpp:303: warning: format '%08x' expects type 'unsigned int', but argument 4 has type 'size_t' ../../../source/lib/sysdep/os/linux/ldbg.cpp:303: warning: format '%08x' expects type 'unsigned int', but argument 4 has type 'size_t' item.cpp ../../../source/tools/atlas/wxJS/gui/control/item.cpp: In static member function 'static bool wxjs::gui::ControlItem::GetProperty(wxjs::Index*, JSContext*, JSObject*, int, jsval*)': ../../../source/tools/atlas/wxJS/gui/control/item.cpp:84: warning: comparison between signed and unsigned integer expressions ../../../source/tools/atlas/wxJS/gui/control/item.cpp: In static member function 'static bool wxjs::gui::ControlItem::SetProperty(wxjs::Index*, JSContext*, JSObject*, int, jsval*)': ../../../source/tools/atlas/wxJS/gui/control/item.cpp:108: warning: comparison between signed and unsigned integer expressions ../../../source/tools/atlas/wxJS/gui/control/item.cpp: In static member function 'static JSBool wxjs::gui::ControlItem::remove(JSContext*, JSObject*, uintN, jsval*, jsval*)': ../../../source/tools/atlas/wxJS/gui/control/item.cpp:145: warning: comparison between signed and unsigned integer expressions ../../../source/tools/atlas/wxJS/gui/control/item.cpp: In static member function 'static JSBool wxjs::gui::ControlItem::select(JSContext*, JSObject*, uintN, jsval*, jsval*)': ../../../source/tools/atlas/wxJS/gui/control/item.cpp:172: warning: comparison between signed and unsigned integer expressions radioboxit.cpp ../../../source/tools/atlas/wxJS/gui/control/radioboxit.cpp: In static member function 'static bool wxjs::gui::RadioBoxItem::GetProperty(wxjs::Index*, JSContext*, JSObject*, int, jsval*)': ../../../source/tools/atlas/wxJS/gui/control/radioboxit.cpp:68: warning: comparison between signed and unsigned integer expressions ../../../source/tools/atlas/wxJS/gui/control/radioboxit.cpp:79: warning: comparison between signed and unsigned integer expressions ../../../source/tools/atlas/wxJS/gui/control/radioboxit.cpp: In static member function 'static bool wxjs::gui::RadioBoxItem::SetProperty(wxjs::Index*, JSContext*, JSObject*, int, jsval*)': ../../../source/tools/atlas/wxJS/gui/control/radioboxit.cpp:109: warning: comparison between signed and unsigned integer expressions rect.cpp ../../../source/tools/atlas/wxJS/gui/misc/rect.cpp: In static member function 'static JSBool wxjs::gui::Rect::inside(JSContext*, JSObject*, uintN, jsval*, jsval*)': ../../../source/tools/atlas/wxJS/gui/misc/rect.cpp:464: warning: 'bool wxRect::Inside(int, int) const' is deprecated (declared at /usr/include/wx-2.8/wx/gdicmn.h:490) ../../../source/tools/atlas/wxJS/gui/misc/rect.cpp:477: warning: 'bool wxRect::Inside(const wxPoint&) const' is deprecated (declared at /usr/include/wx-2.8/wx/gdicmn.h:491) sizer.cpp ../../../source/tools/atlas/wxJS/gui/misc/sizer.cpp: In static member function 'static JSBool wxjs::gui::Sizer::remove(JSContext*, JSObject*, uintN, jsval*, jsval*)': ../../../source/tools/atlas/wxJS/gui/misc/sizer.cpp:534: warning: 'virtual bool wxSizer::Remove(wxWindow*)' is deprecated (declared at /usr/include/wx-2.8/wx/sizer.h:513) textline.cpp ../../../source/tools/atlas/wxJS/io/textline.cpp: In static member function 'static bool wxjs::io::TextLine::GetProperty(wxjs::Index*, JSContext*, JSObject*, int, jsval*)': ../../../source/tools/atlas/wxJS/io/textline.cpp:102: warning: comparison between signed and unsigned integer expressions ../../../source/tools/atlas/wxJS/io/textline.cpp: In static member function 'static bool wxjs::io::TextLine::SetProperty(wxjs::Index*, JSContext*, JSObject*, int, jsval*)': ../../../source/tools/atlas/wxJS/io/textline.cpp:134: warning: comparison between signed and unsigned integer expressions ../../../source/tools/atlas/wxJS/io/textline.cpp: In static member function 'static bool wxjs::io::TextLine::Enumerate(wxjs::Index*, JSContext*, JSObject*, JSIterateOp, jsval*, jsid*)': ../../../source/tools/atlas/wxJS/io/textline.cpp:186: warning: comparison between signed and unsigned integer expressions DLLInterface.cpp In file included from /usr/include/libxml2/libxml/parser.h:15, from ../../../source/tools/atlas/AtlasUI/Misc/DLLInterface.cpp:42: /usr/include/libxml2/libxml/xmlversion.h:429:1: warning: "ATTRIBUTE_PRINTF" redefined In file included from /usr/include/wx-2.8/wx/wxprec.h:13, from ../../../source/tools/atlas/AtlasUI/Misc/precompiled.h:43, from ../../../source/tools/atlas/AtlasUI/Misc/precompiled.cpp:18: /usr/include/wx-2.8/wx/defs.h:501:1: warning: this is the location of the previous definition Trigger.cpp ../../../source/tools/atlas/AtlasUI/ScenarioEditor/Sections/Trigger/Trigger.cpp:1049: warning: unused parameter 'label' DLL.cpp ../../../source/collada/DLL.cpp: In member function 'virtual void BufferedOutputCallback::operator()(const char*, unsigned int)': ../../../source/collada/DLL.cpp:78: warning: comparison between signed and unsigned integer expressions ../../../source/collada/DLL.cpp:84: warning: comparison between signed and unsigned integer expressions test_byte_order.cpp In file included from ../../../source/lib/self_test.h:190, from ../../../source/pch/test/precompiled.h:24, from ../../../source/pch/test/precompiled.cpp:25: ../../../libraries/cxxtest/include/cxxtest/TestSuite.h: In function 'bool CxxTest::equals(X, Y) [with X = long int, Y = long long unsigned int]': ../../../libraries/cxxtest/include/cxxtest/TestSuite.h:56: instantiated from 'void CxxTest::doAssertEquals(const char*, unsigned int, const char*, X, const char*, Y, const char*) [with X = long int, Y = long long unsigned int]' ../../../source/lib/tests/../../../source/lib/tests/test_byte_order.h:83: instantiated from here ../../../libraries/cxxtest/include/cxxtest/TestSuite.h:47: warning: comparison between signed and unsigned integer expressions test_allocators.cpp In file included from ../../../source/lib/self_test.h:190, from ../../../source/pch/test/precompiled.h:24, from ../../../source/pch/test/precompiled.cpp:25: ../../../libraries/cxxtest/include/cxxtest/TestSuite.h: In function 'bool CxxTest::equals(X, Y) [with X = unsigned int, Y = int]': ../../../libraries/cxxtest/include/cxxtest/TestSuite.h:56: instantiated from 'void CxxTest::doAssertEquals(const char*, unsigned int, const char*, X, const char*, Y, const char*) [with X = unsigned int, Y = int]' ../../../source/pch/test/../../../source/lib/allocators/tests/test_allocators.h:42: instantiated from here ../../../libraries/cxxtest/include/cxxtest/TestSuite.h:47: warning: comparison between signed and unsigned integer expressions |
|||
| #270 | fixed | Crash rendering water shaders when GL_ARB_shader_objects not supported | ||
| Description |
Game crashed on startup. I have a pretty crappy graphics card - Mobile Intel 945 Express Chipset Family - so that might be the cause. |
|||
| #271 | duplicate | Build and units management | ||
| Description |
-Players can build and walk in water.
-If building a farm outside of mill/other gather structure range, it cannot be harvested, but even if you build a mill there after the farm has been built it still cant be harvested |
|||
| #272 | fixed | Citizens should auto-gather from Fields after finishing construction. | ||
| Description |
-Fixing so that when Villager/builder woman has built a farm they will automatically start farming on it, like when a villager has finished chopping a tree they move to the next possible one. |
|||
| #273 | fixed | Atlas not working under Vista or Windows 7 beta. (tested both) | ||
| Description |
-It only show a blue screen where the map is supposed to be. |
|||
| #274 | invalid | Stone/mineral/tree models | ||
| Description |
-Make different amount of resources on these nodes like. -Larger tree/stone/mineral -> more resources to harvest -Smaller tree/stone/mineral -> less resource to harvest |
|||
| #275 | wontfix | Stamina values do not seem to translate correctly from entity to actual gameplay | ||
| Description |
The <stamina> tag in a unit's entity does not seem to effect the unit's actual stamina in-game, no matter what value I give it as <max>. I can give a unit 100 stamina or 10000 stamina and the unit will still run the same distance in-game. This is incorrect. A unit should run further the higher his Max Stamina. |
|||
| #276 | fixed | Renderer Enhancement: Distance Fog | ||
| Description |
Would like the renderer to have distance fog implemented and able to be enabled on a map through the Atlas map editor. Some variables would include:
This would be a good way to visually mask the fact that we don't have other whiz-bang graphical features like normal maps and suchness. |
|||
| #277 | fixed | [PATCH]Unit selections | ||
| Description |
-When dragging the selection box over screen, only select military units if there are any, if not, then make it only choose villagers, and only let 1 building get selected at once instead of(lets say) 10, currently if you drag you get villagers,buildings and military units in one selection |
|||
| #278 | fixed | Queuing unit production should be made faster | ||
| Description |
-The way it is now, you have to wait a certain time before you can click the create "any unit here" or else it doesnt stack the order, making it painfully slow when a player have to build 1+ unit, it should register per click and not have what seems to be a wait function between each possible click. -0.5 sec to 1 sec before able to queue another unit into production queue everytime is very slow. |
|||
| #279 | fixed | vfs_Lookup does mkdir incorrectly | ||
| Description |
On Linux: Delete binaries/data/cache. Run the game. Get an error: /usr/include/boost/shared_ptr.hpp:375: T* boost::shared_ptr<T>::operator->() const [with T = RealDirectory]: Assertion `px != 0' failed. vfs_lookup.cpp attempts to create the directory with mkdir. Two problems:
First: It appears to call
Second: If |
|||
| #280 | duplicate | Hi-res timer errors on startup and game not playable | ||
| Description |
After compiling the project with VC++2008 on Win XP Pro SP3, I get the following error on startup (pyrogenesis_dbg.exe) : Assertion failed: "resolution <= 2e-3" Location: whrt.cpp:114 (InitCounter) Call stack: InitCounter (whrt.cpp:100) errno = 0 (?) OS error = 0 (no error code was set) I can click continue and launch the game after several other error messages : Assertion failed: "resolution > 0.0"
Location: frequency_filter.cpp:36 (FrequencyEstimator::FrequencyEstimator)
Call stack:
ILT+150745(??0FrequencyEstimatorQAENZ) (:0)
ILT+25630(??0FrequencyFilterQAENNZ) (:0)
ILT+134050(?CreateFrequencyFilterYA?AV?$shared_ptrUIFrequencyFilterboostNNZ) (:0)
RunGameOrAtlas (main.cpp:379)
argc = 1 (0x00000001)
argv = 0x01D460D8 -> 0x01D460E0 -> "C:\0ad\binaries\system\pyrogenesis_dbg.exe"
ran_atlas = false
args =
m_Args = (error -100500 while analyzing vector<pair<CStr8,CStr8> >)
m_Arg0 = { (error -100500 while analyzing string >) }
res = 1.6976e-314 (0x00000000CCCCCCCC)
ILT+159840(_main) (:0)
__tmainCRTStartup (crtexe.c:410)
mainCRTStartup (crtexe.c:393)
CallStartupWithinTryBlock (wseh.cpp:350)
ret = 1245060 (0x0012FF84)
errno = 0 (?)
OS error = 0 (no error code was set)
Function call failed: return value was -110100 (Unknown error (-110100, 0xFFFE51EC)) Location: vfs.cpp:111 (VFS::LoadFile) Call stack: (error while dumping stack: No stack frames found) errno = 0 (?) OS error = 0 (no error code was set) Assertion failed: "TimeSinceLastFrame > 0.0f"
Location: main.cpp:201 (Frame)
Call stack:
Frame (main.cpp:182)
need_update = false
time = 4.79453e-199 (0x16C25990CCCCCCCC)
TimeSinceLastFrame = 0.000000 (0x0000002F)
need_render = false
is_building_archive = true
RunGameOrAtlas (main.cpp:379)
argc = 1 (0x00000001)
argv = 0x01D460D8 -> 0x01D460E0 -> "C:\0ad\binaries\system\pyrogenesis_dbg.exe"
ran_atlas = false
args =
m_Args = (error -100500 while analyzing vector<pair<CStr8,CStr8> >)
m_Arg0 = { (error -100500 while analyzing string >) }
res = 1.6976e-314 (0x00000000CCCCCCCC)
ILT+159840(_main) (:0)
__tmainCRTStartup (crtexe.c:410)
mainCRTStartup (crtexe.c:393)
CallStartupWithinTryBlock (wseh.cpp:350)
ret = 1245060 (0x0012FF84)
errno = 0 (?)
Note that I need to "Supress" this last error message to have access to the game menu. Then I start a new "Single Player" game and it launches the game without problem ... unless I cannot move ! What I can do is :
But right-clicking on a tree when an unit is selected doesn't send it to the tree (the cursor turns to wood, but the unit doesn't move). I guess this is related to this bug : http://trac.wildfiregames.com/ticket/253 |
|||
| #281 | fixed | Build error in AtlasUI | ||
| Description |
Hello, I try to compile wildfire on ubuntu jaunty following your build instructions. Now there is an error while compiling the AtlasUI. The output is: ==== Building AtlasUI ==== precompiled.cpp ActorEditor.cpp AnimListEditor.cpp ActorEditorListCtrl.cpp PropListEditor.cpp ActorViewer.cpp ColourTesterFileCtrl.cpp ColourTester.cpp ColourTesterColourCtrl.cpp ColourTesterImageCtrl.cpp ActionButton.cpp ToolButton.cpp Canvas.cpp ColourDialog.cpp DraggableListCtrl.cpp DraggableListCtrlCommands.cpp ListCtrlValidator.cpp QuickComboBox.cpp QuickTextCtrl.cpp EditableListCtrl.cpp FieldEditCtrl.cpp QuickFileCtrl.cpp EditableListCtrlCommands.cpp FileHistory.cpp HighResTimer.cpp SnapSplitterWindow.cpp virtualdirtreectrl.cpp AtlasWindow.cpp AtlasDialog.cpp ErrorReporter.cpp Observable.cpp AtlasClipboard.cpp AtlasEventLoop.cpp Datafile.cpp AtlasWindowCommand.cpp AtlasWindowCommandProc.cpp FFmpeg.cpp VideoRecorder.cpp DLLInterface.cpp SectionLayout.cpp ScenarioEditor.cpp Sidebar.cpp Cinematic.cpp LightControl.cpp Environment.cpp Terrain.cpp Trigger.cpp ../../../source/tools/atlas/AtlasUI/ScenarioEditor/Sections/Trigger/Trigger.cpp:1050: warning: unused parameter 'label' ScriptedTool.cpp AlterElevation.cpp PlaceObject.cpp FlattenElevation.cpp PaintTerrain.cpp TransformObject.cpp ObjectSettings.cpp MiscState.cpp Brushes.cpp Tools.cpp Linking AtlasUI obj/AtlasUI_Debug/ColourTesterColourCtrl.o: In function `CustomColourButton::OnButton(wxCommandEvent&)': ColourTesterColourCtrl.cpp:(.text._ZN18CustomColourButton8OnButtonER14wxCommandEvent[CustomColourButton::OnButton(wxCommandEvent&)]+0x92): undefined reference to `wxColour::IsOk() const' obj/AtlasUI_Debug/FieldEditCtrl.o: In function `wxColour::Ok() const': /usr/include/wx-2.8/wx/gtk/colour.h:30: undefined reference to `wxColour::IsOk() const' /usr/bin/ld: ../../../binaries/system/libAtlasUI_dbg.so: hidden symbol `wxColour::IsOk() const' isn't defined /usr/bin/ld: final link failed: Nonrepresentable section on output collect2: ld returned 1 exit status make[2]: *** [../../../binaries/system/libAtlasUI_dbg.so] Error 1 make[1]: *** [AtlasUI] Error 2 make[1]: Leaving directory `/build/korn-wildfire_0svn7029-1~getdeb1-amd64-L8XWbo/wildfire-0svn7029-1~getdeb1/build/workspaces/gcc' make: *** [build-stamp] Error 2 dpkg-buildpackage: failure: debian/rules build gave error exit status 2 |
|||
| #282 | fixed | Infinite recursion when crashlog.txt can't be written | ||
| Description |
In debug.cpp, See http://ruby.pastebin.com/m53d88e4a for an example of this. |
|||
| #283 | fixed | Duplicate LibError codes 110200, 110201 | ||
| Description |
const LibError PATH_ROOT_DIR_ALREADY_SET = -110200;
const LibError PATH_NOT_IN_ROOT_DIR = -110201;
const LibError FILE_ACCESS = -110200;
const LibError IO = -110201;
Confusion ensues. |
|||
| #284 | fixed | crash on vista | ||
| Description |
I use a laptop with vista OS to open the pyrogenesis.exe, then it crash. |
|||
| #285 | fixed | Crash when loading single player game | ||
| Description |
Much to our regret we must report the program has encountered an error. Details: unhandled exception (Access violation writing 0x00000000) Location: unknown:0 (?) Call stack: (error while dumping stack: No stack frames found) errno = 0 (?) OS error = Accesso a posizione di memoria non valido. |
|||
| #286 | invalid | Modeling and Mapping Greek (Hellenic) Buildings v2.0 | ||
| Description |
Greek Buildings v2.0
Difficulty: High | Medium | Low Estimated Completion Time: 10 Weeks This task is for modeling and mapping version 2.0 of the Greek buildings/structures. The structure list is below, divided by type: Note: Polygon counts do not include props (like jars, baskets, crates, etc.), which can cost extra. Try to make these numbers your upper limit for the structure. Optimize optimize optimize. Civic
Defense
Econ
Military
Special [these buildings are unique to the Greeks only]
The relevant texture files can be found within the game's directory structure. The files are: binaries\data\mods\public\art\textures\skins\structural\hele_struct.dds binaries\data\mods\public\art\textures\skins\structural\hele_roof_round.dds binaries\data\mods\public\art\textures\skins\props\hele_props_a.dds binaries\data\mods\public\art\textures\skins\props\hele_tile_c.dds |
|||
| #287 | fixed | dock placement | ||
| Description |
when placing a dock if location is invalid you get this error gui/test/functions_sim_entity.js(254): Index out of bounds. ERROR: JavaScript Error (gui/test/functions_sim_entity.js, line 254): Index out of bounds. gui/test/functions_sim_entity.js(254): Invalid parameter(s) or count ERROR: JavaScript Error (gui/test/functions_sim_entity.js, line 254): Invalid parameter(s) or count but are still allowed to build dock even if its underwater also it changes the land around build location and the land doesnt fix its self if you delete the building |
|||
| #288 | fixed | libCollada not found by game when executed outside system directory | ||
| Description |
On Linux, if the game is run from outside the 'system' directory, it can't find ./libCollada_dbg.so and dies. It should probably look in the game executable's path to find the library (perhaps using sys_get_executable_name). |
|||
| #289 | invalid | Modeling and Texturing Game Fauna (Animals) | ||
| Description |
FAUNA
Difficulty: High | Medium | Low Estimated Completion Time: 11 Weeks Need Meshes and Textures for the following animals: MT027 - FaunaDragonVar3 MT029 - FaunaCow MT030 - FaunaCrocodile MT033 - FaunaPig* (needs remodeled and rigged) MT034 - FaunaPheasant MT035 - FaunaSheep MT036 - FaunaWaterBuffalo MT037 - FaunaWildebeest MT038 - FaunaSeal MT039 - FaunaCamel MT040 - FaunaReindeer MT041 - FaunaPolarBear MT043 - FaunaPorpoise (or dolphin) MT044 - FaunaAlbatross MT045 - FaunaEgret MT046 - FaunaGoose MT047 - FaunaVulture MT048 - FaunaSeagull Requested additional animals. These would be done after you've completed the "official" list above if you have the time or gumption: MT071 - FaunaFlamingo MT072 - FaunaGiraffe MT073 - FaunaZebra MT074 - FaunaHyena Some relevant texture files can be found within the game's directory structure. The files are: binaries\data\mods\public\art\textures\skins\skeletal\ binaries\data\mods\internal\art\textures\skins\skeletal\ |
|||
| #291 | fixed | Many compiling errors | ||
| Description |
This is the result I got from following the instructions on the wiki om my Ubuntu 8.10 laptop oldrocker99@oldrocker99-laptop:~/games/stargus-0.2/trunk/build/workspaces$ cd gcc oldrocker99@oldrocker99-laptop:~/games/stargus-0.2/trunk/build/workspaces/gcc$ make -j2 Building networkBuilding engineprecompiled.cpp NetClient.cpp In file included from ../../../source/pch/engine/precompiled.h:30,
../../../source/scripting/SpiderMonkey.h:45:22: error: js/jsapi.h: No such file or directory ../../../source/scripting/SpiderMonkey.h:49:26: error: js/jsdbgapi.h: No such file or directory In file included from ../../../source/scripting/ScriptingHost.h:42,
../../../source/scripting/SpiderMonkey.h:45:22: error: js/jsapi.h: No such file or directory ../../../source/scripting/SpiderMonkey.h:49:26: error: js/jsdbgapi.h: No such file or directory In file included from ../../../source/scripting/SpiderMonkey.h:54,
../../../source/scripting/JSUtil.h:20: error: ‘jsval’ does not name a type In file included from ../../../source/scripting/JSConversions.h:23,
../../../source/scripting/ScriptingHost.h:72: error: ISO C++ forbids declaration of ‘JSObject’ with no type ../../../source/scripting/ScriptingHost.h:72: error: expected ‘;’ before ‘*’ token ../../../source/scripting/ScriptingHost.h:73: error: ISO C++ forbids declaration of ‘JSClass’ with no type ../../../source/scripting/ScriptingHost.h:73: error: expected ‘;’ before ‘*’ token ../../../source/scripting/ScriptingHost.h:79: error: ISO C++ forbids declaration of ‘JSRuntime’ with no type ../../../source/scripting/ScriptingHost.h:79: error: expected ‘;’ before ‘*’ token ../../../source/scripting/ScriptingHost.h:80: error: ISO C++ forbids declaration of ‘JSContext’ with no type ../../../source/scripting/ScriptingHost.h:80: error: expected ‘;’ before ‘*’ token ../../../source/scripting/ScriptingHost.h:81: error: ISO C++ forbids declaration of ‘JSObject’ with no type ../../../source/scripting/ScriptingHost.h:81: error: expected ‘;’ before ‘*’ token ../../../source/scripting/ScriptingHost.h:83: error: ‘JSErrorReport’ does not name a type ../../../source/scripting/ScriptingHost.h:89: error: expected ‘;’ before ‘(’ token ../../../source/scripting/ScriptingHost.h:91: error: expected ‘;’ before ‘(’ token ../../../source/scripting/ScriptingHost.h:103: error: ISO C++ forbids declaration of ‘JSContext’ with no type ../../../source/scripting/ScriptingHost.h:103: error: ‘JSContext’ declared as an ‘inline’ field ../../../source/scripting/ScriptingHost.h:103: error: expected ‘;’ before ‘*’ token ../../../source/scripting/ScriptingHost.h:104: error: expected `;' before ‘inline’ ../../../source/scripting/ScriptingHost.h:104: error: ISO C++ forbids declaration of ‘JSContext’ with no type ../../../source/scripting/ScriptingHost.h:104: error: ‘JSContext’ declared as an ‘inline’ field ../../../source/scripting/ScriptingHost.h:104: error: expected ‘;’ before ‘*’ token ../../../source/scripting/ScriptingHost.h:105: error: expected `;' before ‘inline’ ../../../source/scripting/ScriptingHost.h:105: error: ISO C++ forbids declaration of ‘JSObject’ with no type ../../../source/scripting/ScriptingHost.h:105: error: ‘JSObject’ declared as an ‘inline’ field ../../../source/scripting/ScriptingHost.h:105: error: expected ‘;’ before ‘*’ token ../../../source/scripting/ScriptingHost.h:107: error: expected `;' before ‘void’ ../../../source/scripting/ScriptingHost.h:107: error: ‘JSObject’ has not been declared ../../../source/scripting/ScriptingHost.h:108: error: ‘JSObject’ has not been declared ../../../source/scripting/ScriptingHost.h:111: error: ‘jsval’ does not name a type ../../../source/scripting/ScriptingHost.h:113: error: ‘jsval’ does not name a type ../../../source/scripting/ScriptingHost.h:115: error: ‘JSNative’ has not been declared ../../../source/scripting/ScriptingHost.h:120: error: ‘JSClass’ has not been declared ../../../source/scripting/ScriptingHost.h:120: error: ‘JSNative’ has not been declared ../../../source/scripting/ScriptingHost.h:120: error: ‘uintN’ has not been declared ../../../source/scripting/ScriptingHost.h:120: error: ‘JSPropertySpec’ has not been declared ../../../source/scripting/ScriptingHost.h:120: error: ‘JSFunctionSpec’ has not been declared ../../../source/scripting/ScriptingHost.h:120: error: ‘JSPropertySpec’ has not been declared ../../../source/scripting/ScriptingHost.h:120: error: ‘JSFunctionSpec’ has not been declared ../../../source/scripting/ScriptingHost.h:122: error: ISO C++ forbids declaration of ‘JSObject’ with no type ../../../source/scripting/ScriptingHost.h:122: error: expected ‘;’ before ‘*’ token ../../../source/scripting/ScriptingHost.h:124: error: ‘JSObject’ has not been declared ../../../source/scripting/ScriptingHost.h:124: error: ‘jsval’ has not been declared ../../../source/scripting/ScriptingHost.h:125: error: ‘jsval’ does not name a type ../../../source/scripting/ScriptingHost.h:127: error: ‘JSObject’ has not been declared ../../../source/scripting/ScriptingHost.h:128: error: ‘JSObject’ has not been declared ../../../source/scripting/ScriptingHost.h:130: error: ‘jsval’ has not been declared ../../../source/scripting/ScriptingHost.h:131: error: ‘jsval’ does not name a type ../../../source/scripting/ScriptingHost.h:133: error: expected ‘,’ or ‘...’ before ‘value’ ../../../source/scripting/ScriptingHost.h:133: error: ISO C++ forbids declaration of ‘jsval’ with no type ../../../source/scripting/ScriptingHost.h:134: error: expected ‘,’ or ‘...’ before ‘value’ ../../../source/scripting/ScriptingHost.h:134: error: ISO C++ forbids declaration of ‘jsval’ with no type ../../../source/scripting/ScriptingHost.h:135: error: expected ‘,’ or ‘...’ before ‘value’ ../../../source/scripting/ScriptingHost.h:135: error: ISO C++ forbids declaration of ‘jsval’ with no type ../../../source/scripting/ScriptingHost.h:136: error: expected ‘,’ or ‘...’ before ‘value’ ../../../source/scripting/ScriptingHost.h:136: error: ISO C++ forbids declaration of ‘jsval’ with no type ../../../source/scripting/ScriptingHost.h:137: error: expected ‘,’ or ‘...’ before ‘value’ ../../../source/scripting/ScriptingHost.h:137: error: ISO C++ forbids declaration of ‘jsval’ with no type ../../../source/scripting/ScriptingHost.h:138: error: expected ‘,’ or ‘...’ before ‘value’ ../../../source/scripting/ScriptingHost.h:138: error: ISO C++ forbids declaration of ‘jsval’ with no type ../../../source/scripting/ScriptingHost.h:140: error: ‘jsval’ does not name a type ../../../source/scripting/ScriptingHost.h:141: error: ‘jsval’ does not name a type ../../../source/scripting/ScriptingHost.h:143: error: ‘JSContext’ has not been declared ../../../source/scripting/ScriptingHost.h:143: error: ‘JSErrorReport’ has not been declared In file included from ../../../source/scripting/JSSerialization.h:23,
../../../source/scripting/JSConversions.h:40: error: template declaration of ‘T* ToNative’ ../../../source/scripting/JSConversions.h:40: error: ‘JSContext’ was not declared in this scope ../../../source/scripting/JSConversions.h:40: error: ‘cx’ was not declared in this scope ../../../source/scripting/JSConversions.h:40: error: ‘JSObject’ was not declared in this scope ../../../source/scripting/JSConversions.h:40: error: ‘obj’ was not declared in this scope ../../../source/scripting/JSConversions.h:45: error: expected constructor, destructor, or type conversion before ‘*’ token ../../../source/scripting/JSConversions.h:52: error: template declaration of ‘T* ToNative’ ../../../source/scripting/JSConversions.h:52: error: ‘jsval’ was not declared in this scope ../../../source/scripting/JSConversions.h:59: error: template declaration of ‘bool ToPrimitive’ ../../../source/scripting/JSConversions.h:59: error: ‘JSContext’ was not declared in this scope ../../../source/scripting/JSConversions.h:59: error: expected primary-expression before ‘,’ token ../../../source/scripting/JSConversions.h:59: error: ‘jsval’ was not declared in this scope ../../../source/scripting/JSConversions.h:59: error: expected primary-expression before ‘&’ token ../../../source/scripting/JSConversions.h:59: error: ‘Storage’ was not declared in this scope ../../../source/scripting/JSConversions.h:68: error: template declaration of ‘bool ToPrimitive’ ../../../source/scripting/JSConversions.h:68: error: ‘JSContext’ was not declared in this scope ../../../source/scripting/JSConversions.h:68: error: expected primary-expression before ‘,’ token ../../../source/scripting/JSConversions.h:68: error: ‘jsval’ was not declared in this scope ../../../source/scripting/JSConversions.h:68: error: expected primary-expression before ‘*’ token ../../../source/scripting/JSConversions.h:68: error: ‘Storage’ was not declared in this scope ../../../source/scripting/JSConversions.h:77: error: ‘ToPrimitive’ declared as an ‘inline’ variable ../../../source/scripting/JSConversions.h:77: error: template declaration of ‘T ToPrimitive’ ../../../source/scripting/JSConversions.h:77: error: ‘JSContext’ was not declared in this scope ../../../source/scripting/JSConversions.h:77: error: ‘cx’ was not declared in this scope ../../../source/scripting/JSConversions.h:77: error: ‘jsval’ was not declared in this scope ../../../source/scripting/JSConversions.h:86: error: ‘ToPrimitive’ declared as an ‘inline’ variable ../../../source/scripting/JSConversions.h:86: error: template declaration of ‘T ToPrimitive’ ../../../source/scripting/JSConversions.h:86: error: ‘jsval’ was not declared in this scope ../../../source/scripting/JSConversions.h:91: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:96: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:101: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:110: error: expected initializer before ‘<’ token ../../../source/scripting/JSConversions.h:111: error: expected constructor, destructor, or type conversion before ‘*’ token ../../../source/scripting/JSConversions.h:112: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:115: error: expected initializer before ‘<’ token ../../../source/scripting/JSConversions.h:116: error: expected constructor, destructor, or type conversion before ‘*’ token ../../../source/scripting/JSConversions.h:119: error: expected initializer before ‘<’ token ../../../source/scripting/JSConversions.h:120: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:123: error: expected initializer before ‘<’ token ../../../source/scripting/JSConversions.h:124: error: expected constructor, destructor, or type conversion before ‘*’ token ../../../source/scripting/JSConversions.h:127: error: expected initializer before ‘<’ token ../../../source/scripting/JSConversions.h:128: error: expected constructor, destructor, or type conversion before ‘*’ token ../../../source/scripting/JSConversions.h:131: error: expected initializer before ‘<’ token ../../../source/scripting/JSConversions.h:132: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:135: error: expected initializer before ‘<’ token ../../../source/scripting/JSConversions.h:136: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:137: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:140: error: expected initializer before ‘<’ token ../../../source/scripting/JSConversions.h:141: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:142: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:145: error: expected initializer before ‘<’ token ../../../source/scripting/JSConversions.h:146: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:147: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:150: error: expected initializer before ‘<’ token ../../../source/scripting/JSConversions.h:151: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:152: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:173: error: expected initializer before ‘<’ token ../../../source/scripting/JSConversions.h:174: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:175: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:178: error: expected initializer before ‘<’ token ../../../source/scripting/JSConversions.h:179: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:180: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:183: error: expected initializer before ‘<’ token ../../../source/scripting/JSConversions.h:184: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:185: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:195: error: expected initializer before ‘<’ token ../../../source/scripting/JSConversions.h:196: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:197: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:200: error: expected initializer before ‘<’ token ../../../source/scripting/JSConversions.h:201: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:202: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:211: error: ‘jsval’ does not name a type ../../../source/scripting/JSConversions.h:212: error: expected `)' before ‘v’ ../../../source/scripting/JSConversions.h:214: error: expected constructor, destructor, or type conversion before ‘ToJSVal’ ../../../source/scripting/JSConversions.h:218: error: ‘jsval’ does not name a type In file included from ../../../source/network/NetMessages.h:31,
../../../source/scripting/JSSerialization.h:37: error: ‘jsval’ does not name a type ../../../source/scripting/JSSerialization.h:42: error: expected `)' before ‘data’ ../../../source/scripting/JSSerialization.h:56: error: expected type-specifier before ‘jsval’ ../../../source/scripting/JSSerialization.h: In member function ‘jsval_ser::operator CStr8() const’: ../../../source/scripting/JSSerialization.h:62: error: ‘ToPrimitive’ was not declared in this scope ../../../source/scripting/JSSerialization.h:62: error: expected primary-expression before ‘>’ token ../../../source/scripting/JSSerialization.h:62: error: ‘m_data’ was not declared in this scope ../../../source/scripting/JSSerialization.h: In member function ‘virtual size_t jsval_ser::GetSerializedLength() const’: ../../../source/scripting/JSSerialization.h:76: error: ‘ToPrimitive’ was not declared in this scope ../../../source/scripting/JSSerialization.h:76: error: expected primary-expression before ‘>’ token ../../../source/scripting/JSSerialization.h:76: error: ‘m_data’ was not declared in this scope ../../../source/scripting/JSSerialization.h: In member function ‘virtual uint8_t* jsval_ser::Serialize(uint8_t*) const’: ../../../source/scripting/JSSerialization.h:92: error: ‘m_data’ was not declared in this scope ../../../source/scripting/JSSerialization.h:92: error: ‘JSVAL_TO_INT’ was not declared in this scope ../../../source/scripting/JSSerialization.h:103: error: ‘m_data’ was not declared in this scope ../../../source/scripting/JSSerialization.h:103: error: ‘JSVAL_TO_DOUBLE’ was not declared in this scope ../../../source/scripting/JSSerialization.h:108: error: ‘ToPrimitive’ was not declared in this scope ../../../source/scripting/JSSerialization.h:108: error: expected primary-expression before ‘>’ token ../../../source/scripting/JSSerialization.h:108: error: ‘m_data’ was not declared in this scope ../../../source/scripting/JSSerialization.h: In member function ‘virtual const uint8_t* jsval_ser::Deserialize(const uint8_t*, const uint8_t*)’: ../../../source/scripting/JSSerialization.h:122: error: ‘m_data’ was not declared in this scope ../../../source/scripting/JSSerialization.h:122: error: ‘JSVAL_FALSE’ was not declared in this scope ../../../source/scripting/JSSerialization.h:125: error: ‘JSVAL_TRUE’ was not declared in this scope ../../../source/scripting/JSSerialization.h:131: error: ‘INT_TO_JSVAL’ was not declared in this scope ../../../source/scripting/JSSerialization.h:141: error: ‘uint32’ was not declared in this scope ../../../source/scripting/JSSerialization.h:141: error: expected `;' before ‘_v1’ ../../../source/scripting/JSSerialization.h:141: error: expected `;' before ‘_v2’ ../../../source/scripting/JSSerialization.h:141: error: ‘_v1’ was not declared in this scope ../../../source/scripting/JSSerialization.h:141: error: ‘_v1’ was not declared in this scope ../../../source/scripting/JSSerialization.h:141: error: ‘_v1’ was not declared in this scope ../../../source/scripting/JSSerialization.h:141: error: ‘_v1’ was not declared in this scope ../../../source/scripting/JSSerialization.h:141: error: ‘_v2’ was not declared in this scope ../../../source/scripting/JSSerialization.h:141: error: ‘_v2’ was not declared in this scope ../../../source/scripting/JSSerialization.h:141: error: ‘_v2’ was not declared in this scope ../../../source/scripting/JSSerialization.h:141: error: ‘_v2’ was not declared in this scope ../../../source/scripting/JSSerialization.h:141: error: ‘_v1’ was not declared in this scope ../../../source/scripting/JSSerialization.h:141: error: ‘_v2’ was not declared in this scope ../../../source/scripting/JSSerialization.h:142: error: ‘class ScriptingHost’ has no member named ‘GetContext’ ../../../source/scripting/JSSerialization.h:142: error: ‘JS_NewDoubleValue’ was not declared in this scope ../../../source/scripting/JSSerialization.h:149: error: ‘ToJSVal’ was not declared in this scope ../../../source/scripting/JSSerialization.h:149: error: expected primary-expression before ‘>’ token In file included from ../../../source/network/Network.h:68,
../../../source/network/NetMessage.h: At global scope: ../../../source/network/NetMessage.h:165: error: ‘JSContext’ has not been declared ../../../source/network/NetMessage.h:166: error: ‘uintN’ has not been declared ../../../source/network/NetMessage.h:167: error: ‘jsval’ has not been declared In file included from ../../../source/scripting/SynchedJSObject.h:54,
../../../source/scripting/ScriptableObject.h:37: error: ‘jsval’ does not name a type ../../../source/scripting/ScriptableObject.h:38: error: ‘JSContext’ has not been declared ../../../source/scripting/ScriptableObject.h:38: error: ‘jsval’ has not been declared ../../../source/scripting/ScriptableObject.h:47: error: expected identifier before ‘*’ token ../../../source/scripting/ScriptableObject.h:47: error: ‘JSContext’ has not been declared ../../../source/scripting/ScriptableObject.h:47: error: ISO C++ forbids declaration of ‘jsval’ with no type ../../../source/scripting/ScriptableObject.h:47: error: ‘jsval’ declared as function returning a function ../../../source/scripting/ScriptableObject.h:48: error: ‘JSContext’ has not been declared ../../../source/scripting/ScriptableObject.h:54: error: ‘JSContext’ has not been declared ../../../source/scripting/ScriptableObject.h:74: error: ‘jsval’ does not name a type ../../../source/scripting/ScriptableObject.h:78: error: ‘JSContext’ has not been declared ../../../source/scripting/ScriptableObject.h:78: error: ‘jsval’ has not been declared ../../../source/scripting/ScriptableObject.h:96: error: ‘jsval’ does not name a type ../../../source/scripting/ScriptableObject.h:100: error: ‘JSContext’ has not been declared ../../../source/scripting/ScriptableObject.h:100: error: ‘jsval’ has not been declared ../../../source/scripting/ScriptableObject.h:112: error: ‘GetFn’ in class ‘IJSObject’ does not name a type ../../../source/scripting/ScriptableObject.h:118: error: expected `)' before ‘Getter’ ../../../source/network/NetClient.cpp:699: error: expected `}' at end of input ../../../source/network/NetClient.cpp:699: error: expected unqualified-id at end of input make[1]: * [obj/network_Debug/NetClient.o] Error 1 make: * [network] Error 2 make: * Waiting for unfinished jobs.... In file included from ../../../source/scripting/SpiderMonkey.h:54,
../../../source/scripting/JSUtil.h:20: error: ‘jsval’ does not name a type make[1]: * [obj/engine_Debug/precompiled.h.gch] Error 1 make: * [engine] Error 2 I am not a coder, but I've compiled a number of programs successfully. If there's a simple thing I'm doing wrong, let me know. |
|||
| #292 | fixed | Handle model-loading failures gracefully | ||
| Description |
If a model fails to load (e.g. the Collada library wasn't compiled), the code currently prints an error message and returns null and then the game crashes a bit later. It should be handled better, e.g. not crashing and not rendering the unit, or (preferably) replacing the model with some kind of 'error' mesh so the problem is clearly visible. |
|||
| #293 | fixed | Lots of printf format string errors | ||
| Description |
From the annotations added in r7072: ../../../source/ps/Interact.cpp: In function ‘LibError LoadUnitUIThunk(const VfsPath&, const FileInfo&, uintptr_t)’: ../../../source/ps/Interact.cpp:985: warning: too many arguments for format ../../../source/ps/Filesystem.cpp: In member function ‘PSRETURN CVFSFile::Load(const VfsPath&)’: ../../../source/ps/Filesystem.cpp:60: warning: format ‘%d’ expects type ‘int’, but argument 6 has type ‘LibError’ ../../../source/ps/ConfigDB.cpp: In member function ‘bool CConfigDB::Reload(EConfigNamespace)’: ../../../source/ps/ConfigDB.cpp:287: warning: format ‘%lld’ expects type ‘long long int’, but argument 6 has type ‘LibError’ ../../../source/ps/XML/XMLWriter.cpp: In member function ‘bool XMLWriter_File::StoreVFS(const char*)’: ../../../source/ps/XML/XMLWriter.cpp:92: warning: format ‘%d’ expects type ‘int’, but argument 5 has type ‘LibError’ ../../../source/simulation/EntityTemplate.cpp: In member function ‘bool CEntityTemplate::LoadXml(const CStr8&)’: ../../../source/simulation/EntityTemplate.cpp:320: warning: use of ‘h’ length modifier with ‘s’ type character ../../../source/renderer/Renderer.cpp: In static member function ‘static CRenderer::RenderPath CRenderer::GetRenderPathByName(const CStr8&)’: ../../../source/renderer/Renderer.cpp:713: warning: use of ‘h’ length modifier with ‘s’ type character ../../../source/simulation/Technology.cpp: In member function ‘bool CTechnology::LoadElEffect(XMBElement, CXeromyces&, const CStr8&)’: ../../../source/simulation/Technology.cpp:300: warning: use of ‘h’ length modifier with ‘s’ type character ../../../source/gui/CGUI.cpp: In member function ‘void CGUI::LoadXmlFile(const std::string&)’: ../../../source/gui/CGUI.cpp:1111: warning: format ‘%s’ expects type ‘char*’, but argument 6 has type ‘PSRETURN’ ../../../source/gui/CGUI.cpp: In member function ‘void CGUI::Xeromyces_ReadObject(XMBElement, CXeromyces*, IGUIObject*)’: ../../../source/gui/CGUI.cpp:1398: warning: too few arguments for format ../../../source/lib/ogl.cpp: In function ‘void dump_gl_error(GLenum)’: ../../../source/lib/ogl.cpp:276: warning: format ‘%04f’ expects type ‘double’, but argument 2 has type ‘GLenum’ ../../../source/scripting/ScriptGlue.cpp: In function ‘JSBool GetBuildTimestamp(JSContext*, JSObject*, uintN, jsval*, jsval*)’: ../../../source/scripting/ScriptGlue.cpp:1070: warning: unknown conversion type character ‘w’ in format ../../../source/scripting/ScriptGlue.cpp:1070: warning: too many arguments for format ../../../source/scripting/ScriptGlue.cpp:1079: warning: unknown conversion type character ‘w’ in format ../../../source/scripting/ScriptGlue.cpp:1079: warning: too many arguments for format ../../../source/scripting/ScriptGlue.cpp: In function ‘JSBool GetTrigger(JSContext*, JSObject*, uintN, jsval*, jsval*)’: ../../../source/scripting/ScriptGlue.cpp:1381: warning: unknown conversion type character ‘w’ in format ../../../source/scripting/ScriptGlue.cpp:1381: warning: too many arguments for format ../../../source/lib/res/graphics/ogl_shader.cpp: In function ‘LibError Ogl_Shader_reload(Ogl_Shader*, const VfsPath&, Handle)’: ../../../source/lib/res/graphics/ogl_shader.cpp:157: warning: use of ‘h’ length modifier with ‘s’ type character ../../../source/lib/res/graphics/ogl_shader.cpp:173: warning: use of ‘h’ length modifier with ‘s’ type character ../../../source/lib/res/graphics/ogl_shader.cpp: In function ‘LibError do_load_shader(Ogl_Program*, const VfsPath&, Handle, const CXeromyces&, const XMBElement&)’: ../../../source/lib/res/graphics/ogl_shader.cpp:279: warning: use of ‘h’ length modifier with ‘s’ type character ../../../source/lib/res/graphics/ogl_shader.cpp:287: warning: use of ‘h’ length modifier with ‘s’ type character ../../../source/lib/res/graphics/ogl_shader.cpp:295: warning: use of ‘h’ length modifier with ‘s’ type character ../../../source/lib/res/graphics/ogl_shader.cpp: In function ‘LibError Ogl_Program_reload(Ogl_Program*, const VfsPath&, Handle)’: ../../../source/lib/res/graphics/ogl_shader.cpp:348: warning: use of ‘h’ length modifier with ‘s’ type character ../../../source/lib/res/graphics/ogl_shader.cpp:369: warning: use of ‘h’ length modifier with ‘s’ type character ../../../source/lib/res/graphics/ogl_shader.cpp:378: warning: use of ‘h’ length modifier with ‘s’ type character ../../../source/lib/res/graphics/ogl_shader.cpp:394: warning: use of ‘h’ length modifier with ‘s’ type character ../../../source/lib/res/graphics/ogl_shader.cpp:400: warning: use of ‘h’ length modifier with ‘s’ type character ../../../source/lib/sysdep/os/unix/x/x.cpp: In function ‘wchar_t* sys_clipboard_get()’: ../../../source/lib/sysdep/os/unix/x/x.cpp:173: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘long unsigned int’ ../../../source/lib/sysdep/os/unix/x/x.cpp:173: warning: format ‘%d’ expects type ‘int’, but argument 6 has type ‘long unsigned int’ ../../../source/lib/sysdep/os/unix/x/x.cpp:184: warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘Atom’ ../../../source/lib/sysdep/os/unix/x/x.cpp:184: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘Atom’ |
|||
| #294 | fixed | EMULATE_SECURE_CRT sprintf_s doesn't match spec | ||
| Description |
secure_crt.cpp emulates sprintf_s, vsprintf_s, swprintf_s, vswprintf_s using the snprintf functions. These have the wrong behaviour when the buffer is too short (based on MSDN's documentation), and ought to be made consistent. |
|||
| #295 | fixed | Picking units doesn't work as expected due to incorrect bounding box | ||
| Description |
Problem: 'picking' (selecting via cursor) units doesn't work as expected because the bounding box is calculated from the primary geometry of the entity and doesn't include props. Example: celt trader; clicking on either horse or rider should select the unit but currently doesn't. (Jason's brief explanation of actor and props:) The way most of our actors in the game works is... there is geometry and there are various 'nodes' that are throughout the model - they can be parented to a bone, or in the cases of most static meshes - parented to the 0,0,0 coordinate. These nodes have a name and in the actor xml file it says.. associate this prop point (node) to display this actor (then it points to another actor) Example: <prop actor="props/units/heads/rome_monte_a.xml" attachpoint="helmet"/> The prop actor also has a model; for example.. within that prop actor it defines: <mesh>props/helmet/rome_helmet_d.pmd</mesh> To solve this, I'd first recommend using Atlas to create an otherwise empty map with a celt trader to serve as a test. The picking/selection code itself is ok, what we need to do is change the bounding box to include props and then the selection will be as desired. "props" are in turn actors containing a CModel, which again can have props. In this case (trader) I think the rider is a prop. CModel has a CalcBounds which constructs bounds from all model vertices (possibly also looping over the animation). What we need to do is also recurse over m_Props and expand the parent's bounds to that of the child prop. these "bounds" (m_ObjectBounds) are CBound objects, which are expanded via operator+= (allowing both bounds or a vector as argument). suggestion for what to do: 1) make CalcObjectBounds and CalcAnimatedObjectBound take a parameter of the bounding box to calculate (or expand.. in that case, no longer do SetEmpty there) 2) CalcBounds (the master function that dispatches to one of the above impl functions) must be recursive, expanding the bounds for each prop's bound (m_Props[i].m_Model->ObjectBounds) |
|||
| #296 | fixed | Infinite Field | ||
| Description |
http://img30.imageshack.us/img30/2858/infintefield.jpg The amount of the field went to 588.9999 which made it infinite. It was just this one and the others around it was working fine.
|
|||
| #297 | fixed | alSourceUnqueueBuffers fails with "invalid value" | ||
| Description |
This has been reported on two Linux systems, both running OpenALsoft. To narrow down the cause, I added some printfs [source ID, is it a valid source name, #processed buffers]: ade7938 1 0 ade7938 1 0 ade7938 1 0 ade7938 1 0 ade7938 1 0 ade7938 1 0 ade7938 1 0 ade7938 1 0 ade7938 1 0 ade7938 1 0 adcede0 1 1 so the first time it's actually wanting to unqueue a buffer, OpenAL reports an error. After continuing from the error, it doesn't come up again during the program run. alSourceUnqueueBuffers fails with "invalid value" iff a buffer cannot be unqueued because it's still playing. However what we do is ask how many buffers have finished before removing exactly that many. I have no idea what could be causing this, especially because the Windows OpenAL implementation does not raise this error. Help is very welcome. |
|||
| #298 | fixed | Batch Training (Training queue) | ||
| Description |
The concept of "Batch" training: Essentially training many units (of a same entity type) at once. This would be in multiples of 5. So basically a player can train anywhere from 5-30 units at once and once the batch is done training, ideally when the formations have been implemented, all the units in that batch (say: 20 hoplites) should march to the rally point as a pre-grouped battalion in formation. We were thinking there could be an economy of scale applied as well, akin to gaining a discount in either unit training cost or training time (or both) the more that you queue into one batch. So, the task can be broken down into multiple components: A.) Implementing the batching itself. The player procedure to queue a batch should be the shift-click the unit icon, each shift-click adding 5 units to the batch up to 30 units. If the shift key is let go at any time that batch is done queuing. Any further shift-clicking would create a new batch. B.) The economy of scale discount. The formula for the discount could follow a simple bell curve, so that 15-unit batches would be ideal, but the player can continue to queue more units into the batch, up to 30, and still get a discount, but not as lucrative. Whether the discount is in train time or cost (or both) should be made available to do based upon testing. C.) Grouped into a Formation. This is contingent upon formations being implemented first. The newly created batch, once it is done training, should proceed to the rally point as a grouped formation of units. |
|||
| #299 | wontfix | multihead water reflections render bug | ||
| Description |
Hi, i use an triplehead Desktop where every screen is connected to the Videocard and tryed your game. It runs fine but there is a bug with the Water. On the first screen the Water looks normal, but on the second and third screen the water looks crazy. (see screenshots) If i run the game in an lower resolution on one of the other screens this bug does not appear. 0ad_02.jpg and 0ad_03.jpg are made in window mode and the others in fullscreen mode OS : Linux 2.6.28-gentoo-r6 (#3 SMP Tue Jun 30 14:37:14 CEST 2009) CPU : x86_64, Intel Core i7 975 @ 3.33GHz (1x8x2), -0.00 MHz Memory : 5952 MiB; 1013 MiB free Graphics Card : NVIDIA GeForce GTX 295/PCI/SSE2 OpenGL Drivers : 3.0.0 NVIDIA 185.18.14; OpenGL 3.0.0 NVIDIA 185.18.14 Video Mode : 5760x1200:24@0 |
|||
| #300 | worksforme | Can't start the game | ||
| Description |
After compile when I try to start the game I get this message, TIMER| InitVfs: 2.91095 ms TIMER| InitScripting: 6.55633 ms TIMER| CONFIG_Init: 6.02638 ms ERROR: Could not set 1024x768 graphics mode: Could not create GL context terminate called after throwing an instance of 'PSERROR_System_VmodeFailed'
Aborted I'm trying this in Linux, Fedora 11 x86_64 |
|||
| #301 | wontfix | CBound::Transform loop optimization | ||
| Description |
The inner for loop in CBound::Transform contains a couple of float variable declarations. These declarations could be placed outside of the outer for loop so that the variable is not recreated inside the loops. |
|||
| #302 | invalid | Test | ||
| Description |
Test one |
|||
| #303 | wontfix | Remove Atlas integration from main menu | ||
| Description |
To launch Atlas from within the game, we need to include atlas-specific code within the game and in particular ps/GameSetup/ . This is undesirable in terms of code organisation (see subsequent ticket). After short discussion, Philip, SimonG, and Jan concluded that the main menu 'Atlas' button should be removed:
Any objections? This affects the UI design, main menu art and interface..
|
|||
| #305 | fixed | Naval battle system | ||
| Description |
Every faction except the Iberians has combat ships. there are three types of ships:
The Punic(Carthaginian), Hellenes, Roman and Phoenican(Persian) ships in the game will be able to ram each other. The celtic "trireme" can only use range, but they have a high armor level. |
|||
| #306 | wontfix | "Call stack" when starting the game | ||
| Description |
Whenever I start the game I get the following "Call stack": test@test-desktop:~/0ad/trunk/binaries/system$ ./pyrogenesis_dbg TIMER| InitVfs: 1.50002 ms TIMER| InitScripting: 4.83857 ms TIMER| CONFIG_Init: 9.17923 ms TIMER| write_sys_info: 1.14488 ms ogl_tex.cpp(699): Performance warning: your graphics card does not support compressed textures. The game will try to continue anyway, but may be slower than expected. Please try updating your graphics drivers; if that doesn't help, please try upgrading your hardware. udbg_bfd_init: loading symbols from /home/test/0ad/trunk/binaries/system/pyrogenesis_dbg. Performance warning: your graphics card does not support compressed textures. The game will try to continue anyway, but may be slower than expected. Please try updating your graphics drivers; if that doesn't help, please try upgrading your hardware. Location: ogl_tex.cpp:699 (detect_gl_upload_caps) Call stack: (0x0848cf8f) ldbg.cpp:101 debug_DumpStack(wchar_t*, unsigned int, void*, char const*) (0x0846237c) debug.cpp:341 debug_BuildErrorMessage(wchar_t const*, char const*, int, char const*, void*, char const*, ErrorMessageMem*) (0x084626fc) debug.cpp:499 debug_DisplayError(wchar_t const*, unsigned int, void*, char const*, char const*, int, char const*, unsigned char*) (0x0847c7bd) ogl_tex.cpp:700 detect_gl_upload_caps (0x0847ca93) ogl_tex.cpp:824 ogl_tex_upload(long long, unsigned int, int, int) (0x08478afe) unifont.cpp:167 UniFont_reload (0x0847440e) h_mgr.cpp:506 call_init_and_reload (0x084745b8) h_mgr.cpp:545 alloc_new_handle (0x084746ec) h_mgr.cpp:580 h_alloc(H_VTbl*, boost::filesystem::basic_path<std::string, VfsPathTraits> const&, unsigned int, ...) (0x08478e5c) unifont.cpp:210 unifont_load(boost::filesystem::basic_path<std::string, VfsPathTraits> const&, unsigned int) (0x0832b29e) Font.cpp:46 CFont (0x0828b29d) GameSetup.cpp:593 InitPs (0x0828c2fd) GameSetup.cpp:991 Init(CmdLineArgs const&, int) (0x081f4ede) main.cpp:395 RunGameOrAtlas (0x081f4f6c) main.cpp:412 main (0xb7664b56) /lib/tls/i686/cmov/libc.so.6:0 __libc_start_main errno = 0 (?) OS error = ? (C)ontinue, (B)reak, Launch (D)ebugger, or (E)xit? c TIMER| ps_console: 5.90886 s TIMER| ps_lang_hotkeys: 78.3303 ms TIMER| ps_gui_init: 28.764 us TIMER| ps_gui_setup_xml: 49.5266 ms TIMER| ps_gui_styles_xml: 3.53965 ms TIMER| ps_gui_sprite1_xml: 140.085 ms TIMER| ps_gui_1: 285.18 ms TIMER| ps_gui_2: 197.208 ms TIMER| ps_gui_3: 19.1116 ms TIMER| ps_gui_4: 89.5402 ms TIMER| ps_gui_6: 6.90189 ms TIMER| ps_gui_6_1: 6.51875 ms TIMER| ps_gui_6_2: 3.16295 ms TIMER| ps_gui_7: 4.9403 ms TIMER| ps_gui_9: 18.0156 ms TIMER| InitRenderer: 233.514 ms TIMER| SimulationInit: 76.6375 ms TIMER| Init_miscgamesection: 489.637 ms TIMER| Init_guiload: 270.561 ms bt_audio_service_open: connect() failed: Connection refused (111) bt_audio_service_open: connect() failed: Connection refused (111) bt_audio_service_open: connect() failed: Connection refused (111) bt_audio_service_open: connect() failed: Connection refused (111) TIMER| shutdown Scheduler: 5.764 us TIMER| shutdown mouse stuff: 43.42 us TIMER| shutdown Pathfinder: 140.929 us TIMER| shutdown game scripting stuff: 1.47416 ms TIMER| shutdown actor stuff: 3.02 us TIMER| shutdown TexMan: 3.624 us TIMER| shutdown Renderer: 54.107 us TIMER| shutdown ScriptingHost: 9.21426 ms TIMER| shutdown ConfigDB: 2.547 us TIMER| shutdown CSocketBase: 3.6605 ms TIMER| shutdown CNetLogManager: 6.614 us TIMER| shutdown I18N: 8.153 us TIMER| resource modules: 45.8587 ms TIMER TOTALS (5 clients) ----------------------------------------------------- tc_2: 0 c (0x) tc_1: 0 c (0x) tc_transform: 1333.43 Mc (49x) tc_plain_transform: 4312.04 kc (12x) tc_png_decode: 0 c (0x) ----------------------------------------------------- TIMER| shutdown misc: 1.77964 ms test@test-desktop:~/0ad/trunk/binaries/system$ Pressing 'C' let however the game start. I am using r7139 on a Ubuntu karmic. Let me know if I should provide more infos. |
|||
| #307 | fixed | Program received signal SIGABRT, Aborted. | ||
| Description |
Hello! I was playing the "Badlands" map. crashed after sending units to an unclaimed settlement pyrogenesis_dbg: /usr/include/boost/shared_ptr.hpp:315: T* boost::shared_ptr<T>::operator->() const [with T = CTerrainProperties]: Assertion `px != 0' failed.
Program received signal SIGABRT, Aborted.
(gdb) backtrace
#0 0xb7f7a410 in __kernel_vsyscall ()
#1 0xb7788085 in raise () from /lib/tls/i686/cmov/libc.so.6
#2 0xb7789a01 in abort () from /lib/tls/i686/cmov/libc.so.6
#3 0xb778110e in __assert_fail () from /lib/tls/i686/cmov/libc.so.6
#4 0x083747c9 in boost::shared_ptr<CTerrainProperties>::operator-> (this=0xbf9b305c) at /usr/include/boost/shared_ptr.hpp:315
#5 0x08374647 in CTerrain::IsPassable (this=0x9584120, loc=@0xbf9b3130, entity=@0xbf9b30f2) at ../../../source/graphics/Terrain.cpp:117
#6 0x0834c316 in AStarGoalLowLevel::IsPassable (this=0x8cf4558, loc=@0xbf9b3130, entity=@0xbf9b3140) at ../../../source/simulation/AStarEngine.cpp:508
#7 0x0834c1f1 in AStarGoalLowLevel::GetNeighbors (this=0x8cf4558, loc=@0xb549760, entity=@0xbf9b31ba) at ../../../source/simulation/AStarEngine.cpp:543
#8 0x0834cf4a in CAStarEngine::FindPath (this=0x8cf4438, src=@0xbf9b3278, dest=@0xbf9b32e4, entity=@0xbf9b328c, radius=0)
at ../../../source/simulation/AStarEngine.cpp:234
#9 0x082f5f57 in CPathfindEngine::RequestLowLevelPath (this=0x8cf4438, entity=@0xbf9b3302, destination=@0xbf9b32e4, contact=false, radius=0,
orderSource=CEntityOrder::SOURCE_PLAYER) at ../../../source/simulation/PathfindEngine.cpp:533
#10 0x083478ab in CEntity::ProcessGotoWaypoint (this=0xa840808, current=0x8cf7a70, contact=false)
at ../../../source/simulation/EntityStateProcessing.cpp:732
#11 0x082cc2d7 in CEntity::UpdateOrders (this=0xa840808, timestep=300) at ../../../source/simulation/Entity.cpp:582
#12 0x082cc940 in CEntity::Update (this=0xa840808, timestep=300) at ../../../source/simulation/Entity.cpp:457
#13 0x082b65cc in CEntityManager::UpdateAll (this=0x9588b80, timestep=300) at ../../../source/simulation/EntityManager.cpp:450
#14 0x083162f2 in CSimulation::Simulate (this=0x9561030) at ../../../source/simulation/Simulation.cpp:179
#15 0x083166e3 in CSimulation::Update (this=0x9561030, frameTime=0.033608004450798035) at ../../../source/simulation/Simulation.cpp:106
#16 0x0829f6a5 in CGame::Update (this=0x9588898, deltaTime=0.033608004450798035, doInterpolate=true) at ../../../source/ps/Game.cpp:230
#17 0x0820f421 in Frame () at ../../../source/main.cpp:271
#18 0x0820f882 in RunGameOrAtlas (argc=1, argv=0xbf9b3774) at ../../../source/main.cpp:397
#19 0x0820f906 in main (argc=1, argv=0xbf9b3774) at ../../../source/main.cpp:410
|
|||
| #308 | fixed | (testing the keyword seach feature) | ||
| Description |
Please ignore. |
|||
| #309 | wontfix | Region borders on water surface | ||
| #310 | invalid | Ambient Flora/Geology Sounds | ||
| Description |
Create - Ambient Flora/Geo sounds such as: Creaking of trees, rustling of reeds, crops, leaves ect.. Ambiences should be in stereo and roughly 1 min in duration. Files should loop seamlessly. 5 Separate Ambiences Requred |
|||
| #311 | fixed | Program received signal SIGSEGV, Segmentation fault. | ||
| Description |
Hello again.. I was playing the "Latinum" map. Crashed after trying to build a building (dock) on the very border of the map. #0 0x08374786 in CRenderableObject::SetDirty (this=0x0, dirtyflags=2)
at ../../../source/graphics/RenderableObject.h:82
#1 0x083732e7 in CTerrain::FlattenArea (this=0x9578708, x0=62.6870041,
x1=80.6870041, z0=564.263, z1=582.263)
at ../../../source/graphics/Terrain.cpp:467
#2 0x082dc932 in CEntity::FlattenTerrain (this=0xc102d98)
at ../../../source/simulation/EntityScriptInterface.cpp:932
#3 0x082e84ea in CNativeComplexFunction<CEntity, false, jsval_t, &(CEntity::FlattenTerrain(JSContext*, unsigned int, int*))>::JSFunction (cx=0x8723558,
obj=0xc0f8c50, argc=0, argv=0xc1d5860, rval=0xbfa566b0)
at ../../../source/scripting/ScriptableComplex.inl:468
#4 0x085277cd in js_Invoke (cx=0x8723558, argc=0, flags=0) at jsinterp.c:1187
#5 0x0853838e in js_Interpret (cx=0x8723558, pc=0xa385fd0 ":",
result=0xbfa573d8) at jsinterp.c:3586
#6 0x08527843 in js_Invoke (cx=0x8723558, argc=1, flags=2) at jsinterp.c:1207
#7 0x08527b9e in js_InternalInvoke (cx=0x8723558, obj=0xb24e780,
fval=156876080, flags=0, argc=1, argv=0xbfa5750c, rval=0xbfa57510)
at jsinterp.c:1284
#8 0x084f0c98 in JS_CallFunction (cx=0x8723558, obj=0xb24e780, fun=0x8a54860,
argc=1, argv=0xbfa5750c, rval=0xbfa57510) at jsapi.c:4146
#9 0x082c0707 in CScriptObject::DispatchEvent (this=0xa344f2c,
Context=0xb24e780, evt=0xbfa57a5c)
at ../../../source/simulation/ScriptObject.cpp:126
---Type <return> to continue, or q <return> to quit---
#10 0x0832803c in IEventTarget::_DispatchEvent (this=0xa344cf0,
evt=0xbfa57a5c, target=0xaebbff8)
at ../../../source/scripting/DOMEvent.cpp:49
#11 0x083281b9 in IEventTarget::_DispatchEvent (this=0xa5792e8,
evt=0xbfa57a5c, target=0xaebbff8)
at ../../../source/scripting/DOMEvent.cpp:66
#12 0x083281b9 in IEventTarget::_DispatchEvent (this=0xa6ee1d8,
evt=0xbfa57a5c, target=0xaebbff8)
at ../../../source/scripting/DOMEvent.cpp:66
#13 0x083281b9 in IEventTarget::_DispatchEvent (this=0xa6ed0f8,
evt=0xbfa57a5c, target=0xaebbff8)
at ../../../source/scripting/DOMEvent.cpp:66
#14 0x083281b9 in IEventTarget::_DispatchEvent (this=0xa6ec3e0,
evt=0xbfa57a5c, target=0xaebbff8)
at ../../../source/scripting/DOMEvent.cpp:66
#15 0x083281b9 in IEventTarget::_DispatchEvent (this=0xa6eb648,
evt=0xbfa57a5c, target=0xaebbff8)
at ../../../source/scripting/DOMEvent.cpp:66
#16 0x083281b9 in IEventTarget::_DispatchEvent (this=0xa6ea918,
evt=0xbfa57a5c, target=0xaebbff8)
at ../../../source/scripting/DOMEvent.cpp:66
#17 0x083281b9 in IEventTarget::_DispatchEvent (this=0xa6e9c78,
evt=0xbfa57a5c, target=0xaebbff8)
---Type <return> to continue, or q <return> to quit---
at ../../../source/scripting/DOMEvent.cpp:66
#18 0x083281b9 in IEventTarget::_DispatchEvent (this=0xaebbff8,
evt=0xbfa57a5c, target=0xaebbff8)
at ../../../source/scripting/DOMEvent.cpp:66
#19 0x08328339 in IEventTarget::DispatchEvent (this=0xaebbff8, evt=0xbfa57a5c)
at ../../../source/scripting/DOMEvent.cpp:86
#20 0x0834868f in CEntity::ProcessContactActionNoPathing (this=0xaebbf90,
current=0xc1749c8, timestep_millis=300)
at ../../../source/simulation/EntityStateProcessing.cpp:516
#21 0x082cc2bc in CEntity::UpdateOrders (this=0xaebbf90, timestep=300)
at ../../../source/simulation/Entity.cpp:577
#22 0x082cc968 in CEntity::Update (this=0xaebbf90, timestep=300)
at ../../../source/simulation/Entity.cpp:457
#23 0x082b65cc in CEntityManager::UpdateAll (this=0x95ab9e0, timestep=300)
at ../../../source/simulation/EntityManager.cpp:450
#24 0x0831631a in CSimulation::Simulate (this=0x9581140)
at ../../../source/simulation/Simulation.cpp:179
#25 0x0831670b in CSimulation::Update (this=0x9581140,
frameTime=0.023770732805132866)
at ../../../source/simulation/Simulation.cpp:106
#26 0x0829f6a5 in CGame::Update (this=0x95aab10,
deltaTime=0.023770732805132866, doInterpolate=true)
at ../../../source/ps/Game.cpp:230
---Type <return> to continue, or q <return> to quit---
#27 0x0820f421 in Frame () at ../../../source/main.cpp:271
#28 0x0820f882 in RunGameOrAtlas (argc=1, argv=0xbfa58014)
at ../../../source/main.cpp:397
#29 0x0820f906 in main (argc=1, argv=0xbfa58014)
at ../../../source/main.cpp:410
|
|||
| #312 | wontfix | Bug: right doubleclick makes running units walk+patch | ||
| Description |
bug: right doubleclick makes running units walk how to reproduce:
javascript patch attached, dunno if that's the best or correct way to fix it |
|||
| #313 | fixed | Handle unsupported S3TC texture compression more gracefully | ||
| Description |
Currently, non-support of S3TC causes ugly unhelpful output like in #306. (This particularly matters on Linux, where (I think) non-support is the default for non-proprietary drivers.) The message should be displayed in a much more user-friendly way (perhaps a dialog box? or perhaps it should carry on loading the game and display a warning on the menu screen?).
Also, the message should help people resolve the problem - on Linux, it should tell them to run Also, maybe we could detect the situation where we're running on Linux and the driver really does support decompression even though it doesn't claim to fully support S3TC, since the game should actually run fine with S3TC in that case and we don't need to tell the user to do anything. |
|||
| #314 | fixed | GUI - fix all settings in components | ||
| Description |
There are some GUI components that get called for some missing settings, this could be a result of couple of reasons:
Another thing could be that the call to the settings is OK.
To find the faulty settings run the program, open the main log (mainlog.html), and follow the warnings. |
|||
| #315 | invalid | GUI - Dropdown not positioning list properly | ||
| Description |
Currently, when a dropdown is opened, the position of the list starts at the top, regardless of the currently selected item. What should happen when a dropdown is opened, is that the position of the scrollbar should be maintained from the last time an item was selected. |
|||
| #316 | duplicate | GUI - Civ Selection Dialog | ||
| Description |
|
|||
| #317 | invalid | Animal Death | ||
| Description |
Universal Animal Death Sound SDD # 157" Specifications MONO 3 seconds in duration. Non-Looping 4 Files Required. |
|||
| #318 | invalid | Plowing Fields | ||
| Description |
Plowing Fields Sound SSD # 169 Specifications Mono 5 Seconds Non-Looping 9 Sounds Req'd |
|||
| #319 | invalid | Herding Animals | ||
| Description |
General Herding Animals Sounds SDD# 164 Specifications MONO 5-Seconds Non- Looping 9 Sounds req'd |
|||
| #320 | fixed | Crackling Fire | ||
| Description |
Universal Fire Crackling Sound SDD# 177 Specifications MONO 5 Seconds Non-Looping 5 sounds req'd |
|||
| #321 | invalid | Sizzling of Hot Metal Against Flesh | ||
| Description |
Sizzling of Hot Metal Against Flesh SDD# 182 Specifications MONO 5 Seconds Non-Looping 5 Sounds req'd |
|||
| #322 | invalid | Spreading Fire | ||
| Description |
Spreading Fire Sound SDD# 187 Specifications MONO 5 Seconds Non-Looping 5 Sounds req'd |
|||
| #323 | invalid | Arrow Looping | ||
| Description |
Multiple Arrows in Air - Looping SDD# 195 Specifications Stereo 2 Minutes Looping 1 sound req'd |
|||
| #324 | invalid | Arrow Impact - Wood | ||
| Description |
Arrow Impacting Wood Sound SDD# 228 Specifications MONO 2 seconds Non-Looping 12 Sounds req'd |
|||
| #325 | invalid | Arrow Impact - Metal | ||
| Description |
Arrow Impacting Metal SDD# 223 Specifications MONO 2 Seconds Non-Looping 12 sounds req'd |
|||
| #326 | invalid | Sling Impact | ||
| Description |
Sling Impacting Wood SDD# 247 Specifications MONO 2 seconds Non-Looping 12 sounds req'd |
|||
| #327 | invalid | Sling Impact - Stone | ||
| Description |
Sling Impact Stone SDD# 257 Specifications MONO 2 Seconds Non-Looping 12 Sounds req'd |
|||
| #328 | invalid | Flesh Impact - Mutiple | ||
| Description |
Flesh Impact - Multiple SDD# 271 Specifications Stereo 2 minutes Looping 1 Sounds Req'd |
|||
| #329 | invalid | Flesh Impact - Stab | ||
| Description |
Flesh Impact - Stab Specifications Mono 2 Seconds Non-Looping 12 sounds req'd |
|||
| #330 | invalid | Onager - Shooting | ||
| Description |
Onager - Shooting SDD #282 Specifications Mono 2 Seconds Non-Looping 5 sounds req'd |
|||
| #331 | invalid | Onager - Reloading | ||
| Description |
Onager - Reloading SDD #283 Specifications Mono 2 Seconds Non-Looping 5 sounds req'd |
|||
| #332 | invalid | Balista - Moving | ||
| Description |
Balista - Moving SDD #284 Specifications Mono 2 Seconds Non-Looping 5 Sounds req'd |
|||
| #333 | invalid | Balista - Shooting | ||
| Description |
Balista - Shooting SDD #285 Specifications Mono 2 Seconds Non-Looping 5 Sounds req'd |
|||
| #334 | invalid | Balista - Reloading | ||
| Description |
Balista - Reloading SDD #286 Specifications Mono 2 Seconds Non-Looping 5 Sounds req'd |
|||
| #335 | invalid | Land Ram - Moving | ||
| Description |
Land Ram - Moving SDD #287 Specifications Mono 2 Seconds Non-Looping 5 Sounds req'd |
|||
| #336 | invalid | Land Ram - Ramming | ||
| Description |
Land Ram - Ramming SDD #288 Specifications MONO 2-Seconds Non-Looping 5 Sounds Req'd |
|||
| #337 | invalid | Onager Stone Hitting Wood | ||
| Description |
Onager Stone Hitting Wood SDD #289 Specifications MONO 2-Seconds Non-Looping 5 Sounds req'd |
|||
| #338 | invalid | Onager Stone Hitting Stone | ||
| Description |
Onager Stone Hitting Stone SDD #290 Specifications MONO 2-Seconds Non-Looping 5 Sounds Req'd |
|||
| #339 | invalid | Onager Stone Hitting Water | ||
| Description |
Onager Stone Hitting Water Specifications MONO 2-Seconds Non-Looping 5 Sounds Req'd |
|||
| #340 | invalid | Onager Stone Hitting Water | ||
| Description |
Onager Stone Hitting Water SDD# 291 Specifications MONO 2-Seconds Non-Looping 5 Sounds Req'd |
|||
| #341 | fixed | Siege Unit Select | ||
| Description |
Seige Unit Select SDD# 295 Specifications MONO 2-Seconds Non-Looping 5 Sounds Req'd |
|||
| #342 | fixed | Seige Unit Destruction - Generic | ||
| Description |
Onager Destruction SDD# 296 Specifications MONO 2-Seconds Non-Looping 5 Sounds Req'd |
|||
| #343 | invalid | Seige Unit Destruction - Ballista | ||
| Description |
Seige Unit Destruction - Ballista SDD# 297 Specifications MONO 2-Seconds Non-Looping 5 Sounds Req'd |
|||
| #344 | invalid | Seige Unit Destruction - Land Ram | ||
| Description |
Land Ram Destruction SDD# 298 Specifications MONO 2-Seconds Non-Looping 5 Sounds Req'd |
|||
| #345 | invalid | Mounted Unit - Dirt (For use as Generic) | ||
| Description |
Mounted Unit - Dirt SDD# 348 Specifications Specifications MONO 1-Seconds Non-Looping 5 Sounds Req'd |
|||
| #346 | invalid | Mounted Unit - Grass | ||
| Description |
Mounted Unit - Grass SDD# 356 Specifications MONO 1-Second Non-Looping 5 Sounds Req'd |
|||
| #347 | invalid | Mounted Unit - Snow | ||
| Description |
Mounted Unit - Snow SDD# 364 Specifications MONO 1-Second Non-Looping 5 Sounds Req'd |
|||
| #348 | invalid | Mounted Unit - Road | ||
| Description |
Mounted Unit - Road SDD# 372 Specifications MONO 1-Second Non-Looping 5 Sounds Req'd |
|||
| #349 | invalid | Destruction - Civil | ||
| Description |
Destruction - Civil SDD# 381 Specifications MONO 2-Seconds Non-Looping 5 Sounds Req'd |
|||
| #350 | invalid | Destruction - Generic | ||
| Description |
Destruction - Generic SDD# 391 Specifications MONO 2-Seconds Non-Looping 5 Sounds Req'd |
|||
| #351 | invalid | Destruction - Military | ||
| Description |
Destruction - Military SDD# 393 Specifications MONO 2-Seconds Non-Looping 5 Sounds Req'd |
|||
| #352 | fixed | Destruction - Generic | ||
| Description |
Destruction - Gate SDD# 399 Specifications MONO 2-Seconds Non-Looping 5 Sounds Req'd |
|||
| #353 | invalid | Explosion | ||
| Description |
Explosion SDD# 403 Specifications MONO 2-Seconds Non-Looping 5 Sounds Req'd |
|||
| #354 | invalid | Building FX - Civil Centre | ||
| Description |
Building FX - Civil Centre SDD# 410 Specifications MONO 10-Seconds Looping 10 Sounds Req'd |
|||
| #355 | invalid | Building FX - House | ||
| Description |
Building FX - House SDD# 412 Specifications MONO 10-Seconds Looping 10 Sounds Req'd |
|||
| #356 | invalid | Building FX - Resource Centre | ||
| Description |
Building FX - Resource Centre SDD# 419 Specifications MONO 10-Seconds Looping 10 Sounds Req'd |
|||
| #357 | invalid | Building FX - Military Centre | ||
| Description |
Building FX - Military Centre SDD# 433 Specifications MONO 10-Seconds Looping 10 Sounds Req'd |
|||
| #358 | invalid | Building FX - Temple | ||
| Description |
Building FX - Temple SDD# 435 Specifications MONO 10-Seconds Looping 10 Sounds Req'd |
|||
| #359 | invalid | Building FX - Fortress | ||
| Description |
Building FX - Fortress SDD# 437 Specifications MONO 10-Seconds Looping 10 Sounds Req'd |
|||
| #360 | invalid | Building FX - Health Centre | ||
| Description |
Building FX - Health Centre SDD# 443 Specifications MONO 10-Seconds Looping 10 Sounds Req'd |
|||
| #361 | invalid | Gates - Opening | ||
| Description |
Gates - Opening SDD# 445 Specifications MONO 5-Seconds Non-Looping 5 Sounds Req'd |
|||
| #362 | invalid | Gates - Closing | ||
| Description |
Gates - Closing SDD# 446 Specifications MONO 5-Seconds Non-Looping 5 Sounds Req'd |
|||
| #363 | invalid | Ambient Sounds - Alpine Soundscape | ||
| Description |
Ambient Sounds - Alpine Soundscape SDD# 448 Specifications Stereo 30-Seconds Looping 4 Sounds Req'd |
|||
| #364 | invalid | Ambient Sounds - Steppes Soundscape | ||
| Description |
Ambient Sounds - Steppes Soundscape SDD# 450 Specifications Stereo 30-Seconds Looping 4 Sounds Req'd |
|||
| #365 | invalid | Ambient Sounds - Mediteranean Soundscape | ||
| Description |
Ambient Sounds - Mediteranean Soundscape SDD# 451 Specifications Stereo 30-Seconds Looping 4 Sounds Req'd |
|||
| #366 | invalid | Ambient Sounds - Savannah Soundscape | ||
| Description |
Ambient Sounds - Savannah Soundscape SDD# 452 Specifications Stereo 30-Seconds Looping 4 Sounds Req'd |
|||
| #367 | invalid | Ambient Sounds - Desert Soundscape | ||
| Description |
Ambient Sounds - Desert Soundscape SDD# 453 Specifications Stereo 30-Seconds Looping 4 Sounds Req'd |
|||
| #368 | invalid | Ambient Sounds - Semi-Arid Soundscape | ||
| Description |
Ambient Sounds - Semi-Arid Soundscape SDD# 454 Specifications Stereo 30-Seconds Looping 4 Sounds Req'd |
|||
| #369 | invalid | Ambient Sounds - Polar Soundscape | ||
| Description |
Ambient Sounds - Polar Soundscape SDD# 455 Specifications Stereo 30-Seconds Looping 4 Sounds Req'd |
|||
| #370 | invalid | Night Sounds - Alpine Soundscape | ||
| Description |
Night Sounds - Alpine Soundscape SDD# 457 Specifications Stereo 30-Seconds Looping 4 Sounds Req'd |
|||
| #371 | invalid | Night Sounds - Steppes Soundscape | ||
| Description |
Night Sounds - Steppes Soundscapes SDD# 460 Specifications Stereo 30-Seconds Looping 4 Sounds Req'd |
|||
| #372 | invalid | Night Sounds - Mediteranean Soundscape | ||
| Description |
Night Sounds - Mediteranean Soundscape SDD# 461 Specifications Stereo 30-Seconds Looping 4 Sounds Req'd |
|||
| #373 | invalid | Night Sounds - Savannah Soundscape | ||
| Description |
Night Sounds - Savannah Soundscape SDD# 462 Specifications Stereo 30-Seconds Looping 4 Sounds Req'd |
|||
| #374 | invalid | Night Sounds - Desert Soundscape | ||
| Description |
Night Sounds - Desert Soundscape SDD# 463 Specifications Stereo 30-Seconds Looping 4 Sounds Req'd |
|||
| #375 | invalid | Night Sounds - Semi-Arid Soundscape | ||
| Description |
Night Sounds - Semi-Arid Soundscapre SDD# 464 Specifications Stereo 30-Seconds Looping 4 Sounds Req'd |
|||
| #376 | invalid | Night Sounds - Polar Soundscape | ||
| Description |
Night Sounds - Polar Soundscape SDD# 465 Specifications Stereo 30-Seconds Looping 4 Sounds Req'd |
|||
| #377 | invalid | Night Sounds - Tropical Soundscape | ||
| Description |
Night Sounds - Tropical Soundscape SDD# 467 Specifications Stereo 30-Seconds Looping 4 Sounds Req'd |
|||
| #378 | invalid | Ambient - Swamp | ||
| Description |
Ambient - Swamp SDD# 490 Specifications Stereo 30-Seconds Looping 4 Sounds Req'd |
|||
| #379 | invalid | Ambient Flora - Creaking of Trees | ||
| Description |
Ambient Flora - Creaking of Trees SDD# 494 Specifications Stereo 1-Minute Non-Looping 2 Sounds Req'd |
|||
| #380 | invalid | Ambient Flora - Reeds Rustling | ||
| Description |
Ambient Flora - Reeds Rustling SDD# 495 Specifications Stereo 1-Minute Non-Looping 2 Sounds Req'd |
|||
| #381 | invalid | Ambient Fauna - Wolf | ||
| Description |
Ambient Fauna - Wolf SDD# 556 Specifications Mono 5-Seconds Looping 5 Sounds Req'd |
|||
| #382 | invalid | Ambient Fauna - Deer | ||
| Description |
Ambient Fauna - Deer SDD# 600 Specifications Mono 5-Seconds Looping 5 Sounds Req'd |
|||
| #383 | invalid | Ambient Fauna - Breeding/Fearful/Passive - Camel | ||
| Description |
Ambient fauna - Breeding/Fearful/Passive - Camel SDD# 656 Specifications Mono 5-Seconds Looping 5 Sounds Req'd |
|||
| #384 | invalid | Ambient Fauna - Breeding/Fearful/Passive - Hawk | ||
| Description |
Ambient fauna - Breeding/Fearful/Passive - Hawk SDD# 679 Specifications Mono 5-Seconds Looping 5 Sounds Req'd |
|||
| #385 | invalid | Ambient Fauna - Breeding/Fearful/Passive - Seagull | ||
| Description |
Ambient fauna - Breeding/Fearful/Passive - Seagull SDD# 688 Specifications Mono 5-Seconds Looping 5 Sounds Req'd |
|||
| #386 | invalid | Ambient Fauna - Breeding/Fearful/Passive - Wolf | ||
| Description |
Ambient fauna - Breeding/Fearful/Passive - Wolf SDD# 700 Specifications Mono 3-Seconds Non-Looping 5 Sounds Req'd |
|||
| #387 | invalid | Ambient Fauna - Breeding/Fearful/Passive - African Elephant | ||
| Description |
Ambient fauna - Breeding/Fearful/Passive - African Elephant SDD# 701 Specifications Mono 3-Seconds Non-Looping 5 Sounds Req'd |
|||
| #388 | invalid | Ambient Fauna - Breeding/Fearful/Passive - Pig | ||
| Description |
Ambient fauna - Breeding/Fearful/Passive - Pig SDD# 722 Specifications Mono 5-Seconds Looping 5 Sounds Req'd |
|||
| #389 | invalid | Fauna Actions - Wolf | ||
| Description |
Fauna Actions - Wolf SDD# 743 Specifications Mono 3-Seconds Non-Looping 5 Sounds Req'd |
|||
| #390 | invalid | Fauna Actions - African Elephant | ||
| Description |
Fauna Actions - African Elephant SDD# 744 Specifications Mono 3-Seconds Non-Looping 5 Sounds Req'd |
|||
| #391 | invalid | Fauna Actions - Deer | ||
| Description |
Fauna Actions - Deer SDD# 770 Specifications Mono 3-Seconds Non-Looping 5 Sounds Req'd |
|||
| #392 | invalid | Fauna Actions - Pig | ||
| Description |
Fauna Actions - Pig SDD# 781 Specifications Mono 3-Seconds Non-Looping 5 Sounds Req'd |
|||
| #393 | invalid | Fauna Actions - Sheep | ||
| Description |
Fauna Actions - Sheep SDD# 782 Specifications Mono 3-Seconds Non-Looping 5 Sounds Req'd |
|||
| #394 | invalid | Fauna Actions - Seagull | ||
| Description |
Fauna Actions - Seagull SDD# 794 Specifications Mono 3-Seconds Non-Looping 5 Sounds Req'd |
|||
| #395 | invalid | Gatherig - Hoeing Dirt | ||
| Description |
Gathering - Hoeing Dirt SDD# 136 Specifications Mono 5-Seconds Non-Looping 5 Sounds Req'd |
|||
| #396 | invalid | Construction - Ore | ||
| Description |
Construction - Ore SDD# 125 Specifications Mono 2-Minutes Non-Looping 9 Sounds Req'd |
|||
| #397 | invalid | Death - Multiple | ||
| Description |
Death - Multiple SDD# 108 Specifications Stereo 2-Minutes Looping 2 Sounds Req'd |
|||
| #398 | invalid | Moving - Road | ||
| Description |
Moving - Road SDD# 89 Specifications Mono 1-Second Non-Looping 5 Sounds Req'd |
|||
| #399 | needsinfo | [NEEDS INFO] Valgrind error in tex_transform_to | ||
| Description |
==13406== Source and destination overlap in memcpy(0x405a000, 0x405a000, 6) ==13406== at 0x4C25A8A: memcpy (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==13406== by 0x956D44: cpu_memcpy(void*, void const*, unsigned long) (amd64.cpp:38) ==13406== by 0x954796: plain_transform(Tex*, unsigned long) (tex.cpp:330) ==13406== by 0x955058: tex_transform(Tex*, unsigned long) (tex.cpp:404) ==13406== by 0x955109: tex_transform_to(Tex*, unsigned long) (tex.cpp:415) ==13406== by 0x612505: TestTex::test_mipmap_create() (test_tex.h:129) ==13406== by 0x612C72: TestDescription_TestTex_test_mipmap_create::runTest() (test_tex.cpp:30) ==13406== by 0x5B93FB: CxxTest::RealTestDescription::run() (RealDescriptions.cpp:96) ==13406== by 0x5BF5FC: CxxTest::TestRunner::runTest(CxxTest::TestDescription&) (TestRunner.h:76) ==13406== by 0x5BF706: CxxTest::TestRunner::runSuite(CxxTest::SuiteDescription&) (TestRunner.h:63) ==13406== by 0x5BFD55: CxxTest::PsTestRunner::runWorld() (PsTestWrapper.h:68) ==13406== by 0x5BFE63: CxxTest::PsTestRunner::runAllTests(CxxTest::TestListener&) (PsTestWrapper.h:33) |
|||
| #400 | fixed | CStr should use wchar.h | ||
| Description |
|
|||
| #401 | invalid | GUI "Structure" Icons | ||
| Description |
GUI "Structure" Icons. These are icons that will be the "button" in the in-game GUI players use to commence construction of a building. GUI
Difficulty: High | Medium | Low Estimated Completion Time: 11 Weeks/Dec 16th Need Icons for the following Structures: Civic Center - Done Civic House Civic Temple - Done Defense Scout Tower Defense Wall (Short Segment) Defense Wall Gate Defense Wall Tower Econ Farmstead Econ Market - Done Econ Mill Resource Corral Resource Field - Done Resource Orchard Military Barracks - Done Military Dock Military Fortress Special Celts Ffactri - Done Special Hellenes Theatron Special Hellenes Tholos Special Hellenes Gymnasion Special Iberians Venerated Monument Special Persians Kahk Special Romans Entrenched Camp |
|||
| #402 | fixed | Clean up GUItypes.h | ||
| Description |
|
|||
| #403 | fixed | crashlog.txt goes in non-writable directory | ||
| Description |
On Linux, crashlog.txt by default seems to get put in binaries/system/ which is often not a writable directory. It should probably go in ~/.config/0ad/logs/ (and print a message telling the user where it is). |
|||
| #404 | fixed | Makefile build system should have pyrogenesis/test targets depend on Collada | ||
| Description |
The
It's not a build-time dependency for the executables, and shouldn't be used when linking, so Premake's |
|||
| #405 | fixed | LOS manager is slow | ||
| Description |
Profiler indicates the game is spending ~14% of its process's cycles in |
|||
| #406 | fixed | Serialization of standard JS object types | ||
| Description |
To avoid unnecessarily restricting script code, it should be possible for script components to use
The code for this is currently in |
|||
| #407 | fixed | Serialization of script class objects | ||
| Description |
It should be possible for scripts to create and use classes ( This is probably infeasible in the general case, but it would be useful to support the simple case: classes are defined as top-level functions (not defined or changed at run-time inside other functions), no prototype chains, etc, so the code can simply serialize the object like a plain Object plus a class name that gets looked up in the appropriate script's scope when deserializing. |
|||
| #409 | fixed | Simplify C++ QueryInterface syntax | ||
| Description |
Currently C++ components have to say: ICmpPosition* cmpPosition = static_cast<ICmpPosition*> (context.GetComponentManager().QueryInterface(GetEntityId(), IID_Position)); which is horrid. JS just says var cmpPosition = Engine.QueryInterface(this.entity, IID_Position); which is nicer. C++ has got to have more type declarations, and there's tradeoffs with other desirable features of the code, but it should be possible to do better than the current syntax. |
|||
| #411 | fixed | Support creation of entities in Atlas | ||
| Description |
Atlas needs to be updated to support the new entity system. In particular, the object creation listbox needs to be populated with entities from the new system, and it needs to create them properly (along with the static preview before the object is placed, possibly by extracting just its Visual component somehow?) |
|||
| #412 | fixed | Saving/loading maps | ||
| Description |
The map saving/loading code needs to deal with the new entity system. It should just save the template, position, orientation, player ID, and random variation selections, for each entity. |
|||
| #413 | fixed | Automatic validation of entity templates | ||
| Description |
Entity templates are a kind of tree structure, defined by a series of XML files (each inheriting from a parent file and overriding some parts). To save component code from having to worry about detecting and reporting invalid input (missing fields, incorrect data types, etc) there should be a centralised validation system. Each component reports its requirements, and the validator checks each template against them. It would probably be sensible to use libxml2's RelaxNG support for this, since it provides a reasonable schema language for checking the structure and data types. The entity template can be serialised into XML (after applying all the inheritance rules etc) and then validated. If validation fails then the entity won't be loaded. It'd be particularly nice to use the RelaxNG Compact syntax, but libxml2 doesn't support that (it just has a half-finished RNC->RNG converter in its source control repository that is of unknown quality), so I don't know how feasible that is. For efficiency (if it turns out that it matters), the validation status of entity templates could perhaps be cached at the same time as they're converted to XMB. |
|||
| #414 | fixed | wcscasecmp does not exist on OS X | ||
| Description |
We use wcscasecmp but it does not exist on OS X, causing errors. We should either define that function ourselves on OS X (possibly a bad idea since it might conflict with a system version in the future, and we would not bother with the locale support that the standard expects), or define a similar function with a new name (probably in |
|||
| #415 | fixed | Script component testing framework | ||
| Description |
There needs to be an easy way to do unit testing of script components. The tests themselves should be written as scripts. Each component should be tested in isolation, with all engine functionality and other components probably implemented in the script as mock objects, so that the test cases don't require complex scene setups. It should be integrated with the current CxxTest system, but maybe it would also be useful to be able to run the tests as part of the normal executable, so they can be used by non-C++ programmers and integrated with the debugger (#410). |
|||
| #416 | fixed | Native component testing framework | ||
| Description |
Similar to #415, except for native (C++) components. The tests will need to be written in C++ themselves. Mock objects might be much more painful to do; not sure what the best solution is. |
|||
| #421 | fixed | Add a review request flag to Trac | ||
| Description |
Add a review request flag to Trac |
|||
| #423 | fixed | Switch from CppDoc to Doxygen | ||
| Description |
CppDoc is old and unmaintained and has bugs and sometimes crashes and doesn't support JS. Doxygen seems to work better, and is more common, and accepts a similar comment style to CppDoc. So we should probably move to Doxygen. |
|||
| #424 | fixed | Check threading compilation on OS X | ||
| Description |
r7193 changed how we link with pthreads. First thing to check (by testing the build): does the |
|||
| #425 | fixed | CParamNode should not return NULL pointers | ||
| Description |
Instead, it should return a dummy CParamNode object (by reference) with a |
|||
| #426 | fixed | Implement Position component | ||
| Description |
Position is critical to a lot of things, and needs to be implemented. (This includes orientation, and some of these features, and needs to be designed with garrisoning in mind.) |
|||
| #427 | fixed | Deadlock in Atlas | ||
| Description |
(Haven't tried to reproduce.) Did something to get a crash in the game, while loading a map, triggered by the MRU file list in editor. The GUI froze completely. (thread 1) #0 0x00007f227c59adc9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f22752d6c7d in g_main_context_wait () from /usr/lib/libglib-2.0.so.0 #2 0x00007f22752d8ee1 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #3 0x00007f2276f96a07 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #4 0x00007f22780af478 in wxEventLoop::Run () from /usr/lib/libwx_gtk2u_core-2.8.so.0 #5 0x00007f22781008e4 in wxDialog::ShowModal () from /usr/lib/libwx_gtk2u_core-2.8.so.0 #6 0x00007f2278a9ca9b in wxDebugReportPreviewStd::Show () from /usr/lib/libwx_gtk2u_qa-2.8.so.0 #7 0x00007f22797adfb5 in AtlasDLLApp::OnFatalException (this=0x2da95f0) at ../../../source/tools/atlas/AtlasUI/Misc/DLLInterface.cpp:254 #8 0x00007f2277a1fe4c in wxFatalSignalHandler () from /usr/lib/libwx_baseu-2.8.so.0 #9 <signal handler called> (thread 3) #0 0x00007f227c59cc81 in sem_wait () from /lib/libpthread.so.0 #1 0x00000000008e0d9d in MessagePasserImpl::Query (this=0xf1fc20, qry=0x7f2272c75530) at ../../../source/tools/atlas/GameInterface/MessagePasserImpl.cpp:166 #2 0x00007f22797af050 in AtlasMessage::QueryMessage::Post (this=0x7f2272c75530) at ../../../source/tools/atlas/AtlasUI/ScenarioEditor/ScenarioEditor.cpp:796 #3 0x00007f22797b17a9 in ScenarioEditor::OpenFile (this=0x2ec5530, name=@0x7f2272c755d0) at ../../../source/tools/atlas/AtlasUI/ScenarioEditor/ScenarioEditor.cpp:581 #4 0x00007f22797b1943 in ScenarioEditor::OnMRUFile (this=0x2ec5530, event=@0x7f2272c756d0) at ../../../source/tools/atlas/AtlasUI/ScenarioEditor/ScenarioEditor.cpp:611 #5 0x00007f2277a1b7b9 in wxEvtHandler::ProcessEventIfMatches () from /usr/lib/libwx_baseu-2.8.so.0 #6 0x00007f2277a1c993 in wxEventHashTable::HandleEvent () from /usr/lib/libwx_baseu-2.8.so.0 #7 0x00007f2277a1ca87 in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.8.so.0 |
|||
| #428 | fixed | Generated Makefiles should not try to run wrong premake | ||
| Description |
The Makefiles generated by Premake try to detect when the .lua file changed, and re-run (We already use a custom fork of Premake so it'd be adequate to just hard-code these changes into Premake's source.) |
|||
| #429 | fixed | Documentation and tests for new serialization, CParamNode code | ||
| Description |
The new serialization and CParamNode code needs tests and documentation. |
|||
| #431 | fixed | GUI integration | ||
| Description |
Need to have some integration between the GUI and simulation. Rather than try to get the 'real' GUI working, just concentrate for now on getting a rough approximation of the right data being shown and updated, and messages passing from the GUI back to the simulation. |
|||
| #432 | fixed | Make error [2] | ||
| Description |
I got an error while compilation with AtlasUi in "obj/AtlasUI_Debug/DLLInterface.o" Debug/precompiled.h ../../../source/tools/atlas/AtlasUI/Misc/DLLInterface.cpp ../../../source/tools/atlas/AtlasUI/Misc/DLLInterface.cpp:48:2: error: #error libxml2 must have threading support enabled make[1]: * [obj/AtlasUI_Debug/DLLInterface.o] Erreur 1 make: * [AtlasUI] Erreur 2 I'm on Ubuntu Karmic 9.10 tell me if you need more information this is my first report and my english sucks ! |
|||
| #434 | fixed | [PATCH] Don't render transparent objects twice | ||
| Description |
That seems like a terrible idea. We have lots of transparent objects (trees) so it will kill performance; and the overdraw makes transparent objects look different, so when we fix the performance bug all the art will be wrongly calibrated. Possible temporary solution: don't support transparent objects underwater. Possible better solution: do the overdraw only on models which intersect the water plane. Ideal solution: render transparent objects correctly always (but I don't know how that'd be implemented). |
|||
| #435 | fixed | Unit selection in GUI | ||
| Description |
The new simulation system should let you select entities properly. Inputs should be similar to the old system - click to select, double-click to select all of type on screen, triple-click to select all of type in world, drag to select in area, shift to add to current selection, plus predefined groups, or something like that. Also it should handle own vs enemy units sensibly. See |
|||
| #436 | fixed | Entity commands | ||
| Description |
It needs to be possible for the GUI to push commands onto a command queue, which (eventually) will be network-synchronised, and then entities need to respond to the commands. Also it needs some kind of security checking, so you can't move other players' units around. Also it'd be nice if it could do things like play sounds immediately when the command is pushed, rather than after the network turn latency. |
|||
| #437 | fixed | Document the process of writing components | ||
| Description |
See SimulationSyntax. Need to extend it to cover writing script wrappers for interfaces, defining components in C++, and defining components in JS. Also need to cover all the simulation-specific things you might want to do inside a component ( |
|||
| #438 | fixed | Add a jsval wrapper type | ||
| Description |
Some of the code uses jsval as a template type parameter, particularly in ToJSVal/FromJSVal. Since jsval is a typedef of unsigned long (or something like that), it conflicts with the normal integer type and things will break. (The current code doesn't even compile on 32-bit Linux). So there should be a special type (maybe a ScriptVal or something) which just wraps a jsval, and can be used as a distinct type for templates. |
|||
| #439 | duplicate | Make Atlas terrain texture previews work with force_s3tc_enable | ||
| Description |
The game mostly works on Linux with compressed textures if you set DRI's force_s3tc_enable flag. But the terrain previews in Atlas don't work - they're just black squares. (They do work fine if the libtxc_dxtn library is installed, but it's a pain to expect users to install that.)
(See So Atlas needs to do something different. Maybe the engine should just use its own software S3TC decoder - that would additionally save the cost of loading every terrain texture into a full GL texture, since we only actually need to decode a small chunk of a single mipmap level. |
|||
| #440 | duplicate | "libxml2 must have threading support enabled" error | ||
| Description |
Building trace:
Running System information:
Attached complete error list in this ticket. Notes: Don't know if this is a bug, but I couldn't find some way of "enabling thread support" to libxml2" and build the game to enter the project. Build with svn updated to revision 7223. Tried "make -j3" and "make" and is the same error.
Thanks. |
|||
| #441 | fixed | Run the GC occasionally | ||
| Description |
JS won't automatically run the GC until it's run out of memory, which might be an inconvenient time to freeze the simulation. We should probably call it manually at regular intervals, when it's least likely to cause disruption (e.g. during a frame when it's not also busy doing all the simulation computation), to make it more predictable. |
|||
| #442 | fixed | gui/common/functions_page_session.js(174): Error: Size only accepts strings or GUISize objects | ||
| Description |
When I start a new game, it doesn't matter the map I get only a huge circle: here's a screenshot and a video with the bug. And the output of pyrogenesis_dbg: TIMER| InitVfs: 6.28272 ms TIMER| InitScripting: 2.62648 ms TIMER| CONFIG_Init: 10.9219 ms TIMER| write_sys_info: 1.12136 ms TIMER| ps_console: 5.00708 ms TIMER| ps_lang_hotkeys: 4.32716 ms TIMER| common/setup.xml: 13.6533 ms TIMER| common/styles.xml: 1.8468 ms TIMER| common/sprite1.xml: 41.6079 ms TIMER| common/init.xml: 14.132 ms TIMER| pregame/mainmenu.xml: 75.108 ms TIMER| common/global.xml: 1.93192 ms TIMER| InitRenderer: 32.0211 ms TIMER| SimulationInit: 2.881 ms TIMER| Init_miscgamesection: 26.0635 ms SND| alc_init: success, using ALSA Software TIMER| common/setup.xml: 1.759 ms TIMER| common/styles.xml: 2.11024 ms TIMER| common/sprite1.xml: 81.4024 ms TIMER| common/init.xml: 18.9571 ms TIMER| loading/loading.xml: 3.22424 ms TIMER| common/global.xml: 1.27692 ms TIMER| common/setup.xml: 2.15872 ms TIMER| common/styles.xml: 2.22512 ms TIMER| common/sprite1.xml: 77.4852 ms TIMER| common/init.xml: 23.1116 ms TIMER| session/session.xml: 68.2606 ms TIMER| session/manual.xml: 3.00416 ms TIMER| common/global.xml: 10.2518 ms ERROR: GUI page 'page_session.xml': Failed to call init() function GAME STARTED, ALL INIT COMPLETE gui/common/functions_page_session.js(174): Error: Size only accepts strings or GUISize objects ERROR: JavaScript Error (gui/common/functions_page_session.js, line 174): Error: Size only accepts strings or GUISize objects TIMER| shutdown Scheduler: 7.92 us TIMER| shutdown mouse stuff: 49.04 us TIMER| shutdown Pathfinder: 180.919 us TIMER| shutdown game scripting stuff: 14.8534 ms TIMER| shutdown actor stuff: 11.28 us TIMER| shutdown TexMan: 5.6 us TIMER| shutdown Renderer: 582.64 us TIMER| shutdown ScriptingHost: 7.24432 ms TIMER| shutdown ConfigDB: 2.08 us TIMER| shutdown CSocketBase: 229.68 us TIMER| shutdown CNetLogManager: 45.999 us TIMER| shutdown I18N: 7.72 us TIMER| resource modules: 38.0077 ms TIMER TOTALS (25 clients) ----------------------------------------------------- js_timer 19: 0 c (0x) js_timer 18: 0 c (0x) js_timer 17: 0 c (0x) js_timer 16: 0 c (0x) js_timer 15: 0 c (0x) js_timer 14: 0 c (0x) js_timer 13: 0 c (0x) js_timer 12: 0 c (0x) js_timer 11: 0 c (0x) js_timer 10: 0 c (0x) js_timer 9: 0 c (0x) js_timer 8: 0 c (0x) js_timer 7: 99.6559 Mc (598x) js_timer 6: 226.475 Mc (598x) js_timer 5: 190.2 Mc (106x) js_timer 4: 54.9052 Mc (106x) js_timer 3: 74.5003 Mc (106x) js_timer 2: 128.114 Mc (106x) js_timer 1: 1.84467e+10 Gc (106x) js_timer 0: 0 c (2x) tc_2: 0 c (0x) tc_1: 0 c (0x) tc_transform: 2108.03 kc (14x) tc_plain_transform: 3394.96 kc (14x) tc_png_decode: 0 c (0x) ----------------------------------------------------- TIMER| shutdown misc: 638.841 us I am building 0ad on Slackware Linux 13 x86_64 from subversion with Revision: 7232 |
|||
| #443 | fixed | Add GPL header | ||
| Description |
Need to remember to add the GPL header block to all the new source files. |
|||
| #444 | fixed | Merge simulation code into SVN | ||
| Description |
Need to merge the code currently in the Hg branch into SVN. (Now seems as good a time as any.) |
|||
| #446 | worksforme | DirWatch doesn't like Windows symbolic links | ||
| Description |
If I create a symbolic directory link (via
It'd be nicer if worked. (But it already works fine with junctions ( |
|||
| #447 | worksforme | Minimap overlays button tooltips. | ||
| Description |
In the game, button tooltips become partially obstructed by the minimap. It seems that the problem originates from the poor implementation of CTooltip::Draw() in CTooltip.cpp, but if it's of any help, I managed to bypass the bug by commenting out glDisable(GL_DEPTH_TEST) in MiniMap.cpp, line 263. |
|||
| #448 | fixed | Building construction placement UI | ||
| Description |
When the player chooses to build a building, they need some way to pick a location for it.
The implementation should be somewhat similar to the Atlas entity preview feature. Probable approach is: |
|||
| #449 | fixed | Crash when starting a new game | ||
| Description |
When starting a new game Pyrogenesis crashes. It seems to be loading the map and all as I get ~ a second before the game crashes when I can see the game, and hear the music, it's at most a second though as the game crashes almost immediately and the music start to repeat the first < second or so. See below for call stack + output from VC++ Call stack: wrap_oal.dll!0b641d5a()
[Frames below may be incorrect and/or missing, no symbols loaded for wrap_oal.dll]
winmm.dll!76b454e3()
winmm.dll!76b5adfe()
winmm.dll!76b5aee9()
winmm.dll!76b5af02()
kernel32.dll!7c80b729()
> pyrogenesis_dbg.exe!CreateDirectories(const boost::filesystem::basic_path<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,boost::filesystem::wpath_traits> & path={...}, unsigned int mode=0) Line 116 + 0x13 bytes C++
Output from VC++: TIMER| common/global.xml: 17.62 ms GAME STARTED, ALL INIT COMPLETE First-chance exception at 0x0b641d5a in pyrogenesis_dbg.exe: 0xC0000094: Integer division by zero. Unhandled exception at 0x0b641d5a in pyrogenesis_dbg.exe: 0xC0000094: Integer division by zero. The program '[116860] pyrogenesis_dbg.exe: Native' has exited with code 0 (0x0). Please tell me if there's anything else you want to know. I've attached my system_info.txt. |
|||
| #450 | fixed | Incorrect local.cfg search path | ||
| Description |
As in this post, the game doesn't look in the per-user path for local.cfg, and it should do. (Adding to Trac because I'd forgotten about it entirely and someone mentioned it, and I don't think it's been fixed yet.) |
|||
| #451 | fixed | CParamNode::GetChild should return CParamNode& instead of CParamNode* | ||
| Description |
Ideally, GetChild would return a CParamNode& instead of a CParamNode* (now that it will never return NULL), to simplify the usage syntax (GetChild("x").GetChild("y") instead of GetChild("x")->GetChild("y")). |
|||
| #452 | fixed | Extended Latin characters show up as question marks in diamonds on loading screen | ||
| #453 | fixed | "Assertion failed: "hModule" Location: wdlfcn.cpp:55 (dlopen)" when trying to start Atlas | ||
| Description |
Assertion failed: "hModule"
Location: wdlfcn.cpp:55 (dlopen)
Call stack:
dlopen (wdlfcn.cpp:50)
so_name = 0xCCCCCCCC
flags = 1244820 (0x0012FE94)
hModule = 0xCCCCCCCC
pathname =
m_path = (error -100500 while analyzing string<td::char_traits<char> >)
DllLoader::LoadDLL (dllloader.cpp:70)
this = 0x00BAD56B ->
m_Name = 0x0824548B -> (unavailable - internal error)
m_Handle = 0x8B0C428D
ATLAS_Run (atlas.cpp:41)
args = 0x0012FEC8 ->
m_Args = (error -100500 while analyzing vector<pair<CStr8,CStr8> >)
m_Arg0 = { (error -100500 while analyzing string<td::char_traits<char> >) }
flags = 3017173665 (0xB3D66AA1)
ATLAS_RunIfOnCmdLine (atlas.cpp:70)
args = 0x00000002
RunGameOrAtlas (main.cpp:379)
argc = 2 (0x00000002)
argv = 0x01F17690 -> 0x01F1769C -> "h:\0ad\binaries\system\pyrogenesis_dbg.exe"
ran_atlas = true
args =
m_Args = (error -100500 while analyzing vector<pair<CStr8,CStr8> >)
m_Arg0 = { (error -100500 while analyzing string<td::char_traits<char> >) }
res = 2.63516e-299 (0x01F1A5C0CCCCCCCC)
main (main.cpp:416)
argc = 1245112 (0x0012FFB8)
argv = 0x00506C74 -> 0xC7E04589 -> (unavailable - internal error)
__tmainCRTStartup (crtexe.c:410)
mainCRTStartup (crtexe.c:393)
CallStartupWithinTryBlock (wseh.cpp:352)
ret = 1245060 (0x0012FF84)
00000000
ret = 2147328000 (0x7FFDA000)
errno = 0 (?)
OS error = 0 (no error code was set)
After I click continue I get the following error message: The Atlas UI was not successfully loaded and therefore cannot be started as requested.
Location: Atlas.cpp:46 (ATLAS_Run)
Call stack:
ATLAS_Run (atlas.cpp:41)
args = 0x0012FEC8 ->
m_Args = (error -100500 while analyzing vector<pair<CStr8,CStr8> >)
m_Arg0 = { (error -100500 while analyzing string<td::char_traits<char> >) }
flags = 3017173665 (0xB3D66AA1)
ATLAS_RunIfOnCmdLine (atlas.cpp:70)
args = 0x00000002
RunGameOrAtlas (main.cpp:379)
argc = 2 (0x00000002)
argv = 0x01F17690 -> 0x01F1769C -> "h:\0ad\binaries\system\pyrogenesis_dbg.exe"
ran_atlas = true
args =
m_Args = (error -100500 while analyzing vector<pair<CStr8,CStr8> >)
m_Arg0 = { (error -100500 while analyzing string<td::char_traits<char> >) }
res = 2.63516e-299 (0x01F1A5C0CCCCCCCC)
main (main.cpp:416)
argc = 1245112 (0x0012FFB8)
argv = 0x00506C74 -> 0xC7E04589 -> (unavailable - internal error)
__tmainCRTStartup (crtexe.c:410)
mainCRTStartup (crtexe.c:393)
CallStartupWithinTryBlock (wseh.cpp:352)
ret = 1245060 (0x0012FF84)
00000000
ret = 2147328000 (0x7FFDA000)
errno = 0 (?)
OS error = 0 (no error code was set)
And if it's useful here's the output, perhaps it can provide some clues{{{ 'pyrogenesis_dbg.exe': Loaded 'H:\0ad\binaries\system\pyrogenesis_dbg.exe', Symbols loaded. 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\opengl32.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\rpcrt4.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\secur32.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\gdi32.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\user32.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\glu32.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\ddraw.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\dciman32.dll' 'pyrogenesis_dbg.exe': Loaded 'H:\0ad\binaries\system\libxml2.dll', Binary was not built with debug information. 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\wsock32.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\ws2_32.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\ws2help.dll' 'pyrogenesis_dbg.exe': Loaded 'H:\0ad\binaries\system\iconv.dll', Binary was not built with debug information. 'pyrogenesis_dbg.exe': Loaded 'H:\0ad\binaries\system\zlib1.dll', Binary was not built with debug information. 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_e6967989\msvcr80.dll' 'pyrogenesis_dbg.exe': Loaded 'H:\0ad\binaries\system\OpenAL32.dll', Binary was not built with debug information. 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\shell32.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\shlwapi.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\winmm.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\ole32.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\oleaut32.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_f863c71f\msvcp90d.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_f863c71f\msvcr90d.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\comctl32.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\dsound.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\version.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\setupapi.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\wintrust.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\crypt32.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\msasn1.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\imagehlp.dll' 'pyrogenesis_dbg.exe': Unloaded 'C:\WINDOWS\system32\setupapi.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\setupapi.dll' 'pyrogenesis_dbg.exe': Unloaded 'C:\WINDOWS\system32\setupapi.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\wdmaud.drv' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\setupapi.dll' 'pyrogenesis_dbg.exe': Unloaded 'C:\WINDOWS\system32\setupapi.dll' 'pyrogenesis_dbg.exe': Unloaded 'C:\WINDOWS\system32\wdmaud.drv' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\wdmaud.drv' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\setupapi.dll' 'pyrogenesis_dbg.exe': Unloaded 'C:\WINDOWS\system32\setupapi.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\msacm32.drv' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\msacm32.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\midimap.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\setupapi.dll' 'pyrogenesis_dbg.exe': Unloaded 'C:\WINDOWS\system32\setupapi.dll' HPET: rev=1 vendor=8086 bits=64 period=429B17F freq=1.43182e+007 wdlfcn.cpp(55): Assertion failed: "hModule" 'pyrogenesis_dbg.exe': Loaded 'H:\0ad\binaries\system\dbghelp.dll' First-chance exception at 0x0052471b in pyrogenesis_dbg.exe: 0xC0000005: Access violation reading location 0x0824548b. First-chance exception at 0x0052471b in pyrogenesis_dbg.exe: 0xC0000005: Access violation reading location 0xc7e04589. 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\uxtheme.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\Program Files\RocketDock\RocketDock.dll', Binary was not built with debug information. 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\psapi.dll' 'pyrogenesis_dbg.exe': Loaded 'C:\WINDOWS\system32\MSCTF.dll' Atlas.cpp(46): The Atlas UI was not successfully loaded and therefore cannot be started as requested. First-chance exception at 0x0052471b in pyrogenesis_dbg.exe: 0xC0000005: Access violation reading location 0xc7e04589. The thread 'whrt_UpdateThread' (0x2be7c) has exited with code 0 (0x0). The thread 'Win32 Thread' (0x2c1d0) has exited with code 0 (0x0). The program '[180652] pyrogenesis_dbg.exe: Native' has exited with code 0 (0x0). }}} mainlog.html is not updated, I've attached system_info.txt |
|||
| #454 | fixed | "Debug Assertion Failed!" in VC++ Express 2008 when clicking on "Copy" button in pyrogenesis error dialog box | ||
| Description |
When pressing the Copy button in the Program Error window when running the game (with -editor) in VC++ Express 2008, I get an error message from VC++:
So I do, another dialog box:
I press break, and below is the call stack: > pyrogenesis_dbg.exe!SetClipboardText(const wchar_t * text=0x02e90068, void * * hMem=0x0012f400) Line 35 + 0x14 bytes C++
pyrogenesis_dbg.exe!sys_clipboard_set(const wchar_t * text=0x02e90068) Line 55 + 0xd bytes C++
pyrogenesis_dbg.exe!error_dialog_proc(HWND__ * hDlg=0x00090978, unsigned int msg=273, unsigned int wParam=1002, long lParam=395626) Line 183 + 0x9 bytes C++
user32.dll!7e418734()
user32.dll!7e423ce4()
user32.dll!7e423b30()
user32.dll!7e43e577()
user32.dll!7e418734()
user32.dll!7e418734()
user32.dll!7e43e577()
user32.dll!7e43e577()
user32.dll!7e43e18a()
MSCTF.dll!747313d4()
MSCTF.dll!747313d9()
MSCTF.dll!7473057a()
user32.dll!7e418734()
user32.dll!7e418816()
user32.dll!7e4189cd()
user32.dll!7e4193e9()
user32.dll!7e4193a8()
user32.dll!7e431b7c()
user32.dll!7e4249c4()
user32.dll!7e424a06()
user32.dll!7e43b190()
pyrogenesis_dbg.exe!sys_display_error(const wchar_t * text=0x02040000, unsigned int flags=6) Line 265 + 0x1d bytes C++
pyrogenesis_dbg.exe!CallDisplayError(const wchar_t * text=0x02040000, unsigned int flags=6) Line 405 + 0xd bytes C++
pyrogenesis_dbg.exe!debug_DisplayError(const wchar_t * description=0x0012f9bc, unsigned int flags=6, void * context=0x00000000, const wchar_t * lastFuncToSkip=0x01f1a640, const wchar_t * pathname=0x00c1b0a0, int line=55, const char * func=0x00c1b098, unsigned char * suppress=0x00d48993) Line 480 + 0xd bytes C++
pyrogenesis_dbg.exe!debug_OnAssertionFailure(const wchar_t * expr=0x00c1b108, unsigned char * suppress=0x00d48993, const wchar_t * file=0x00c1b0a0, int line=55, const char * func=0x00c1b098) Line 565 + 0x35 bytes C++
pyrogenesis_dbg.exe!dlopen(const char * so_name=0x0012fe48, int flags=10) Line 55 + 0x21 bytes C++
pyrogenesis_dbg.exe!DllLoader::LoadDLL() Line 82 + 0x10 bytes C++
pyrogenesis_dbg.exe!ATLAS_Run(const CmdLineArgs & args={...}, int flags=1) Line 43 + 0xa bytes C++
pyrogenesis_dbg.exe!ATLAS_RunIfOnCmdLine(const CmdLineArgs & args={...}) Line 73 + 0xb bytes C++
pyrogenesis_dbg.exe!RunGameOrAtlas(int argc=2, const char * * argv=0x01f17690) Line 393 + 0x9 bytes C++
pyrogenesis_dbg.exe!main(int argc=2, char * * argv=0x01f17690) Line 419 + 0xd bytes C++
pyrogenesis_dbg.exe!__tmainCRTStartup() Line 586 + 0x19 bytes C
pyrogenesis_dbg.exe!mainCRTStartup() Line 403 C
pyrogenesis_dbg.exe!CallStartupWithinTryBlock() Line 356 + 0x5 bytes C++
pyrogenesis_dbg.exe!wseh_EntryPoint() Line 384 C++
kernel32.dll!7c817077()
pyrogenesis_dbg.exe!std::_Tree<std::_Tmap_traits<void const *,CModelDefRPrivate *,std::less<void const *>,std::allocator<std::pair<void const * const,CModelDefRPrivate *> >,0> >::insert(std::_Tree<std::_Tmap_traits<void const *,CModelDefRPrivate *,std::less<void const *>,std::allocator<std::pair<void const * const,CModelDefRPrivate *> >,0> >::const_iterator _Where=(...,..., const std::pair<void const * const,CModelDefRPrivate *> & _Val=(...,...) Line 691 + 0x1f bytes C++
e04d8d52()
The output seems to be the same as the other error (and I assume at least some of the above information is at least as much related to that error as this error :P If nothing else it was that error that caused the error box to appear in the first place.) http://trac.wildfiregames.com/attachment/ticket/453 <-- the other error, am getting too tired to make nicer link =) Please tell me if I've missed some information and I'll try to include it. |
|||
| #455 | wontfix | Fix SVN server setup | ||
| Description |
When we first got a lot of SVN users, the server processes kept eating up all available RAM and crashing the machine. So currently it's got mod_deflate disabled (suggested here) and SVNAllowBulkUpdates Off, which has solved that problem but makes checkouts really slow. Probably what I should do is add some per-process memory limit so it'll safely die instead of causing serious harm, and then try to work out what situations trigger the high memory usage (particular versions of TortoiseSVN perhaps?), and deal with it appropriately (e.g. redirect users of bad clients to a slower, safer copy of the repository). Also SVN snapshots would be nice. Also adding a new URL for non-Windows users, that excludes the Windows libraries and binaries, would be nice. |
|||
| #456 | fixed | DllLoader should handle missing files better | ||
| Description |
(Ignore the comment in
Because Atlas is a bit awkward and slow to compile, it's disabled by default on Windows, so
So in Debug builds on Windows,
In all cases, it shouldn't trigger internal error messages in |
|||
| #458 | fixed | Game tries to create mods/internal/ directory | ||
| Description |
When running the public build, the game still tries to mount the |
|||
| #459 | fixed | vfs_Lookup tries to create bogus directories | ||
| Description |
When I run the game on Linux (with no non-standard directories, and with a read-only root),
The |
|||
| #460 | fixed | Integrate new random maps with Atlas | ||
| Description |
After the new simulation system new reasons why this doesn't work were added, I don't know enough about them to explain it, but I thought I should at least update the description to reflect that the reason it is broken have changed. At least that's what I assume. I don't know enough of the inner workings of the engine to tell if it's something different, but I think the first time I saw it was pretty soon after the change. In any case, as far as I can tell most things work (at least the maps I've tried don't display any error during the creation phase, i.e. the time while the "command" window is displayed), however the textures don't show up on cantabrian_highlands.j, and I get errors after the map creation has finished on other maps, so it should preferably be looked into by someone with more knowledge of the system than me. |
|||
| #461 | fixed | [ATTACHED] .pmd/.dae converter | ||
| Description |
Many of the models are in the PMD format and are not editable by most 3d editing programs. A converter would be needed to ensure high modability in this game, as well to make edits to models. An alternate solution is for someone to just convert all PMD to DAE. |
|||
| #462 | fixed | Switch to new SpiderMonkey as default | ||
| Description |
Make --with-spidermonkey-tip the default. Make update-workspaces.sh run the new SM build script. Compile the new version for Windows. |
|||
| #463 | fixed | Set up source/data snapshots | ||
| Description |
Rather than forcing everyone to download from SVN, there should be a few downloadable-over-HTTP snapshots provided:
These don't all need to be updated constantly, but hopefully it'll be fairly frequent and so it should be automated as much as possible. Maybe use Wine to generate the Windows working copies.
In the non-SVN distributions, Windows files should be .7z (because .zip is far too inefficient). Linux files should be .tar.gz or maybe .7z/.tar.lzma (if it's efficient enough to be worthwhile).
Put the files on |
|||
| #464 | fixed | addendum to changeset [7341] | ||
| Description |
addendum to [7341] you forgot some files.. |
|||
| #465 | invalid | where is fam.h | ||
| Description |
Compiling under gentoo: Building lowleveldir_watch_fam.cpp ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:33:18: attention : wfam.h : Aucun fichier ou dossier de ce type ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:40: erreur: ‘FAMCodes’ does not name a type ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:60: erreur: ‘FAMConnection’ does not name a type ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp: In destructor ‘DirWatch::~DirWatch()’: ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:73: erreur: ‘FAMRequest’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:73: erreur: expected `;' before ‘req’ ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:74: erreur: ‘req’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:75: erreur: ‘fc’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:75: erreur: ‘FAMCancelMonitor’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp: In function ‘void fam_deinit()’: ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:86: erreur: ‘fc’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:86: erreur: ‘FAMClose’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp: In function ‘void fam_event_loop_process_events()’: ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:100: erreur: ‘fc’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:100: erreur: ‘FAMPending’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:102: erreur: ‘FAMEvent’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:102: erreur: expected `;' before ‘e’ ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:103: erreur: ‘e’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:103: erreur: ‘FAMNextEvent’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:110: erreur: ‘e’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:112: erreur: ‘struct NotificationEvent’ has no member named ‘code’ ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp: In function ‘void* fam_event_loop(void*)’: ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:122: erreur: ‘fc’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:122: erreur: ‘FAMCONNECTION_GETFD’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp: In function ‘LibError dir_watch_Add(const boost::filesystem::wpath&, PDirWatch&)’: ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:167: erreur: ‘fc’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:167: erreur: ‘FAMOpen2’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:193: erreur: ‘FAMRequest’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:193: erreur: expected `;' before ‘req’ ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:194: erreur: ‘fc’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:194: erreur: ‘req’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:194: erreur: ‘FAMMonitorDirectory’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:202: erreur: ‘req’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp: In function ‘LibError dir_watch_Poll(DirWatchNotifications&)’: ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:225: erreur: ‘struct NotificationEvent’ has no member named ‘code’ ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:227: erreur: ‘FAMChanged’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:230: erreur: ‘FAMCreated’ was not declared in this scope ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:233: erreur: ‘FAMDeleted’ was not declared in this scope make[1]: * [obj/lowlevel_Debug/dir_watch_fam.o] Erreur 1 make: * [lowlevel] Erreur 2 |
|||
| #466 | wontfix | Add SpiderMonkey JIT stats to profiler | ||
| Description |
Currently we don't enable SpiderMonkey's JIT (because it adds complexity and hasn't yet been necessary), but at some point we might do so, in which case this will become more useful:
It might be useful to make that data accessible in the game, so we can see if anything causes the JIT to stop working properly. This should probably be implemented as part of the in-game profiler - see We have multiple SpiderMonkey runtimes, and it looks like there's only a single global copy of the JIT stats, so that's probably not ideal but it might work okay anyway. |
|||
| #467 | fixed | Make Math.random() network-synchronised | ||
| Description |
In the simulation code, |
|||
| #468 | duplicate | Access violation writing 0x0B69CA40 | ||
| Description |
Much to our regret we must report the program has encountered an error. Please let us know at http://trac.wildfiregames.com/ and attach the crashlog.txt and crashlog.dmp files. Details: unhandled exception (Access violation writing 0x0B69CA40) Location: unknown:0 (?) Call stack: 0B69CA40 errno = 0 (?) OS error = 487 (Poging om toegang te verkrijgen tot ongeldig adres.) Above translated: Attempt to access a invalid adress. When debugging in vs2008, stops at this part (green arrow pointing at second line): File: unifont.cpp // [cumulative for 12: 20ms] (*f->glyphs_id)[(wchar_t)Codepoint] = (unsigned short)i; (*f->glyphs_size)[(wchar_t)Codepoint] = Advance; |
|||
| #469 | worksforme | [NEEDS INFO] Access violation writing 0x0B69CA40 | ||
| Description |
Much to our regret we must report the program has encountered an error. Please let us know at http://trac.wildfiregames.com/ and attach the crashlog.txt and crashlog.dmp files. Details: unhandled exception (Access violation writing 0x0B69CA40) Location: unknown:0 (?) Call stack: 0B69CA40 errno = 0 (?) OS error = 487 (Poging om toegang te verkrijgen tot ongeldig adres.) Above translated: Attempt to access a invalid adress. When debugging in vs2008, stops at this part (green arrow pointing at second line): File: unifont.cpp // [cumulative for 12: 20ms] (*f->glyphs_id)[(wchar_t)Codepoint] = (unsigned short)i; (*f->glyphs_size)[(wchar_t)Codepoint] = Advance; |
|||
| #470 | fixed | Use correct projectile actor | ||
| Description |
Projectiles need to be created with the correct actor (probably just coming from the attacker's actor's relevant prop point, not from the entity template, since that's easier with the current data files). |
|||
| #471 | wontfix | Fix Trac mail sending | ||
| Description |
Gmail says it's spam. Received-SPF: softfail (google.com: domain of transitioning admin@wildfiregames.com does not designate 92.243.11.39 as permitted sender) client-ip=92.243.11.39; Authentication-Results: mx.google.com; spf=softfail (google.com: domain of transitioning admin@wildfiregames.com does not designate 92.243.11.39 as permitted sender) smtp.mail=admin@wildfiregames.com |
|||
| #472 | fixed | Fixed-point CTerrain::GetExactGroundLevel | ||
| Description |
Need to reimplement |
|||
| #473 | fixed | not able to update svn from ubuntu | ||
| Description |
I am always getting the following error: svn: OPTIONS of 'http://svn.wildfiregames.com/public/ps/trunk': timed out waiting for server (http://svn.wildfiregames.com) subversion client details: svn, version 1.6.6 (r40053)
Copyright (C) 2000-2009 CollabNet. Subversion is open source software, see http://subversion.tigris.org/ This product includes software developed by CollabNet (http://www.Collab.Net/). The following repository access (RA) modules are available:
|
|||
| #474 | fixed | Find and fix reliance on run-time S3TC compression | ||
| Description |
When I run on Linux with
|
|||
| #475 | fixed | Graphic settings system | ||
| Description |
Currently the graphics settings are determined by the defaults in It ought to be based partly on performance, e.g. don't enable fancywater and pretty shadows by default on rubbish slow Intel devices (perhaps based on some benchmarking on first run, or a hardcoded list of common known devices?), and the user should be able to configure things in the UI and preferably see the changes dynamically and then save their settings. |
|||
| #476 | fixed | Use JS_New for ScriptInterface::CallConstructor | ||
| Description |
The new JS_New function looks like it does what |
|||
| #477 | wontfix | include svn revision number | ||
| Description |
WRT r7400 it would be nice to also include svn version from which the code get compiled, see http://subversion.apache.org/faq.html#version-value-in-source |
|||
| #478 | invalid | fpclassify test failure on Windows | ||
| Description |
|
|||
| #479 | fixed | Make water animate again | ||
| Description |
Water doesn't animate with the new simulation system. It should. (Probably just forgetting to send update messages to it.) |
|||
| #480 | fixed | Fix gamma warning | ||
| Description |
Assertion failed: "SDL_SetGamma failed" Location: GameSetup.cpp:142 (SetVideoMode) 18:01 <@Philip-> janwas: Should the warning about gamma be disabled, because it's a bit annoying and doesn't seem to be useful? 18:03 < janwas> Philip-: hm, that check has failed (in the intervening years, no one was able to find the underlying problem), so it can probably be commented out :) (preferably with a note that it sometimes fails, usually on multimon systems) |
|||
| #481 | fixed | Make Atlas work from non-binaries/system/ location | ||
| Description |
If Atlas isn't run from binaries/system/ then it fails to find files. Fix it. |
|||
| #482 | fixed | Fix building on Windows in paths containing space characters | ||
| Description |
When located in a path containing spaces, the Windows builds fail with some error message. If I remember correctly, the problem is we pass an absolute path to the Someone should verify that this is really the cause of the errors, and fix it. |
|||
| #483 | fixed | Fix actor viewer | ||
| Description |
The actor viewer (the one that's integrated into Atlas) doesn't work with the new simulation system. It needs to be substantially changed so it renders entity previews, not actors, and does all the necessary bookkeeping to interact with the sim components. |
|||
| #484 | fixed | unhandled exception 0xC06D007E in wdll_delay_load.cpp:358 (__delayLoadHelper2) | ||
| Description |
Somebody just got the error: Details: unhandled exception (Unknown (0xC06D007E)) Location: wdll_delay_load.cpp:358 (__delayLoadHelper2)
when running on 64-bit Windows 7. This looks like it's probably the same error as somebody else (whose name I forget) reported a while ago, where I think we discovered that the delay-loader was failing to load |
|||
| #485 | invalid | [spam] | ||
| Description |
[spam] |
|||
| #486 | fixed | Audio integration | ||
| Description |
Need to work out how to integrate audio with the new simulation code. |
|||
| #487 | fixed | Use 'use strict' | ||
| Description |
Automatically prepend simulation scripts with |
|||
| #488 | invalid | Spam | ||
| #489 | fixed | Clean up unix-build tarball | ||
| Description |
http://www.wildfiregames.com/forum/index.php?showtopic=12996&hl=
I don't know if this is exactly the correct list to exclude; should double-check exactly which files are getting included and remove the unused ones from SVN or from the tar. |
|||
| #490 | fixed | Try splitting test data files into build tarball | ||
| Description |
See https://bugs.launchpad.net/getdeb.net/+bug/556356 comment 4. It'd probably be nice if the build tarball was sufficient for compiling and running all the tests, and if the data tarball only included game data and not test data, assuming we can actually split them cleanly in that way. |
|||
| #491 | fixed | Generate entity XML documentation | ||
| Description |
We should have some documentation along the lines of XML.Entity for the new simulation system, aimed at people who are writing XML by hand (not writing scripts or C++) or who want an overview of the features supported by entities. This is probably a precursor to (and obsoleted by) #422 - it's good to have readable offline documentation even if it's duplicated in a cleverer editing tool, and also it's easier than implementing the cleverer editing tool. The documentation should be generated from annotations in the RelaxNG schema so it can be kept up to date and reused. Maybe we also want some extra higher-level documentation for components, derived from the Doxygen or something? The output should probably just be plain HTML files, which can be uploaded somewhere and linked from the wiki. |
|||
| #492 | fixed | packaging resources | ||
| Description |
I am attaching some files from debian package that may be useful to other distributions and that could eventually included in the 0ad source:
Update (2012-04-10):
|
|||
| #493 | fixed | Add proper square intersection code | ||
| Description |
CCmpObstructionManager deals with line/circle/square intersections, for use with pathfinding and building placement etc. Currently squares aren't implemented at all (it pretends they're circles) - they should be added. "Squares" are non-axis-aligned rectangles, so I think it's just some slightly ugly but straightforward geometry. Everything needs to be done with fixed-point maths (to get reliably repeatable results), so care needs to be taken with overflow, which makes it a bit trickier. There ought to be some test cases for the code (see e.g. test_Position.h for the general framework for testing simulation components). |
|||
| #494 | worksforme | Ensure xmlSetStructuredErrorFunc is used correctly | ||
| Description |
A few different bits of code call xmlSetStructuredErrorFunc (Xeromyces.cpp, collada/CommonConvert.cpp, maybe FCollada). Unless I'm mistaken, they'll clobber each other's error functions and don't reset them properly. Need to test that and fix it. |
|||
| #495 | fixed | Warn when locale is bogus | ||
| Description |
What currently happens: $ LANG=bogus ./pyrogenesis_dbg terminate called after throwing an instance of 'std::runtime_error' what(): locale::facet::_S_create_c_locale name not valid Aborted This can happen on misconfigured systems where the locales aren't set up correctly. It would be better to give a much more informative warning and fall back to a default - e.g. perl says: $ LANG=bogus perl
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "",
LC_ALL = (unset),
LANG = "bogus"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
which is more helpful.
We need to do this fairly early (before any attempts to access the filesystem), so maybe in |
|||
| #496 | fixed | Make code documentation available online and kept updated | ||
| Description |
Need to get the CppDoc and Doxygen output and the entity XML documentation uploaded somewhere and linked from the wiki, with an easy way to keep them updated. CppDoc and Doxygen can probably just be run on the web server itself, given an SVN checkout. The entity XML stuff requires the .rng file which comes from compiling and running the game, which a pain so that'll probably have to be done offline and uploaded. |
|||
| #497 | fixed | Make square unit outlines match the ground better | ||
| Description |
See The straight edges ought to be split into smaller segments, each of which is fitted to the terrain, so that the whole shape fits better. Rather than a fixed number of segments, I guess they should be split so each segment is slightly smaller than a tile (4 units), or whatever looks reasonable without wasting lots of vertexes. |
|||
| #498 | fixed | Fix building footprints / obstruction shapes | ||
| Description |
Trained units spawn around the footprint, but some buildings have a larger obstruction shape so the units are unable to spawn. Need to fix either the code or the data files. |
|||
| #499 | fixed | Automatically move units away from construction sites | ||
| Description |
Currently you can't place a new building if there's any unit in the way, and it immediately blocks all movement through its area. From here:
|
|||
| #500 | fixed | [PATCH] Make Atlas work on OS X | ||
| Description |
When running
In the current design,
We then detect the As far as I can tell, the problem is that we have two Cocoa event loops, one in SDL and one in wxWidgets, and the GUI thread doesn't get the input events it needs. (See here etc for some stuff about Cocoa threading.) If that's true, we need to do, uh, something to fix it. (I have no idea what, but it might involve a redesign of the game/editor startup process). If that's not true (I'm not an OS X developer so I may easily be mistaken), we need to work out what the problem really is and then do something to fix it. |
|||
| #502 | fixed | Convert all entity template data to new format | ||
| Description |
Need to convert all the XML, and probably implement dummy components to contain the new data, and have some way to verify that there's no accidental data loss. |
|||
| #503 | fixed | Invalid UTF-8 sequence when running in Unicode paths | ||
| Description |
Running from Function call failed: return value was -100703 (Invalid UTF-8 sequence)
Location: utf8.cpp:81 (RaiseError)
Call stack:
RaiseError (utf8.cpp:74)
err = 3272664 (0x0031EFD8)
perr = 0x02FACFB9 -> 3452816640 (0xCDCDCD00)
UTF8Codec::Decode (utf8.cpp:120)
srcPos = 0x0031F1D8 -> 0xCCCCCCCC
srcEnd = 0x0031F1F8 -> [8] { 0 (0x00), 0 (0x00), 0 (0x00), 0 (0x00), 204 (0xCC), 204 (0xCC), 204 (0xCC), 204 (0xCC) }
err = 0x00000000
size = 1 (0x00000001)
offsets = [5] { 0 (0x00000000), 0 (0x00000000), 12416 (0x00003080), 925824 (0x000E2080), 63447168 (0x03C82080) }
u = 23346901 (0x01643ED5)
wstring_from_utf8 (utf8.cpp:217)
src = 0x6F8CB5CA -> (error -100500 while analyzing string<td::char_traits<char> >)
err = 0x0031FCD0 -> 3276112 (0x0031FD50)
srcEnd = 0x00000031
srcPos = 0xCCCCCCCC
dst = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
Paths::Paths (paths.cpp:31)
this = 0xCCCCCCCC
args = 0x0031FD14 ->
m_Args = (error -100500 while analyzing vector<pair<CStr8,CStr8> >)
m_Arg0 = { (error -100500 while analyzing string<td::char_traits<char> >) }
subdirectoryName = 0xCCCCCCCC
InitVfs (gamesetup.cpp:506)
args = 0x0031FD14 (see above)
hooks =
override_gl_upload_caps = 0xCCCCCCCC
get_log_dir = 0xCCCCCCCC
bundle_logs = 0xCCCCCCCC
translate = 0xCCCCCCCC
translate_free = 0xCCCCCCCC
log = 0xCCCCCCCC
display_error = 0xCCCCCCCC
readonlyConfig =
m_path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
mods = (error -100500 while analyzing vector<CStr8 >)
LINE_507_ =
m_t0 = -3689348814741910324 (0xCCCCCCCCCCCCCCCC)
m_description = 0xCCCCCCCC
logs =
m_path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
modLoosePath =
m_path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
modArchivePath =
m_path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
paths =
m_root =
m_path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
m_rdata =
m_path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
m_data =
m_path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
m_config =
m_path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
m_cache =
m_path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
m_logs =
m_path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
cacheSize = 3435973836 (0xCCCCCCCC)
Init (gamesetup.cpp:855)
args = 0x00000001
flags = 49970672 (0x02FA7DF0)
setup_vmode = 204 (0xCC)
hooks =
override_gl_upload_caps = 0xCCCCCCCC
get_log_dir = 0xCCCCCCCC
bundle_logs = 0xCCCCCCCC
translate = 0xCCCCCCCC
translate_free = 0xCCCCCCCC
log = 0xCCCCCCCC
display_error = 0xCCCCCCCC
setup_gui = 204 (0xCC)
quality = 3435973836 (0xCCCCCCCC)
missing = 0xCCCCCCCC
windowed = 204 (0xCC)
RunGameOrAtlas (main.cpp:384)
argc = 1 (0x00000001)
argv = 0x02FA7DF0 -> 0x02FA7DF8 -> "E:\0ad-test-é\binaries\system\pyrogenesis_dbg.exe"
ran_atlas = false
args =
m_Args = (error -100500 while analyzing vector<pair<CStr8,CStr8> >)
m_Arg0 = { (error -100500 while analyzing string<td::char_traits<char> >) }
res = 1.6976e-314 (0x00000000CCCCCCCC)
main (main.cpp:421)
argc = 3276292 (0x0031FE04)
argv = 0x00FAD184 -> 0xC7E04589 -> (unavailable - internal error)
__tmainCRTStartup (crtexe.c:410)
mainCRTStartup (crtexe.c:393)
CallStartupWithinTryBlock (wseh.cpp:357)
ret = 3276240 (0x0031FDD0)
00000000
ret = 23186032 (0x0161CA70)
00000000
ret = 0 (0x00000000)
RtlInitializeExceptionChain (:0)
errno = 0 (?)
OS error = 50 (The request is not supported.
)
|
|||
| #504 | fixed | Shadows popping in/out at edges of screen | ||
| Description |
Currently, shadows and geometry have a visible pop in/out at the edges of the screen due to culling too early. I'm not sure what the previous comment is referring to with shadow maps becoming too low-detail with a larger culling frustum, but one way to fix shadows popping in at the edge of the screen is to widen the culling frustum so that objects aren't culled as early. The downside is that objects will get rendered even though they appear off screen, which is somewhat inefficient. A better solution would be to decouple shadow map rendering from model rendering; as it is now, a shadow map is only rendered if its associated model is to be rendered (I think). |
|||
| #505 | fixed | Improve multiplayer session handling | ||
| Description |
Needs more testing, plus various fixes like:
and probably more - it doesn't need to be perfect at all, it just needs to be vaguely understandable and usable and needs to tell people what's going on. |
|||
| #506 | fixed | Crash when selecting host game then cancel then join game | ||
| Description |
18:32 < janwas> booom in CNetSession::SetPlayerSlot 18:32 < janwas> because m_psession == 0 18:33 < janwas> oops, that happened because i fat-fingered "host", aborted that, then did join |
|||
| #507 | fixed | Optimise state hashing | ||
| Description |
The state hashing is very useful for detecting OOS, but very slow (especially in debug builds) which makes it hard to use when testing. It should be faster. |
|||
| #508 | fixed | Cursor should be restricted to the game window when fullscreen on Win32 | ||
| Description |
When running fullscreen on a multi-monitor system, the mouse can easily leave the game window and move onto the other screen, which breaks edge-of-screen scrolling, and if you accidentally click outside then the game minimises which is quite irritating.
When fullscreen, the mouse ought to be restricted to the window (presumably via |
|||
| #509 | fixed | Network: Should call enet_initialize | ||
| Description |
Documentation for
We don't call it at all. We probably should. (It does nothing on Unix, but calls |
|||
| #510 | fixed | libpng fails to load | ||
| Description |
jd823592 on IRC reports problems, having compiled the game in Debug mode on MSVS2008 9.0.30729.1 SP on WinXP SP2 (and having run update-workspaces and 'clean'): 'pyrogenesis_dbg.exe': Loaded 'C:\0ad\binaries\system\libpng14d.dll' LDR: LdrpWalkImportDescriptor() failed to probe c:\0ad\binaries\system\libpng14d.dll for its manifest, ntstatus 0xc0150002 'pyrogenesis_dbg.exe': Unloaded 'C:\0ad\binaries\system\libpng14d.dll' First-chance exception at 0x7c812a6b in pyrogenesis_dbg.exe: 0xC06D007E: Module not found. Unhandled exception at 0x7c812a6b in pyrogenesis_dbg.exe: 0xC06D007E: Module not found.
failing in |
|||
| #511 | fixed | [PATCH] Make Ctrl+Backspace/Delete remove entire words in input controls | ||
| Description |
Currently ctrl+backspace/delete is ignored completely, which is better than how some programs react to it (i.e. placing an "unknown character" box instead of removing the entire word - I'm looking at you Photoshop =) ). It would be nice to have it working like this: Ctrl+Backspace = remove the word to the left of the cursor (i.e. the entire word left of the cursor, nothing to the right of the cursors), Ctrl+Delete the same but on the right side of the cursor. As you can see by the priority it's not something too important, but it would be nice to have it working, and it can be a good relatively simple task for someone wanting to get more familiar with the engine. |
|||
| #512 | fixed | Unable to run debug exe compiled with VC2008, Solution Attached | ||
| Description |
I've got an updated repository and workspace. I've successfully build both the release and debug executables in a fully patched VC2008 (9.0.21022.8 RTM) under Windows 7. I am able to run the release executable, but unable to run the debug executable -- either from within VC++ or outside. Solution: Since there is no VC90 version DebugCRT.manifest, the program picks up the VC80 version which has the wrong assemblyIdentity/version (recently and correctly changed in ticket #510). The fix is easy, just add a Microsoft.VC90.DebugCRT.manifest to the binaries\system directory. I've attached the file which is based on the existing non-debug version, Microsoft.VC90.CRT.manifest. |
|||
| #513 | duplicate | Notify player when host is not responding | ||
| Description |
If a client does not hear from a host for ~5 seconds, it should display a "waiting for host" message to the player (with an "exit game" button on it), and then either go back to normal or go to the "connection lost" message on network timeout. |
|||
| #514 | fixed | [PATCH] Implement dir_watch on OS X | ||
| Description |
See
See |
|||
| #515 | fixed | Doubleclicking a unit should select all similar units on screen | ||
| Description |
When doubleclicking a unit, you should select all units of the same type which are visible at once. This behavior was described in input.js comments, but not yet implemented. With this ticket I supply a patch, implementing this feature. |
|||
| #516 | fixed | Terrain smoothing tool | ||
| Description |
See this suggestion for a blur/smooth tool. I expect it can be implemented like:
As for actually implementing the smooth functionality, it'll probably need some thinking and experimenting to discover what's a good smoothing algorithm that behaves usefully and intuitively. Ideally the same tool would roughen too (when right-clicking), as basically the exact opposite of smoothing. |
|||
| #518 | fixed | Sort out Linux packages | ||
| Description |
There's a few things which it'd be good to do:
|
|||
| #519 | fixed | Windows installer | ||
| Description |
Self-extracting archives are not ideal - we should probably have a (very basic) NSIS-based installer. Select an install location, choose whether to install source code, create a start menu entry and uninstaller (which should probably clean up the cache etc files too). |
|||
| #520 | fixed | Vsync is not implemented in Linux | ||
| Description |
I use glXSwapIntervalSGI to activate vsync in Linux. This is found in GL/glxext.h. Which needs GL/glx.h. I put those inlcudes to the according places where i found the wgl.h and wglext.h Windows ones. More information about this extension: http://www.opengl.org/registry/specs/SGI/swap_control.txt The problem is that glx.h inludes X11/X.h which defines Cursor. So i replaced the Cursor stuff in cursor.cpp with GameCursor... I have no other idea how to solve this. Maybe using namespaces? The other mystery is that ogl_HaveExtension("GLX_SGI_swap_control") returns false. Do I have to register it somewhere? I did not get the magic of ogl_HaveExtension in ogl.cpp. But it runs without checking for me. This should be temporary. The ifdefs are confusing with OS_WIN, OS_MACOSX and OS_MAC. Is there OS_UNIX or OS_LINUX? So I could ensure a better separation. Maybe this extension could be usefull in OS X too, but I can't test it. |
|||
| #521 | fixed | Rally Points for Buildings | ||
| Description |
The ability to create Rally Points for buildings by right clicking on the ground after selecting a building. All newly created units from that building will walk towards the rally point soon after creation. |
|||
| #522 | fixed | Latest 0ad SVN source is running slow | ||
| Description |
I tried 0ad pre alpha 3. Despite my fairly modern computer (3 years old, 2gb ram, 256-512mb graphics card), it was running slow (moving mouse had about a second's delay). So I've checked out the latest source and tried to run it, with no change. It gave the follow message:
So I followed the link in the message, compiled and installed the library, and things got FAR WORSE!! Moving the mouse had a 5 second delay, and for only 1/4 of the distance I moved the mouse (non-technical term would be jumpy). I couldn't even reach the exit button, so had to force quit the game and uninstall the dxtn library. I've already taken advice to disable water and shading etc etc. But with no change, because... this slowness is happening on the main menu, not even within the game where most of the effects are. It's not just this computer. Another computer, with a different OS, different specs, has the same speed issues. I love the concept of an AOE like game, and looking forward to when multiplayer is actually possible, but at it's current state, I'd be lucky to find anyone with a computer fast enough to show me what the game is like. What am I doing wrong? What information can I provide you with to help get this speed up? I'm very keen to be of any help to get this sorted, so please demand anything from me :-P I am a web developer, and I have slightly dabbled in C before, so if you want any small source changes on my end to gather debug data, let me know what they are. Keep up the great work, and look forward to solving this speed issue. |
|||
| #523 | fixed | Implement SDL_GL_SWAP_CONTROL on Windows | ||
| Description |
On Windows we emulate the SDL API, and don't support that attribute. |
|||
| #524 | fixed | [PATCH] Render marker line between building and rally point | ||
| Description |
When a building's rally point is a long way away, it's easy to lose the little flag marker. It'd probably be nice if we could display some kind of line between the building and rally point once you select the building, so you can follow it visually to find the end. I don't know what the line should look like. It shouldn't be too distracting (people will often select buildings for other reasons and not care about the rally point), but it shouldn't be too subtle to notice. |
|||
| #525 | fixed | ApicIds deadlock | ||
| Description |
See call stack (from Brian), particularly: pyrogenesis_dbg.exe!_ia32_asm_CAS() + 0x10 bytes
> pyrogenesis_dbg.exe!ModuleInit(volatile int * initState=0x00c55a7c, long (void)* init=0x004b4ff0) Line 44 + 0x10 bytes C++
pyrogenesis_dbg.exe!ApicIds() Line 172 + 0xf bytes C++
pyrogenesis_dbg.exe!VerifyRunningOnCorrectProcessors(unsigned long affinity=1) Line 252 + 0x5 bytes C++
pyrogenesis_dbg.exe!os_cpu_SetThreadAffinityMask(unsigned int processorMask=1) Line 275 + 0x9 bytes C++
pyrogenesis_dbg.exe!os_cpu_CallByEachCPU(void (unsigned int, unsigned int)* cb=0x00414380, unsigned int cbData=12933656) Line 293 + 0xb bytes C++
pyrogenesis_dbg.exe!InitApicIds() Line 160 + 0xf bytes C++
pyrogenesis_dbg.exe!ModuleInit(volatile int * initState=0x00c55a7c, long (void)* init=0x004b4ff0) Line 46 + 0x5 bytes C++
pyrogenesis_dbg.exe!ApicIds() Line 172 + 0xf bytes C++
The first |
|||
| #526 | fixed | Rename and add descriptions to all maps | ||
| Description |
Need some basic descriptions of the maps in public/maps/scenarios. Also need to give them better names. |
|||
| #527 | fixed | Display correct player names | ||
| Description |
Currently, players in the game are shown as "Player 1", "Player 2", etc. The names ought to match the names given in the (multiplayer) game setup screen. Possibly the names should be entirely a GUI thing - the simulation code will only care about player ID numbers and will never know the names. |
|||
| #528 | worksforme | Fix units getting stuck inside groups of obstacles | ||
| Description |
When obstacles are widely enough spaced for a unit to get through, but their tile rasterisation makes the tile-based pathfinder think there's no way out, units can get stuck. Need to fix that somehow. |
|||
| #530 | fixed | Improve camera handling | ||
| Description |
The maximum zoom should perhaps be the current default. Shift+wheel should rotate the camera. Q, E should rotate. Simplify the other rotation controls. Fix the jerky zoom. Add a dev command to unlock the camera movement. |
|||
| #531 | fixed | Enforce Population Limit | ||
| Description |
Enforce Population Limit when training units. Units can be queued up for training past the population limit, but training will start only when there are enough population slots available. |
|||
| #532 | fixed | [PATCH] GUI resolution incorrect when screen smaller than requested window size | ||
| Description |
Steps to reproduce:
The initial window is shrunk to fit on the screen, but the game renders everything at the configured size instead (so the menu screen is partially off the side of the screen). It should detect this kind of situation and update things to fit.
( |
|||
| #533 | fixed | Fishing ships for Hellenes | ||
| Description |
Because we don't want to allow military or merchant ships to fish, we should have dedicated fishing ships. The first we will need will be for the Hellenes. The history department might have relevant information and images. If not, then research will need to be done first. It will require a new model and texture. It might be possible to reuse an existing rigging set from another ship; otherwise that will need to be made also. |
|||
| #534 | fixed | Need to implement non-obstruction mode for entities | ||
| Description |
Some entities (farms and fish) should not obstruct other entities. They must still register collisions, so that they can be gathered from. This means that their size cannot simply be set to zero. Some possibly relevant files are: CCmpObstruction.cpp, CCmpObstructionManager.cpp There may be other files that need to be modified. |
|||
| #535 | fixed | Build errors on OS X 10.6 | ||
| Description |
Kimball reports messages like: ../../../source/lib/sysdep/cpu.cpp:38: error: invalid conversion from ‘volatile int64_t*’ to ‘volatile intptr_t*’ ../../../source/lib/sysdep/cpu.cpp:38: error: initializing argument 1 of ‘bool cpu_CAS(volatile intptr_t*, intptr_t, intptr_t)’ ../../../source/lib/timer.h: In member function ‘void TimerUnit::AddDifferenceAtomic(TimerUnit, TimerUnit)’: ../../../source/lib/timer.h:180: warning: dereferencing type-punned pointer will break strict-aliasing rules
which looks like it's perhaps using the Reportedly: $ g++ -v Target: i686-apple-darwin10 Configured with: /var/tmp/gcc/gcc-5664~38/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1 Thread model: posix gcc version 4.2.1 (Apple Inc. build 5664) $ gcc -dumpmachine i686-apple-darwin10 $ echo $HOSTTYPE x86_64
Changing I'm not sure what we need to do to help debug this. |
|||
| #536 | worksforme | Akaestor (Healer) training progress shown as 1000% | ||
| Description |
When the player trains and Akaestor (Healer), the build progress is shown as 1000% and then the unit is spawned. |
|||
| #537 | fixed | Repair functionality for damaged buildings | ||
| Description |
Give builders the ability to repair damaged buildings. |
|||
| #538 | fixed | Atlas has wrong icon in Start menu | ||
| Description |
See |
|||
| #540 | duplicate | Any plans to translate the game for other languages? Need help? | ||
| Description |
I think I can translate the game to Brazilian Portuguese (pt_BR). |
|||
| #541 | fixed | Strange shape of camera view on minimap | ||
| Description |
My patch ignore height of terrain. |
|||
| #543 | fixed | Replace skybox with black background | ||
| Description |
Per discussion here, it would be good to try disabling the skybox and rendering flat black when looking outside the terrain. Water reflections should still use the skybox as normal.
See |
|||
| #544 | fixed | Fall back to windowed mode if fullscreen fails | ||
| Description |
Someone reports startup errors: ERROR: SetVideoMode failed: 2960x1050:24 1 ("No video mode large enough for 2960x1050")
ERROR: SetVideoMode failed: 2960x1050:24 1 ("No video mode large enough for 2960x1050")
terminate called after throwing an instance of 'PSERROR_System_VmodeFailed'
what(): System_VmodeFailed
Probably |
|||
| #545 | fixed | Grab mouse in fullscreen | ||
| Description |
When the game is running in fullscreen, the mouse should be grabbed so it cannot move outside the game. I have multiple monitors, so when I try to pan the camera by putting the cursor along the edges, it moves right into the next monitor, which is a major annoyance. Attached is a patch to fix the issue. The ideal functionality for mouse grabbing would probably be to have it always grabbed in fullscreen, and optionally grabbed during gameplay in windowed mode (but not on menus, dev console, text entry, etc). I can also implement this if desired (it'd be a good way for me to start getting my feet wet). |
|||
| #546 | fixed | Water continues to flow during pause | ||
| Description |
When the game is paused, water still appears to flow. I've noticed this in games before and it always bugs me. Fix attached. |
|||
| #547 | fixed | lib/sysdep/os/linux/lcpu.cpp sched_getaffinity fails with errno 22 (EINVAL) | ||
| Description |
PROBLEM: after compiling and running test_dbg stack call trace lead us to the problem in lib/sysdep/os/linux/lcpu.cpp file while calling to sched_getaffinity function which fails with errno 22 (EINVAL) if you choose Launch debug and test errno after calling to this function. DESCRIPTION: problem comes not from the game, but from incompatibility of the Linux kernel with NUMA support and glibc. The whole description with solution you may find by the link in the section below. SOLUTION: http://sourceware.org/ml/libc-help/2009-10/msg00017.html |
|||
| #548 | fixed | GUI should give feedback when training queue entry is blocked | ||
| Description |
When a training queue contains a item at the front that hasn't started yet, and the player doesn't have a high enough population limit to start training it, it won't start training. Currently the player is never notified about that - the queue looks normal, with no indication the player needs more houses (or more corpses). We need some kind of notification (I don't know what - maybe a message in the tooltip in the training queue? and/or a message sent to the player's screen? and/or make the population counter flash red? etc). |
|||
| #549 | fixed | Allow units to be moved by right-clicking on the mini-map | ||
| Description |
Units can be ordered to move to a certain place by right clicking on the mini-map. |
|||
| #550 | fixed | Error loading maps in Atlas | ||
| Description |
When I start Atlas in Ubuntu 10.04 it doesn't load maps, when I try to load someone it shows "Failed to run rmgen (error code: 255)". |
|||
| #551 | invalid | Assertion failed in state_tracker/st_mesa_to_tgsi.c | ||
| Description |
While starting a single player game, the game crashes with this message: GAME STARTED, ALL INIT COMPLETE pyrogenesis: state_tracker/st_mesa_to_tgsi.c:181: dst_register: Assertion `t->outputMapping[index] < (sizeof(t->outputs)/sizeof(*(t->outputs)))' failed. Running alpha 1 on Ubuntu 10.04 (kernel 2.6.32). Driver: radeon Graphic card: Radeon Mobility X1600 (r500) |
|||
| #552 | fixed | compile with new boost (1.44+) | ||
| Description |
At now users with new boost library are not able to build 0ad because of error like: ../../../source/lib/file/vfs/vfs_path.h:68: error: ‘is_basic_path’ is not a template ../../../source/lib/file/vfs/vfs_path.h:69: error: explicit specialization of non-template ‘boost::filesystem::is_basic_path’ http://www.wildfiregames.com/forum/index.php?showtopic=13327 I think it might be a bug in boost but the default api will be changed soon: http://live.boost.org/doc/libs/1_44_0/libs/filesystem/v3/doc/index.htm "Version 3 is a major revision with many new and improved features. It breaks some Version 2 code. Version 2 is the default version for Boost release 1.44 only. Version 3 will become the default starting with release 1.45." The problem is the renaming of namespaces (unfortunatelly I haven't found any official info about it) and the compiler can't find "is_basic_path". I think the attached patch will not break building with older boost (I've tested it only with 1.44). |
|||
| #553 | fixed | build crash due to system config header | ||
| Description |
I've got an error while building 0ad: ../../../source/tools/atlas/AtlasUI/Misc/DLLInterface.cpp: In member function ‘virtual bool AtlasDLLApp::OnInit()’: ../../../source/tools/atlas/AtlasUI/Misc/DLLInterface.cpp:191:28: error: ‘wxHandleFatalExceptions’ was not declared in this scope It is because the wxHandleFatalExceptions' declaration in wx-2.8/wx/utils.h depend on config in wx/setup.h where I have "#define wxUSE_ON_FATAL_EXCEPTION 0". I can see in utils.h: #if wxUSE_ON_FATAL_EXCEPTION // should wxApp::OnFatalException() be called? WXDLLIMPEXP_BASE bool wxHandleFatalExceptions(bool doit = true); #endif // wxUSE_ON_FATAL_EXCEPTION I've disabled debugger's checking locally like in attached patch but I think it is not the best solution. |
|||
| #554 | fixed | camera should be always inside the terrain | ||
| Description |
When camera is being moved either by mouse or by keyboard it can be placed outside the terrain, so that the user will see only a black ambient. The right camera handling should never move its position outside the terrain. |
|||
| #555 | fixed | Automatic texture compression | ||
| Description |
See discussion.
|
|||
| #556 | fixed | Minimap camera outline clips incorrectly | ||
| Description |
The camera outline clips correctly on the left, overlaps the borders on the bottom and right, and clips prematurely on the top. glScissor is being passed incorrect values. Attached is a patch which fixes the issue. |
|||
| #557 | fixed | review: Minor improvements to non-fancy water fresnel effect | ||
| Description |
This patch pertains to the water rendering when 'fancy' mode is not enabled, and is purely aesthetic. Currently, in non-fancy water mode a single fresnel value approximation is being calculated based on camera orientation and applied to the whole map. This is incorrect behaviour, as at low angles near water should be largely transparent (low fresnel) while distant water should appear opaque (high fresnel). Attached is a replacement that calculates fresnel per-vertex and addresses other water lighting issues in low-detail mode. Thank-you for your time, Robin |
|||
| #558 | fixed | Need a "return to menu" button on the map selection screen | ||
| Description |
There is no user friendly way to return to the main menu from the map selection screen, other than to select a map to be loaded and then cancel from there. There needs to be a "Cancel" or "Return to Main Menu" or equivalent button. |
|||
| #560 | fixed | Need an "exit game" button or graphic on the main menu | ||
| Description |
The main menu suffers from the same problem as identified in ticket # 558. There needs to be an easily identifiable "Exit Game" button or similar parchment mouse-over graphic button, not just a small close button positioned out of the way. Running fullscreen on a 1080p display, this button is not even within the user's field of view. |
|||
| #561 | fixed | Main menu tooltips pop up at inappropriate places | ||
| Description |
The tooltips for the main menu mouse-over parchment graphics pop up at inappropriate places. For example, pointing at or around the "zero" to the left of the A.D. will popup either the single player, multi-player, or options tooltip. The appropriate gui/pregame/sprites.xml and mainmenu.xml values need to be adjusted. For the options graphic, make the following changes:
|
|||
| #562 | wontfix | Merge FCollada forks | ||
| Description |
Several people have forks of the formerly open source FCollada library:
What'd be nice is to set up a standalone project (on Google Code or GitHub or whatever), import the latest official FCollada release, probably replace the build system with OMK's CMake, apply the fixes from the various forks, and then provide some Windows binaries and encourage people to make Linux packages of it. Then we won't have to bundle it with our game, which should simplify our build process and packaging process. |
|||
| #563 | fixed | [PATCH] Improve Animal AI | ||
| Description |
We have passive, idle, and skittish. Add violent, aggressive and defensive behaviors to animalAI.js Possibly generalize the code so it can be applied to opponent AI (#707) |
|||
| #564 | fixed | GetRealPath doesn't | ||
| Description |
Getting the mod name seems like useful functionality - by separating caches per mod, we can avoid one mod maliciously polluting the cache with a file with the same size/timestamp as another mod's but with different content (which would probably cause OOS errors after the first mod is disabled).
I don't know what |
|||
| #565 | fixed | Victory conditions | ||
| Description |
I implemented basic logic for checking victory conditions (only "conquest" for now). There is:
|
|||
| #566 | fixed | tests fail since #8086 | ||
| Description |
the commit changed something in population counts, one of the tests didnt like that. |
|||
| #567 | fixed | Rewrite Hotkey's Implementation | ||
| Description |
Hotkey system needs to be totally reviewed. The main thing to correct is to reduce confusing things like defining hotkeys in Hotkey.cpp and Hotkey.h. They won't work until a new string is added to default.cfg. Some other notes will be added during the process of enhancement. |
|||
| #568 | fixed | Gate house has incorrect Pathfinding footprint | ||
| Description |
The gatehouse acts as a single square rather than two squares and a rectangle. Edit: This has been pushed back to a later release, but see the comments below for issues that have been fixed. |
|||
| #570 | fixed | Batch conversion of textures for release packages | ||
| Description |
Need to convert and cache and archive them all. Only exceptions are fonts and cursors (and blends?) since those don't use the new system. |
|||
| #572 | fixed | Dragging view on minimap over mountains increases zoom | ||
| Description |
If I load up a map like Arcadia and click and drag on the minimap, the view follows the cursor (as it should). After dragging over a mountain, the view becomes increasingly zoomed in, which is annoying. |
|||
| #573 | fixed | Camera does not reach top map border | ||
| Description |
If you do a full zoom, you're not able to get to the top of the map, you have to zoom out a little. And if you zoom in again, the camera will automatically move back. I used 'top' here, instead of 'north' because if you rotate the camera, it happens on every border on top. |
|||
| #574 | invalid | Release Alpha 2 | ||
| Description |
It's been nearly a month since the release of Alpha 1. There has been some pretty big changes, new features, tons of bugfixes, and performance improvements. It would be good to release Alpha 2 to get testing on it, especially for Windows users (whom I'm guessing will be the largest user base). Compiling on Windows is not fun, or clean (it adds heaps of stuff to do it). Is there anything stopping the release of Alpha 2? |
|||
| #575 | fixed | Automatically add force_s3tc_enable to ~/.driconf | ||
| Description |
On many Linux systems, we need the user to force the enabling of S3TC in their drivers. (We no longer require the drivers to do compression, so we don't need libtxc_dxtn). Currently we tell them to run
Perhaps the game could automatically edit the |
|||
| #576 | duplicate | Building construction "animation" | ||
| Description |
Buildings should slowly rise out of the foundation as they are being constructed based on the percentage of construction. |
|||
| #577 | fixed | [PATCH] Crash when moving large masses of soldiers | ||
| Description |
The following happens ocasionally after 20 minutes or so of playing, with lots of soldiers (30-40) and few other units. Now, if I select as many soldiers as I can (selection limit) and then try move them to another location, the game crashes. Remember, this does not happen every time (I'd say every tenth attempt, but that's just guessing) and is quite hard to reconstruct exactly. It just happens. Judging from the crashlog, I'd say it's a bug in the sound manager, but I don't have any experience with the code, so don't listen to me :) As far as I an tell, it doesn't matter on which map I'm playing, and I haven't yet found any other patterns. |
|||
| #578 | duplicate | Crash when moving large masses of soldiers | ||
| Description |
The following happens ocasionally after 20 minutes or so of playing, with lots of soldiers (30-40) and few other units. Now, if I select as many soldiers as I can (selection limit) and then try move them to another location, the game crashes. Remember, this does not happen every time (I'd say every tenth attempt, but that's just guessing) and is quite hard to reconstruct exactly. It just happens. Judging from the crashlog, I'd say it's a bug in the sound manager, but I don't have any experience with the code, so don't listen to me :) As far as I an tell, it doesn't matter on which map I'm playing, and I haven't yet found any other patterns. |
|||
| #579 | fixed | Water reflections use wrong camera frustum for culling | ||
| Description |
When watching an object through a water reflection, but this object is outside the camera, unwanted behaviour is observed. I uploaded a video to show the bug. http://www.vimeo.com/15241286 Related: #504 |
|||
| #580 | invalid | Windows Autobuild Broken | ||
| Description |
The latest auto build has broken pyrogenesis for Windows. I enjoy checking out the latests changes, but it looks like a recent commit, possibly FOW, has caused some issues with the pyrogenesis executable. The application looks like it's going to load, but flashes, and then does nothing. The icon remains in the taskbar, indicating it's running (so hasn't crashed), but I can see the desktop. The GUI of 0ad never loads, and never gets to the menu. I don't see a ticket for this issue yet, so I'm making one incase you aren't aware. |
|||
| #581 | fixed | Remove libbfd dependency | ||
| Description |
To avoid problems like this, we should just remove the code that uses libbfd, since it's not particularly useful - it's just used for basic stack traces, which rarely provide enough useful information for debugging any problems, and we can easily get Linux users to run in gdb if we want more details. |
|||
| #582 | fixed | Add camera reset command | ||
| Description |
In the map editor, sometimes you can get the camera lost (badly rotated or scrolled off the side of the world) so it's hard to recover. There should be some way (hotkey? button? menu command?) to reset the camera to an on-world position and default orientation. Also there should probably be a way to reset to the game's default camera orientation without changing position, so designers can see the same perspective players will usually see. Maybe this should be combined with the recovery thing - always reset to default orientation, and if the camera's still off the side of the map then move it back on. |
|||
| #583 | invalid | FOW system great, with some issues | ||
| Description |
The new fog of war and undiscovered land (a.k.a black zone) functionality is awesome! And works really well! I've noticed a few issues though. Thought it would be easier to put them in one ticket than in several. Let me know if you want these split up though.
Other than those, works great. Loving the new feature. Will make next release much more playable in multiplayer. |
|||
| #584 | fixed | Update ppa for Ubuntu Maverick Meerkat 10.10 | ||
| Description |
I was trying to install this via your ppa, but you have created no version for Maverick yet. As it comes out on 10 October, many users will upgrade and find the ppa is broken. It would be great if you could fix this on time. |
|||
| #585 | fixed | FontBuilder2 Multiplatform support (Win32/*nix) | ||
| Description |
I updated the FontBuilder tool to support Windows and *nix (in the same scripts). Now it checks system platform before loading Freetype and Cairo libraries. Only difference is library names vary but interface seems to be identical. |
|||
| #586 | fixed | sound.mastergain not loaded from config | ||
| Description |
You probably noticed this bug when trying to set the sound.mastergain config variable to 0.0, in order to mute sound. The sound would be inexplicably loud. Incorrect conditional in Config.cpp caused gain to remain at default value of 1.0 |
|||
| #587 | worksforme | Depth texture shadows break untextured rendering | ||
| Description |
Using
When shadows are enabled at startup, untextured things (flat colours in GUI, and unit selection circles) render incorrectly (black in GUI, invisible or mostly-terrain-coloured selection circles). This seems to happen regardless of whether shadows are enabled or disabled at runtime via the menu. This doesn't seem to happen if shadows are disabled by default, then enabled at runtime. This doesn't seem to happen when running with |
|||
| #588 | fixed | Key Rotation when building construction is selected | ||
| Description |
Using the mouse to rotate produces unexpected results and makes wall/gate building much harder. It would be nice to have the 'q' rotate 45 degrees anti-clockwise, and the 'w' key rotate 45 degrees clockwise, when a building is selected for construction. I'm going to attempt to write a patch in my free time, but if it hasn't been done yet, please go ahead and do this yourself. From what I understand, it should be very easy. |
|||
| #589 | duplicate | Construction on top of units moves units | ||
| Description |
Allows buildings to be placed on top of units. When a building is placed, and units are within it's building zone, move them outside the building before construction. Optional: Assign the units you placed the building on top of to work on the building. |
|||
| #590 | fixed | Game setup / civ selection improvements | ||
| Description |
See discussion here. |
|||
| #591 | fixed | [PATCH] Disable sounds for units in FoW/SoD | ||
| Description |
If an enemy unit is in fog-of-war/shroud-of-darkness areas, you shouldn't be able to hear them.
This could probably be handled by making |
|||
| #592 | fixed | Order queuing for formations | ||
| Description |
When a group of units is ordered to do anything other than walk, the formation controller disbands and each unit performs the order individually. If the formation controller had queued orders, they get lost. Instead, units ought to stay associated with the formation controller while they're individually carrying out the action (attacking, gathering, etc). The formation controller should detect when its order has been completed (target died, resource exhausted, etc) and then regroup the units and move onto its next order. |
|||
| #593 | fixed | Move in formation towards non-movement-order targets | ||
| Description |
When a group of units are ordered to attack/gather/repair a target, they should walk in formation until they're 'close' to the target (a fixed distance, plus their attack range if it's an attack order?), before splitting up to individually reach the target. |
|||
| #594 | fixed | Fix construction/FoW interaction | ||
| Description |
Shouldn't be allowed to build buildings in fog/shroud areas. Construction previews should correctly highlight red when obstructed. |
|||
| #595 | fixed | Units should not pursue enemy units if they are not visible | ||
| Description |
Units, which pursue the enemy, should only go as far as they last saw the unit. If when they get there, they don't see it, they return to where they were originally. If they see the unit, or other enemy unit, they pursue until they kill it, or lose it. Again, in both cases, they should return to where they started off, not remain where they lost/killed the enemy unit. |
|||
| #596 | fixed | Enemy units should be deselected when they go into the FOW | ||
| Description |
When a selected enemy unit disappears into the FOW or black zone, it should be unselected automatically. You can't follow a unit you can't see. |
|||
| #597 | fixed | Entities that should be dimmed out are not doing so | ||
| Description |
Discovered stone mines glow when they should be dimmed out because I have no units within the area |
|||
| #598 | fixed | Improve fog-of-war rendering | ||
| Description |
The rendering of fog-of-war / shroud-of-darkness is currently based on vertex colours, and it looks quite ugly. It'd be nice to have much smoother transitions between the different regions. See e.g. AoE3's rendering (AoM is very similar). |
|||
| #599 | fixed | [PATCH] Hide changes to buildings in fog-of-war | ||
| Description |
When a building (or tree etc) is visible in a fog-of-war region, no new information should be revealed to the player - they shouldn't see when its hitpoints change, or when it's destroyed, etc. Perhaps they shouldn't be able to select the building at all (even just to see its name). Probably this would have to be implemented by replacing buildings with 'mirage' entities when they fall into FoW, which are clones of the original buildings with all the dynamic/interactive bits removed. (These would have to be serialised in saved games, and therefore network-synchronised, but only rendered for the appropriate player.) We also have to deal with the case of players ordering units to attack or gather from a mirage entity - when it comes back into vision, the units should automatically switch to attacking/gathering the real entity (or realise that it's been destroyed). |
|||
| #600 | fixed | Formation slot assignments | ||
| Description |
In the default box formation used for moving groups of units, the units should be put into appropriate places depending on their type. Suggested layout: ^ ^ ^ ^ ^ [S] [S] [S] [S] [H] [C] [I] [I] [I] [C] [C] [I] [I] [I] [C] [C] [A] [A] [A] [C] (for super-units, heroes, cavalry, infantry, archers). The layout obviously needs to adapt depending on what arbitrary selection of units are in the group. Also, units should be assigned to a 'nearby' slot of the appropriate type (rather than simply using numerically ordered slots), to minimise the amount of reshuffling when units enter or leave the formation. |
|||
| #601 | fixed | Female citizens should not move in formation | ||
| Description |
If a selection consists entirely of female citizens, move orders shouldn't cause them to move in strict formation (since they're not trained soldiers). They should probably stay in their initial layout, or move into some random loose group or something. When they're in a group with soldiers, probably they should then be in formation (the soldiers are telling them where to stand), or maybe they should hang around in a loose group behind the soldiers. |
|||
| #602 | fixed | Ability to add units to or remove from an already selected group of units | ||
| Description |
The game needs a way to select units to add to a group of already selected units. All of the following happen when holding the SHIFT key:
The latter two options should show the dragging zone as normal, and use the unit selection rings to indicate what will happen. e.g. for the last one, unselecting a group of units should remove the unit selection ring as you dragzone over them. |
|||
| #603 | fixed | tests fail since #8278 | ||
| Description |
... on my hudson compiling 0ad snaps. it runs on f13. |
|||
| #604 | duplicate | Single and Multiplayer Latency adaptation | ||
| Description |
Currently the networking code is hard-coded to a 200ms turn length, with commands scheduled for execution 2 turns ahead. This causes jerky motion if the RTT for any player is >200ms. We ought to do some combination of dynamically adjusting the turn length (which allows fine-tuning and reduces simulation CPU load, but large values will result in very variable responsiveness depending on whether the player clicks near the start or end of a turn), and dynamically adjusting the number of turns ahead (which allows more consistent responsiveness, but is a coarse adjustment). |
|||
| #605 | fixed | Fix NVTT | ||
| Description |
Apply the patch for this once it's available. |
|||
| #606 | fixed | Checked 0ad sourcecode with cppcheck | ||
| Description |
I checked the sourcecode of 0ad with cppcheck (a static code analysis tool). It has found a couple of possible error and style problems. I attachet the log to this ticket. |
|||
| #607 | fixed | tests fail since #8300 | ||
| Description |
Would someone want mails from my Hudson instance when this happens? Or would you like support to set up a public build server on your infrastructure? Currently I use Hudson the most, but I could help set up whatever. |
|||
| #608 | fixed | compile error after nvtt changes | ||
| Description |
After latest nvtt changes 0ad no longer compile correctly: test_test.cpp test_CStr.cpp /usr/bin/ld: warning: libnvcore.so, needed by ../../../binaries/system/libnvtt.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libnvmath.so, needed by ../../../binaries/system/libnvtt.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libnvimage.so, needed by ../../../binaries/system/libnvtt.so, not found (try using -rpath or -rpath-link) ../../../binaries/system/libnvtt.so: undefined reference to `nv::AlphaBlockDXT5::index(unsigned int) const' ../../../binaries/system/libnvtt.so: undefined reference to `nv::ColorBlock::isSingleColor() const' ../../../binaries/system/libnvtt.so: undefined reference to `nv::Image::pixels()' ../../../binaries/system/libnvtt.so: undefined reference to `nv::Image::Image()' ../../../binaries/system/libnvtt.so: undefined reference to `nv::FloatImage::createImage(unsigned int, unsigned int) const' ../../../binaries/system/libnvtt.so: undefined reference to `nv::BoxFilter::BoxFilter()' ../../../binaries/system/libnvtt.so: undefined reference to `nv::DDSHeader::setHeight(unsigned int)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::String::setString(char const*)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::FloatImage::FloatImage(nv::Image const*)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::DDSHeader::setLinearSize(unsigned int)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::DDSHeader::setTexture2D()' ../../../binaries/system/libnvtt.so: undefined reference to `nv::Image::~Image()' ../../../binaries/system/libnvtt.so: undefined reference to `nv::FloatImage::fastDownSample() const' ../../../binaries/system/libnvtt.so: undefined reference to `nv::Quantize::FloydSteinberg_BinaryAlpha(nv::Image*, int)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::ColorBlock::init(nv::Image const*, unsigned int, unsigned int)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::AlphaBlockDXT5::setIndex(unsigned int, unsigned int)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::Image::height() const' ../../../binaries/system/libnvtt.so: undefined reference to `vtable for nv::KaiserFilter' ../../../binaries/system/libnvtt.so: undefined reference to `nv::DDSHeader::setPixelFormat(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)' ../../../binaries/system/libnvtt.so: undefined reference to `vtable for nv::TriangleFilter' ../../../binaries/system/libnvtt.so: undefined reference to `nv::Image::allocate(unsigned int, unsigned int)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::DDSHeader::setTextureCube()' ../../../binaries/system/libnvtt.so: undefined reference to `nv::FloatImage::downSample(nv::Filter const&, nv::FloatImage::WrapMode) const' ../../../binaries/system/libnvtt.so: undefined reference to `nv::DDSHeader::hasDX10Header() const' ../../../binaries/system/libnvtt.so: undefined reference to `nv::DDSHeader::swapBytes()' ../../../binaries/system/libnvtt.so: undefined reference to `nv::Image::Image(nv::Image const&)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::normalizeNormalMap(nv::FloatImage*)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::DDSHeader::setFourCC(unsigned char, unsigned char, unsigned char, unsigned char)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::StringBuilder::StringBuilder()' ../../../binaries/system/libnvtt.so: undefined reference to `nv::mem::free(void const*)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::ColorBlock::ColorBlock()' ../../../binaries/system/libnvtt.so: undefined reference to `nv::FloatImage::resize(nv::Filter const&, unsigned int, unsigned int, nv::FloatImage::WrapMode) const' ../../../binaries/system/libnvtt.so: undefined reference to `nvAbort(char const*, char const*, int, char const*)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::ColorBlock::splatX()' ../../../binaries/system/libnvtt.so: undefined reference to `vtable for nv::BoxFilter' ../../../binaries/system/libnvtt.so: undefined reference to `nv::Quantize::FloydSteinberg(nv::Image*, unsigned int, unsigned int, unsigned int, unsigned int)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::StringBuilder::StringBuilder(char const*)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::DDSHeader::setWidth(unsigned int)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::DDSHeader::setMipmapCount(unsigned int)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::TriangleFilter::TriangleFilter()' ../../../binaries/system/libnvtt.so: undefined reference to `nv::AlphaBlockDXT5::evaluatePalette(unsigned char*) const' ../../../binaries/system/libnvtt.so: undefined reference to `nv::Quantize::BinaryAlpha(nv::Image*, int)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::ColorBlock::swizzleDXT5n()' ../../../binaries/system/libnvtt.so: undefined reference to `nv::createNormalMap(nv::Image const*, nv::FloatImage::WrapMode, nv::Vector4 const&, nv::Vector4 const&)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::Filter::~Filter()' ../../../binaries/system/libnvtt.so: undefined reference to `nv::KaiserFilter::KaiserFilter(float)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::Image::width() const' ../../../binaries/system/libnvtt.so: undefined reference to `nv::Image::scanline(unsigned int) const' ../../../binaries/system/libnvtt.so: undefined reference to `nv::ColorBlock::splatY()' ../../../binaries/system/libnvtt.so: undefined reference to `nv::DDSHeader::DDSHeader()' ../../../binaries/system/libnvtt.so: undefined reference to `nv::BlockDXT1::evaluatePalette(nv::Color32*) const' ../../../binaries/system/libnvtt.so: undefined reference to `nv::KaiserFilter::setParameters(float, float)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::DDSHeader::setPitch(unsigned int)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::StringBuilder::reset()' ../../../binaries/system/libnvtt.so: undefined reference to `nv::FloatImage::createImageGammaCorrect(float) const' ../../../binaries/system/libnvtt.so: undefined reference to `nv::mem::malloc(unsigned int)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::StringBuilder::~StringBuilder()' ../../../binaries/system/libnvtt.so: undefined reference to `nv::StringBuilder::copy(nv::StringBuilder const&)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::FloatImage::toLinear(unsigned int, unsigned int, float)' ../../../binaries/system/libnvtt.so: undefined reference to `nv::DDSHeader::setNormalFlag(bool)' collect2: ld returned 1 exit status make[1]: *** [../../../binaries/system/pyrogenesis_dbg] Errore 1 make: *** [pyrogenesis] Errore 2 make: *** Attesa dei processi non terminati.... test_CLogger.cpp |
|||
| #609 | invalid | Walls, Gates, and Wall Towers need to ignore other walls related obstruction zones | ||
| Description |
If you try to build a wall, it's very hard to make one without gaps, because the obstruction zone prevents overlapping walls to make a smooth wall. So, walls, gates and wall towers need to ignore the obstruction zones of other walls, gates and wall towers. They should still be unbuildable if placed on things like rocks or trees, but for e.g., when building a wall, overlapping another wall and clicking build should be possible. |
|||
| #610 | fixed | Garrisoning units in buildings | ||
| Description |
Patch to implement Garrisoning in buildings Features Implemented: Auto Unloading of units when the building's health reduces to a particular amount Filtering unit classes on garrisoning Fixed "GetPosition() called when IsInWorld() is false" error Unload All Auto Healing garrisoned units Features Not Implemented: Special cases for Ships Garrison flag appearing on top of the building Playing Garrisoning sound Other things to be done: Modify XML to set the class/max number of units which can be garrisoned in a building, heal rate etc |
|||
| #611 | fixed | ChooseCacheSize picks crazy numbers | ||
| Description |
Re r8319:
I'm on 64-bit Linux with 4GB RAM. In The calculation seems strange anyway, and lacking in rationale. We don't have 500MB of (public) game data (it's more like 250MB), the 'game' isn't 400MB (it depends on the amount of data and it often looks more like 200MB for me (including file cache)), we don't load all the data at once (the point of biomes was partly to cut the amount of data required per map by only using a well-defined subset). Also we have lots of other caches that reduce the need for everything to be kept in the file cache (I'm assuming it's only useful if a file gets loaded twice) and that contend with the file cache for RAM (it seems better to spend the RAM on higher-level caches to save on loading cost), so it's not clear that a large file cache has any benefit and/or doesn't cause any harm. Also it's contending with the OS disk cache, which will cache the compressed .zip file and therefore make better use of RAM than our own file caching.
Also it looks like So it seems that this change is adding a lot of complexity and unpredictable non-deterministic system-dependent performance-affecting behaviour, without it being clear that it's any better than the old fixed-size cache. So I'd be much happier if either it was made much simpler again, or if it was made clear to me why I'm missing the point and it's actually a good idea :-) |
|||
| #612 | fixed | Mesa: User error: GL_INVALID_OPERATION in glDeleteShader | ||
| Description |
When closing the editor I always get a: Mesa: User error: GL_INVALID_OPERATION in glDeleteShader I compiled mesa and 0ad with debug symbols and put a break on output_if_debug. I get this backtrace: Breakpoint 1, output_if_debug (prefixString=0x2919dcc "Mesa: User error", outputString=0xbfffcb6c "GL_INVALID_OPERATION in glDeleteShader",
newline=1 '\001') at main/imports.c:809
809 {
(gdb) bt
#0 output_if_debug (prefixString=0x2919dcc "Mesa: User error", outputString=0xbfffcb6c "GL_INVALID_OPERATION in glDeleteShader",
newline=1 '\001') at main/imports.c:809
#1 0x02759a16 in _mesa_error (ctx=0xb6fc4c78, error=1282, fmtString=0x2928cec "%s") at main/imports.c:998
#2 0x0276f4fe in _mesa_lookup_shader_err (ctx=0xb6fc4c78, name=1, caller=0x291c4b9 "glDeleteShader") at main/shaderobj.c:170
#3 0x0276e2df in delete_shader (ctx=0xb6fc4c78, shader=3221212012) at main/shaderapi.c:449
#4 0x084470d3 in Ogl_Program_dtor (p=0x8829540) at ../../../source/lib/res/graphics/ogl_shader.cpp:430
#5 0x08444582 in h_free_idx (idx=2, hd=0x8829528) at ../../../source/lib/res/h_mgr.cpp:613
#6 0x08444d6e in Shutdown () at ../../../source/lib/res/h_mgr.cpp:838
#7 0x084646f1 in ModuleShutdown (initState=0x861fe8c, shutdown=0x8444cd2 <Shutdown()>) at ../../../source/lib/module_init.cpp:71
#8 0x08444e4b in h_mgr_shutdown () at ../../../source/lib/res/h_mgr.cpp:860
#9 0x082d24c1 in Shutdown () at ../../../source/ps/GameSetup/GameSetup.cpp:681
#10 0x083b259b in AtlasMessage::fShutdown (msg=0xb6ff5d40)
at ../../../source/tools/atlas/GameInterface/Handlers/GraphicsSetupHandlers.cpp:103
#11 0x083b2552 in AtlasMessage::fShutdown_wrapper (msg=0xb6ff5d40)
at ../../../source/tools/atlas/GameInterface/Handlers/GraphicsSetupHandlers.cpp:87
#12 0x0839f799 in BeginAtlas (args=..., dll=...) at ../../../source/tools/atlas/GameInterface/GameLoop.cpp:211
#13 0x082d4a59 in ATLAS_Run (args=..., flags=1) at ../../../source/ps/GameSetup/Atlas.cpp:54
#14 0x082d4afb in ATLAS_RunIfOnCmdLine (args=..., force=false) at ../../../source/ps/GameSetup/Atlas.cpp:77
#15 0x081e4a29 in RunGameOrAtlas (argc=2, argv=0xbffff424) at ../../../source/main.cpp:431
#16 0x081e5107 in main (argc=2, argv=0xbffff424) at ../../../source/main.cpp:504
(gdb) c
Continuing.
Mesa: User error: GL_INVALID_OPERATION in glDeleteShader
TIMER| resource modules: 9.81219 s
TIMER TOTALS (6 clients)
-----------------------------------------------------
xml_validation: 24.7842 Mc (3x)
tc_linkProgram: 62.8229 Mc (7x)
tc_compileShader: 215.246 Mc (11x)
tc_transform: 15.5265 Mc (140x)
tc_plain_transform: 6956.99 kc (126x)
tc_png_decode: 7304.01 kc (2x)
-----------------------------------------------------
TIMER| shutdown misc: 552.861 us
JS engine warning: leaking GC root '' at 0xb7220110
JS engine warning: 1 GC root remains after destroying the JSRuntime at 0xb7485c48.
This root may point to freed memory. Objects reachable
through it have not been finalized.
[Thread 0xb7dd9b70 (LWP 27344) exited]
lost connection to FAM[Thread 0xa4127b70 (LWP 27347) exited]
Program exited normally.
|
|||
| #613 | fixed | Production queue is not limited | ||
| Description |
If you keep clicking units to add to a production queue, you can do it forever. The GUI limits to 16, but behind the scenes, it allows an infinite amount of units to be queued. This causes some gameplay issues when playing multiplayer, where a player can queue hundreds and not have to go back to it. |
|||
| #614 | fixed | Disable developer tools in multiplayer | ||
| Description |
Obviously! I can't kill units or buildings, but I can control them and build things, depleting the other persons resources. Not to mention revealing the whole map right away. |
|||
| #615 | fixed | women can't hunt but show meat icon | ||
| Description |
If they are not able to hunt the meat icon shouldn't show up when hovering over animals. Eventually they should be able to hunt chickens and other domestic animals. |
|||
| #616 | fixed | New special colour sprite | ||
| Description |
There isn't currently a way for scripts to change the color of an image. However, the GUI engine does allow "special" sprites to be defined at run-time. Currently only stretched images are supported, so I've modified this to add support for solid color sprites. This is useful for among other things, player colors, which may change from one game to the next, thus eliminating the need to hardcode N number of sprites ahead of time. Example usage: // Get an image object from the GUI
var imageObject = getGUIObjectByName("colourThing");
imageObject.sprite = "colour: 255 0 0 200"; // RGBA
The colour is specified in integer RGBA format like other GUI objects (0-255). This should be useful for any GUI object with a sprite property. One caveat as Philip notes, is that the sprite will be stored based on its name so every time a new sprite is created like this, it will be cached separately if even one character is different (even if it would appear identical). |
|||
| #617 | fixed | fishes not visible when "Water Reflections" is enabled | ||
| Description |
Resolution: Update mesa driver (see comment 4 - #comment:4) |
|||
| #618 | duplicate | Hotkeys only work on "odd loaded" maps | ||
| Description |
Hotkeys like shift-D and F10 only work on "odd loaded" maps. E.g. start a map, they work, close map and start another one they don't work, close map and start another one they work... |
|||
| #619 | fixed | Improve Gate and Wall System | ||
| Description |
|
|||
| #620 | fixed | When one player quits multiplayer, all players are forced to leave | ||
| Description |
When Michael, Brian and myself played, and Michael quit at the end, I was forced to leave, and then Brian after me. Obviously it'd be nice to be able to return to the game, to continue playing with the other person, and the person who left should have their units set to null player (idle/lifeless). |
|||
| #621 | fixed | Even warrior cant kill chicken in 1 hit | ||
| Description |
chicken is too healthy)) there are 40 meat in chicken. elephant have only 500. 500/40=12.5 =D |
|||
| #622 | fixed | Upgrade SpiderMonkey to improve speed | ||
| Description |
evans1: Will you be updating to the latest version of Spider Monkey? The one used in FF 4? That is supposed to be blazing fast. Dunno if it's still called SpiderMonkey, though.. Phillip: I want to upgrade some time, but the API changed incompatibly so it's a bit of a pain Phillip:: (It's still called SpiderMonkey, and also sometimes called TraceMonkey and JaegerMonkey) |
|||
| #623 | fixed | Shadows should be disabled by default on slower cards/drivers | ||
| Description |
Shadows on some cards/drivers are really slow and should be disabled by default there (eventually the shadows setting on these cards should also be "greyed out" in the GUI and could be only changed in the config file). On my Radeon X1600:
I am attaching glxinfo obtained while using both drivers. |
|||
| #624 | fixed | [nvidia linux driver bug] Segmentation fault when move cursor over game menu | ||
| Description |
0ad version: 0ad_0.0.0+r08319-1~wfgppa1~maverick1_amd64.deb from ppa:wfg/0ad repository OS: Ubuntu 10.10 amd64 Steps:
|
|||
| #625 | fixed | Minimap is not flush with left side of screen in widescreen or non-standard aspect ratios. | ||
| Description |
The minimap is not flush with the left side of the screen on my widescreen (16:10) monitor. There is extra space between the left edge of my screen and the minimap. This can also be seen when the game is windowed by resizing the game to a non-standard aspect ratio. |
|||
| #626 | fixed | Game should not override cursor sprite when over window frame. | ||
| Description |
The game normally uses a custom cursor sprite when the cursor is within the gameplay area. However, the custom sprite is still displayed when the cursor moves outside of the gameplay area and over the window's frame. The cursor should go back to whatever the desktop environment wants at this point. It is slightly disconcerting to still see a game pointer when one expects to see a resize sprite. |
|||
| #627 | fixed | hotkeys problems | ||
| Description |
The big screenshot hotkey CTRL+ALT+F2 on linux switches to console. It should be changed (F3?). The [ and ] keys to rotate buildings don't work on my MacBook Pro running Ubuntu while I can write them here with at least two different key combinations. |
|||
| #628 | worksforme | would you like the warning messages from a build? | ||
| Description |
I have notice a lot of warnings when compiling on mandriva linux, I was wondering if you would like the warning output of the build. Of course next time I build, or are warnings a necessary evil? David |
|||
| #631 | fixed | The Scenario editor asks for a location to save a map and ignores it... | ||
| Description |
When saving a scenario, it shows the standard file save dialog (Windows Vista), and then completly discards the location chosen. It looks like it is using just the filename component and saving it into: C:\Users\Dee Earley\AppData\Roaming\0ad\cache\mods\public\maps\scenarios\ I have no problem with it being put there, but the dialog should either default to that location (It defaulted to my documents and I couldn't find where they should be put) or just allow a name part to be entered. The former is a preferred choice as it means the user can save scenarios wherever they want as backups, to email, etc. |
|||
| #632 | worksforme | Errors when switching to "Actor view" | ||
| Description |
Pyrogenesis Error Function call failed: return value was -100021 (Invalid Handle (argument)) Location: ogl_tex.cpp:1024 (ogl_tex_bind) Call stack: 0121D65F 012202A8 011FAB5B 011FB02A errno = 0 (?) OS error = 487 (Attempt to access invalid address. ) OK Repeated constantly until I killed the editor. |
|||
| #633 | fixed | [PATCH] Building and Ship Repair | ||
| Description |
Repair is currently taking the value from:
And interpreting that as a repair rate of 1 Health/Hitpoint per second. This is bad for a few reasons:
These values need to be separated. A separate "repair" tag and value need to be implemented. It could be done one of two ways:
The benefits and pitfalls of each need to be discussed before choosing the implementation. OR We can just link Repair with Building at a 1:1 ratio so that repairing gives the structure the same amount of health per second as building it does. Also, any "cost" associated with repairing a building is the same cost as constructing it. Say, if the building is damaged by 25%, then it take 25% of the build cost to repair it. |
|||
| #634 | worksforme | Shadows Cause Animals to Disappear | ||
| Description |
|
|||
| #635 | worksforme | [NEEDS INFO] when trying to host a game it crashes | ||
| Description |
when trying to host a game it tries to host a game when click on join a game it crashes |
|||
| #636 | worksforme | Flashing pixel on maps/flashing text on main menu | ||
| Description |
on the maps there is a random pixel that flashes and the text flashes occasionally when on the main menu. |
|||
| #638 | fixed | Summary screen | ||
| Description |
According to the GUI_-_Achievements the summary screen should contain following statistics:
5.2.2.1. Military
5.2.2.2. Economy
5.2.2.3. Research
5.2.2.4. Score
|
|||
| #639 | duplicate | SegmentationFault at startup | ||
| Description |
I just installed 0.A.D. from the package on Launchpad (ppa:wfg/0ad). The game does not start and I get the following when I try to launch it from a terminal :
I'm running on Ubuntu 10.10 and the installed packages are :
|
|||
| #640 | fixed | [PATCH] Pasting into the join game "address" field prepends onto the selection | ||
| Description |
When you are joining a network game and you select the current IP to paste in a new one, it prepends it to the current address and highlights the last octet of teh pasted address. When you select the current address and type, it works as expected. |
|||
| #641 | fixed | Atlas crashes when you "Leave the game" while in the the simulation | ||
| Description |
I know it's a silly thing to do, but as it let me... :p I ran a simulation and let all my units get killed. When it said I was defeated, I clciked Yes to leave the game and it crashed with: Unhandled access violation reading 0x00000004 Location: Unknown:0 (?) Call stack: 0142DF27 0142CE1F 013AB9C1 013AB9D9 013D795E 013D7988 013BA036 OS Error: 487 attempt to access invalid address. On showing the message, it immediatly crashes and falls back to the installed debugger. (Alpha 2 on Windows Vista) |
|||
| #642 | fixed | Atlas crashes then asserts when you reset a simulation | ||
| Description |
Start a simulation then press reset (doesn't matter what speed or if it was paused). Atlas comes up with: Details: unhandled exception (std::out_of_range("invalid vector<T> subscript")) Location: unknown:0 (CxxThrowException) Call stack: 01383EEF 0136BE0A errno = 0 (?) OS error = 487 (Attempt to access invalid address. It then immediatly asserts, presumably on another thread as both messages are independant and not blocking the other. |
|||
| #643 | fixed | [PATCH] Add current gatherers count next to player's resource count | ||
| Description |
Add the amount of workers in a number next to the current amount of that resource, along with a tooltip. e.g. If user has 5000 food, and 10 people gathering food (from any source), show [food_icon] 5000 / 10 And when user hovers over the amounts, both should display a tooltip with:
Food resource: 5000 Do the same for all resource types. |
|||
| #644 | wontfix | Display idle units in the empty panels when no units are selected | ||
| Description |
Now that Brian made the panels always show, when no units are selected, the panels are empty. After some discussion by several people in IRC, a possible use for this empty space would be to display idle units. When there are only 16 or less idle units, display each individually. You should be able to click one and assign that single unit to a task. When there are more than 16 idle units, group them by type. e.g. if there are 10 women, and 14 warriors, show two icons, women (with the number 10 on the icon), and the type of warrior (similar to how unit movement is already done). When a group is clicked, all units are selected and the player can assign all those idle units to a single job. When there is more idle units than the max selection limit, break them out into multiple idle unit icons. So you could have up to 16 * max limit, which is more than enough room for all different idle unit types. |
|||
| #645 | fixed | Complete Garrisoning system functionality | ||
| Description |
With the recent addition of basic garrisoning, it'd be good to have this functionality finished off. Excluding artwork related items (e.g. propping) which will be handled later, here is some things left to do: Enhancements * [DONE] Infantry units which are garrisoned should be able to attack nearby enemies, within their normal range. Don't worry about being able to see the unit, just seeing the arrow from the building to the enemy and hitting it will be enough. The amount of arrows is equal to the amount of infantry units garrisoned. 10 infantry garrisoned == 10 arrows a second. * [DONE] Need to be able to garrison units without using the CTRL key. A garrison button next to the kill button in the unit picture panel, which which clicked, makes the next left click garrison all selected units to it. * [DONE] When a unit isn't able to be garrisoned into the building, then show a greyed out version of the cursor when holding down CTRL. * [DONE] Garrisoning needs a new 'out' icon. It's currently pointing into the door, but the text says 'Unload-all'. The icon should have the arrow point away from the door. * [MOVED TO #817] Need a way to tell if a building has garrisoned units, and how many, without having to click on it. Maybe a count next to the health bar, or a flag on the top of buildings? Bug Fixes * [DONE] Not all units are going to the rally flag for the building when they are all unloaded. Unloading one at a time works. * [DONE] When more than one unit of a type is garrisoned, the garrison buttons may change position every time a unit of that type is unloaded. This occurs when units of the same type are spread throughout the garrison list. This list may need to be sorted to prevent this from happening. (Unit selections would also suffer from this problem if selections that contained multiple units of the same type allowed removing a single unit. However, the selection buttons remove the entire group so this problem is not seen there.) * [DONE] The garrison icon when holding down CTRL (or using the garrison button in the units panel) doesn't grey out when that unit can be garrisoned, and you hover over a building which does support garrisoning, but the combination of the two (building and unit) is unsupported. Example: it shows coloured garrison icon when you try to put a horse into a tower, which is not allowed. * [MOVED TO #818] When units are garrisoned in a ship, they do not increase the amount of arrows fired from it. * [MOVED TO #818] When units are garrisoned in a ship, they can currently be ungarrisoned over deep water, which causes them to be stuck there. |
|||
| #646 | invalid | Units should detect if enemies are nearby | ||
| Description |
Current Problem Currently, if a unit is doing something (like chopping wood, or farming), that unit doesn't detect that enemies are approaching. This means that unless the player notices the attack, the enemy can wipe out a large part of the persons units without them knowing, because the units keep working on what they were told to do. Also, if enemies are chasing a unit, they will not attack anything that gets near them, but ignore it, and keep following the unit they want to attack, so as long as the unit keeps moving, those units end up worthless. Ideally, if they are attacked by a unit, they go and attack that unit, instead of changing a unit they can't catch up with. A classic example of this: Enemy is attack fortress then BAM, player lets 20 units out of it to attack. Enemy doesn't fight back, but continues to fight fortress, and then dies. Recommended Fix If the unit is a women, that women should seek protection in the nearest building she can garrison inside. If one cannot be found, she should run back toward the town center and garrison inside that. Discuss: If that happens (an attacked women flees to town center), should the closest idle infantry be summoned to the town center to defend it? If the unit is an infantry unit, they should act as if they were idle. Stop what they were doing, and go and attack the enemy. What they were doing should be stored though, so that if the unit survives the attack, and no more enemies are approaching, the unit should resume what they were doing (chopping wood, farming etc). Discuss: If the worker is killed, should nearby infantry be called to that spot? Implementation Attack priorities? strongest -> weakest -> buildings. So heros before normal infantry, then women, then buildings. Sound possible? |
|||
| #647 | fixed | Units constantly getting stuck in an animation | ||
| Description |
It's happening more often. When a resource disappears, or a building is destroy, or a unit is killed, when large groups of units are involved, many of them get stuck in the gathering/killing animation, and do not stop. This doesn't affect gameplay, but it sure looks weird, and should be fixed. Maybe something that reevaluates each units orders per second and readjusts there animation accordingly? |
|||
| #648 | fixed | Created files shouldn't have the execute bit set | ||
| Description |
Many files created by 0ad (e.g. cache, screenshots, ...) have the x (execute) bit set on linux. They should be created using the default mask. |
|||
| #649 | duplicate | something wrong with the map oasis | ||
| Description |
there are some colored spots on it |
|||
| #650 | fixed | something wrong with the map oasis | ||
| Description |
there are some colored spots on it |
|||
| #651 | fixed | can't compile after recent changes | ||
| Description |
Caused by r8484: ==== Building wxJS ==== linux.cpp ../../../source/lib/sysdep/os/linux/linux.cpp:27: fatal error: lib/external_libraries/boost_filesystem.h: Nessun file o directory compilation terminated. make[1]: *** [obj/lowlevel_Debug/linux.o] Errore 1 make: *** [lowlevel] Errore 2 |
|||
| #652 | duplicate | How to make the translation | ||
| Description |
Good Morning. I'd like to know if is possible to translate to Italian this game, and how to help you. Is it a traditional po translation. Thanks Best regards Stefano |
|||
| #653 | fixed | Make timer_Time() threadsafe | ||
| Description |
If it's hard to fix, we could hack around it by having
(Incidentally, |
|||
| #654 | fixed | Make debug_* functions threadsafe | ||
| Description |
The network server code needs to run in a background thread (to minimise latency when forwarding messages between clients), and it involves lots of code that can encounter errors. That code uses Avoiding those functions would be difficult and painful. It would be much better if they worked safely when run from a background thread. Currently they use global variables, create dialog boxes, write files, etc, which is probably all unsafe with multiple threads. It may be sufficient for them to do something more minimal than on the main thread (e.g. skip the dialog boxes and crashlogs, and just dump the message to stderr or whatever) - we don't use threads much so it doesn't need to be as user-/developer-friendly as for the bulk of the code. It mainly should just avoid potentially triggering crashes and deadlocks that mask the errors we're trying to report. |
|||
| #655 | fixed | Game setup: Player assignment not updated when switching map | ||
| Description |
In my opinion when moving to a different map "You" should always be assigned to "Player 1" |
|||
| #656 | fixed | Circular maps problems | ||
| Description |
|
|||
| #658 | fixed | Troubleshoot Spidermonkey JIT | ||
| Description |
The above description does not apply now, as I was compiling in Debug mode rather than Release mode, which disabled JIT. However we still need to troubleshoot some issues in JIT behavior especially if Mozilla will only be supporting SSE2 x86 hardware in FF4 (see their wiki), and so this ticket remains very relevant. |
|||
| #659 | wontfix | OS X Makefile input not properly sanitized | ||
| Description |
If 0ad is expanded into a directory that has spaces in the name ./update-workspaces.sh (make) fails. Here a snipped of the results of ./update-workspaces.sh inside a directory called "coding for fun": updating Makefile creating tests/Makefile can't read ../tests/Makefile.in: No such file or directory creating ./config.status creating config/autoconf.mk creating js-config.h js-config.h is unchanged config/autoconf.mk is unchanged invoking make to create js-config script Makefile:630: warning: overriding commands for target `/Users/XYZ/coding' ../config/rules.mk:2082: warning: ignoring old commands for target `/Users/XYZ/coding' Makefile:630: warning: overriding commands for target `for' ../config/rules.mk:2082: warning: ignoring old commands for target `for' Makefile:637: warning: overriding commands for target `/Users/XYZ/coding' Makefile:630: warning: ignoring old commands for target `/Users/XYZ/coding' Makefile:637: warning: overriding commands for target `for' Makefile:630: warning: ignoring old commands for target `for' rm -f js-config.tmp Of course a trivial workaround is to rename the directory. |
|||
| #660 | worksforme | 64 bits compile fails on OS X | ||
| Description |
Apparently libz.dylib and libjpeg.dylib installed from ports are 32 bits. I don't know if there is a way to pull 64 versions. Linking CXX shared library libnvimage.dylib
ld: warning: in /usr/local/lib/libz.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /usr/local/lib/libjpeg.dylib, file was built for i386 which is not the architecture being linked (x86_64)
Undefined symbols:
"_jpeg_start_decompress", referenced from:
nv::ImageIO::loadJPG(nv::Stream&) in ImageIO.cpp.o
"_jpeg_std_error", referenced from:
nv::ImageIO::loadJPG(nv::Stream&) in ImageIO.cpp.o
"_jpeg_CreateDecompress", referenced from:
nv::ImageIO::loadJPG(nv::Stream&) in ImageIO.cpp.o
"_jpeg_read_header", referenced from:
nv::ImageIO::loadJPG(nv::Stream&) in ImageIO.cpp.o
"_jpeg_destroy_decompress", referenced from:
nv::ImageIO::loadJPG(nv::Stream&) in ImageIO.cpp.o
"_jpeg_finish_decompress", referenced from:
nv::ImageIO::loadJPG(nv::Stream&) in ImageIO.cpp.o
"_jpeg_resync_to_restart", referenced from:
nv::ImageIO::loadJPG(nv::Stream&) in ImageIO.cpp.o
"_jpeg_read_scanlines", referenced from:
nv::ImageIO::loadJPG(nv::Stream&) in ImageIO.cpp.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[3]: *** [src/nvimage/libnvimage.dylib] Error 1
make[2]: *** [src/nvimage/CMakeFiles/nvimage.dir/all] Error 2
make[1]: *** [src/nvtt/CMakeFiles/nvtt.dir/rule] Error 2
make: *** [nvtt] Error 2
ERROR: NVTT build failed
|
|||
| #661 | duplicate | Shadow Map quality degrades the more objects there are on a map | ||
| Description |
The shadow quality in the game and in Atlas is inversely proportional to the number of objects on a map. Size of the map may have an adverse effect as well. My specs: OS : WinXP SP 3 (5.1.2600) CPU : IA-32, AMD Athlon XP 2600+ (1x1x1), 1.92 GHz Memory : 1536 MiB; 541 MiB free Graphics Card : RADEON 9800 XT - Secondary OpenGL Drivers : 2.0.6458 WinXP Release; atioglxx.dll (6.14.10.6458), nvoglnt.dll (6.14.10.9147) Video Mode : 1920x1080:32@60 Sound Card : NVIDIA(R) nForce(TM) Audio Sound Drivers : nvapu.sys (6.14.0462.0 built by: NVIDIA), OpenAL32.dll (6.14.0357.19), wrap_oal.dll (2.1.4.0) |
|||
| #662 | fixed | Cope with corrupted cache | ||
| Description |
When the game crashes during loading (e.g. due to driver bugs), it sometimes leaves empty XMB files in the cache. When you start the game again, it complains Xeromyces.cpp(197): Assertion failed: "size >= 4" and fails. Probably we should detect this kind of truncated output and automatically delete and re-convert the XML file, if possible. |
|||
| #663 | fixed | Add GUI error dialog box on Linux / OS X | ||
| Description |
On Windows,
Possibly we could use an external tool like |
|||
| #665 | fixed | Draw passability overlay on top of water | ||
| Description |
In Atlas, with fancywater enabled, the red tile passability indicators (handled by |
|||
| #666 | fixed | Remove Devil | ||
| Description |
We use DevIL only for loading images for the Colour Tester tool. It would be nice to simplify our dependencies by getting rid of it. Maybe just delete the Colour Tester entirely, or merge it into the scenario editor (similar to the actor viewer) and use the game engine to load the textures instead. |
|||
| #667 | wontfix | Fields constructed using a hammer | ||
| #669 | fixed | Minimap dragging reads mouse position after left button is released | ||
| Description |
If you use the minimap to change your view in the game, there's a short time after releasing the left mouse button where the camera is still moving. Ideally the instant you release the button, the view should stop changing because some people have mouse cursors that move fast and even 1/4 sec is enough time to move very far from where you intended. |
|||
| #670 | fixed | unrecognised format 'macho64' on OS X | ||
| Description |
In attempting to build on OS X Snow Leopard (10.6.5), I run into the following fatal error: ...a whole bunch of stuff... ==== Building test_gen ==== amd64_asm.asm nasm: fatal: unrecognised output format `macho64' - use -hf for a list type `nasm -h' for help make[1]: *** [obj/lowlevel_Release/amd64_asm.o] Error 1 make: *** [lowlevel] Error 2 make: *** Waiting for unfinished jobs.... make[1]: `../../../binaries/system/libwxJS.a' is up to date. My brief searching indicates that there's hack in place to support linux compilation or something of the sort and I suspect it is interfering. |
|||
| #671 | fixed | Disable compression of public.zip | ||
| Description |
Using zip compression when generating public.zip for release packages has a significant detrimental effect on download size (maybe around 25%), because it conflicts with the (much better) bz2/lzma package compression. People would probably have to play the game dozens of times for the gain in startup performance to outweigh the extra download time, so the tradeoff doesn't seem good at our current stage. So we should disable compression now, for the clear improvement in download size, and then later we can spend more time thinking about and measuring and optimising startup performance again. |
|||
| #672 | fixed | Complete Resource Shuttling Functionality | ||
| Description |
Bugs * [WONT FIX NOW] [Philip] Redo pathfinding so less units get into path finding conflicts, and end up doing a dance. * [DONE] [Philip] Redo unit ai so that when a building is destroyed, the unit recomputes the nearest dropsite * [DONE] [Philip] When a resource is exhausted while unit is in transit to dropsite, currently the unit stops at the resource dropsite and stays there. They should record the position of the resource they were gathering, and return there, and look for another resource to work on in that area. * [DONE] [Philip] In certain cases, when a resource is exhausted before they reach 20 in their inventory, and no other similar resources around exist, a unit will stay at the resource, standing still, with a part-filled inventory, when what they should do is return to the dropsite, dump their load, and then return to were they were, empty handed. * [DONE] [Philip] When a unit finishes building a mill or a farmstead, they should look for nearby resources to mine. In this way, a bunch of units can be tasked to build a mill near trees, and once done, automatically go start getting the trees. Tweaks * [WONT FIX] [Michael] Units gathering from animals get their inventory full nearly instantly, while units gathering from farms take much long. Re-balance all gathering rates. Artwork * [DONE] [Michael] Need to complete the unit animations of carrying a specific resource. Currently only spearman work, and only for meat and grain. * [DONE] [Michael] Women are the only animation left that don't have nice carrying (curent balance a basket on their head). |
|||
| #673 | fixed | [PATCH] Mouse wheel in minimap | ||
| Description |
Mousewheel behaviors that work in the game view should work in the minimap as well:
|
|||
| #674 | fixed | Make the Exit Game and Delete Entity dialogs consist with session GUI | ||
| Description |
The exit game and delete entity dialogs feature the pregame styling. This is hard coded. Since styles cannot be changed dynamically like sprites can, this is not an easy fix. Also, the exit game dialog accessed from the pregame main menu should retain the currently style. The files involved with the message box are found (on Windows) at: C:\0ad\binaries\data\mods\public\gui\msgbox\msgbox.xml This file contains both the XML objects and JS code. The code should probably be separated from this file. |
|||
| #675 | fixed | Saving screenshot should provide message notifying user where it saved | ||
| Description |
Currently when you take a screenshot in the game (F2), there is no message and the screenshot is silently saved to a certain directory, differing by the user's OS. A dialog is probably too much interruption for the user, as it's one more thing they'd have to click through, so a chat message / log entry seems a logical way to solve this. |
|||
| #676 | duplicate | [Atlas] Double-click selects all similar units | ||
| Description |
Similar to simulation. Double clicking units should selects all similar units on screen. |
|||
| #677 | duplicate | [Atlas] Band Box selection | ||
| Description |
Similar to simulation. Provide a way to select multiple units on the screen with band-boxing. |
|||
| #678 | fixed | [PATCH] [Atlas] Improve unit selection options | ||
| Description |
Copy over unit selection methods from simulation to the editor.
|
|||
| #680 | worksforme | [Atlas] Fix Run Simulation crash | ||
| #681 | fixed | Think about reserved slots in pseudo-global | ||
| Description |
/** Get the cached class prototypes sorted out in advance. Not guaranteed tracemonkey-future-proof.
* Almost certainly requires eager standard class initialization on the true global.
*/
for (key = 0; key < JSProto_LIMIT; key++)
{
jsval v;
if (JS_GetReservedSlot(cx, realm->globalObject, key, &v) == JS_FALSE)
return JS_FALSE;
if (JS_SetReservedSlot(cx, moduleScope, key, v) == JS_FALSE)
return JS_FALSE;
}
which we don't. Apparently this might possibly cause tracer-interaction problems like var a = new Array(); var b = []; print(b instanceof Array === a instanceof Array)
giving false sometimes (similar with Ought to test this and see if it's still a real problem, and if the reserved slot thing fixes it. |
|||
| #682 | fixed | Jumping Fishing Spots | ||
| Description |
Make fishing spots more prominent. Have the spots where fish are jump out of the water, or make it bubble, or some type of animation to indicate they are there (see #617 for some background on why we can't just rely on transparent water). |
|||
| #683 | fixed | OSX Full-Screen Cursor Jumping | ||
| Description |
OS: Mac OSX 10.6.5
HW: MacBook Pro (15-inch, Mid 2009)
2.8 GHz
4 GB RAM
NVIDIA GeForce 9400M & 9600M GT
64-bit kernel enabled
GV: Alpha 2 Custom Build (r8686)
This issue may be limited to certain OSX software or certain Apple hardware. It only occurs in fullscreen mode, and has only been found to occur on 10.6.5, 15" MacBook Pro. When units are selected and the player hovers over a resource with the cursor (tree, farm, stone etc.), the cursor will jump away from the resource (sometimes to the civic center, sometimes to another unit - I'm not sure what variables determine where it goes), preventing the player from tasking a unit on a resource. Building structures poses no problems. This issue is non-existent in window mode. See video: http://www.youtube.com/watch?v=Iumc_uE9A5c Note that when no units are selected, the cursor has no problems hovering over resources. |
|||
| #684 | fixed | hwdetect: disable S3TC on R600 drivers | ||
| Description |
See thread. We should probably disable S3TC by default on such drivers, until the driver bug gets fixed. Also, don't display the error message and libtxc_dxtn suggestion in those cases. |
|||
| #685 | duplicate | [SOUND] OSX Crashes with Audio | ||
| Description |
OS: Mac OSX 10.6.5
HW: MacBook Pro (15-inch, Mid 2009)
2.8 GHz
4 GB RAM
NVIDIA GeForce 9400M & 9600M GT
64-bit kernel enabled
GV: Alpha 2 Custom Build (r8686)
I know this is a known bug, but I thought I'd put it on the books. There doesn't seem to be a ticket for it yet. OSX users currently have to run in quickstart mode because audio is broken. Otherwise, tragedy strikes: SND| alc_init: success, using Built-in Output 2010-11-24 19:57:55.698 pyrogenesis_dbg[37006:903] Error loading /Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types: dlopen(/Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types, 262): no suitable image found. Did find: /Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types: no matching architecture in universal wrapper pyrogenesis_dbg: OpenScripting.framework - scripting addition "/Library/ScriptingAdditions/Adobe Unit Types.osax" declares no loadable handlers. glwprintf failed (buffer size exceeded?) - return value -1, errno 92 glwprintf failed (buffer size exceeded?) - return value -1, errno 92 ... OpenAL error: Invalid Operation; called from vsrc_deque_finished_bufs (line 1609) snd_mgr.cpp(114): Assertion failed: "0" Assertion failed: "0" Location: snd_mgr.cpp:114 (al_ReportError) Basically causes a crash within 3-5 seconds of getting to the menu screen. Other known cases: http://www.wildfiregames.com/forum/index.php?s=&showtopic=12570&view=findpost&p=201047 http://www.wildfiregames.com/forum/index.php?s=&showtopic=12483&view=findpost&p=200429 http://www.wildfiregames.com/forum/index.php?s=&showtopic=13748&view=findpost&p=213006 |
|||
| #686 | fixed | [PATCH] Additional counters for summary screen | ||
| Description |
It would be good to have more counters on summary screen, here is some ideas from Mythos_Ruler's forum post (http://www.wildfiregames.com/forum/index.php?showtopic=13683&view=findpost&p=213723):
For implementation details see ticket #638 and corresponding changeset r8576, which contains already implemented counters for summary screen. Most related files are:
|
|||
| #687 | fixed | Build Limits | ||
| Description |
Place build limits:
There should also be an option in the game setup menus, for "Enable Build Limits". It should be ticked by default, and allow to be unticked, which would disable them for that game (for testing purposes). It should also only affect new things in the game. If a map maker creates a map with 10 heros, you should still be able to load the map and control those heros. You just can't build another one. |
|||
| #688 | fixed | New Loading Screen | ||
| Description |
Implement new loading screen to match mockups. |
|||
| #689 | duplicate | Delay disappearance of loading screen in single player | ||
| Description |
With the new loading screen, people will want to read the new tips. Fast computers load the map too quickly though, and don't give users a chance to read them fully. In single player, stop the game from auto-starting, provide a "Start game" button on the loading screen that the user clicks when they are ready to start. Provide a local.cfg setting which can disable this pausing. config.loading.wait_for_user = true Setting to false does the current behavior of starting the game right away when map is loaded. |
|||
| #690 | fixed | Display actions for units as a group, not first selected unit | ||
| Description |
When a unit i na group can build, show the build icons in the GUI. Currently, the GUI is determined by the first selected unit. If the unit is a hero, you can't build a thing. Ideally, it'd show the the actions of the most capable unit. So with a hero and women selected, the buildings women can build would be selected. If any infantry was in the group, you'd add the additional special buildings. |
|||
| #691 | fixed | Separate playable maps from testing maps | ||
| Description |
Implementation Notes:
End Goal:
End Result: In the gui, you have a match type dropdown with options derived from <MatchType>, namely 'Playable' and 'Testing'. When I select testing, I see only maps where they have <MatchType name="Testing" /> |
|||
| #692 | duplicate | Hotkey i18n | ||
| Description |
We have hotkeys like WASD for camera movement, and ' Rather than picking some lowest-common-denominator key assignments, or forcing users to reassign keys manually, perhaps we should provide multiple sets of default assignments for different layouts, and (ideally) select the appropriate one automatically on startup, or (less ideally) give the user a list of available defaults to pick from. |
|||
| #693 | fixed | Unit animation changes when unit is not in range of target resource | ||
| Description |
The unit animation changes when unit is not in range of target resource. When a unit can't get where they are going (i.e. they're stuck in the group), they still do the animatioin they would have don if they got to their resource. To get the same thing, get a big bunch of units, select the one in the middle, and have him chop wood The animation shouldn't start until the unit reaches his target Cause: The unit says to move somewhere, then a while later it hears that it's stopped moving, so it switches the attack/etc state, which triggers the animation. Then after some timer it checks the target is (still) in range. And the problem is if the target isn't in range at the time when the unit stopped moving because it got stuck somewhere |
|||
| #694 | fixed | Improve the performance of the game setup screen on first load | ||
| Description |
Since it seems slow when I test it with an empty cache, and leads to pauses when images are being cached. Precache them on game load? Or maybe trigger caching when user opens single/multi player setup screen? |
|||
| #695 | fixed | [PATCH] Stop using boost::filesystem::operator< so much | ||
| Description |
When launching the game and starting a map, Callgrind says The main callers are CTextureManagerImpl::CreateTexture CTextureManagerImpl::GetConverterSettings CTextureManagerImpl::GetSettingsFile CSkeletonAnimManager::GetAnimation Landlord<>::add_ FileCache::Retrieve
which look like |
|||
| #696 | fixed | Fix SpiderMonkey build with Python 3 | ||
| Description |
Need to fix SpiderMonkey's |
|||
| #697 | fixed | [PATCH] Units promotion | ||
| Description |
Units should be able to promote to next rank (basic -> advanced -> elite). |
|||
| #699 | fixed | Missing textures in Cycladic Archipelago | ||
| Description |
The following textures are missing from the Cycladic Archipelago map:
|
|||
| #700 | fixed | Multiplayer - Server should better handle player assignments | ||
| Description |
Currently, in multiplayer games it is possible that more players may join a game than there are slots available, a player may be unassigned by the host, or the map can be changed to one with fewer slots resulting in same. If a game is started with unassigned players, they will appear to load but mostly fail because the game data has not be initialized for them. Here's some suggestions to handle these and related issues:
|
|||
| #701 | fixed | Maps errors | ||
| Description |
Tower attacking demo: ERROR: Failed to find file: "simulation/templates/other/rome_legionnaire_marian.xml" ERROR: Failed to load entity template 'other/rome_legionnaire_marian' ERROR: Failed to load entity template 'other/rome_legionnaire_marian' ERROR: Failed to find file: "simulation/templates/other/rome_legionnaire_marian.xml" ERROR: Failed to load entity template 'other/rome_legionnaire_marian' ERROR: Failed to load entity template 'other/rome_legionnaire_marian' ERROR: Failed to find file: "simulation/templates/other/rome_legionnaire_marian.xml" ERROR: Failed to load entity template 'other/rome_legionnaire_marian' ERROR: Failed to load entity template 'other/rome_legionnaire_marian' ERROR: Failed to find file: "simulation/templates/other/rome_legionnaire_marian.xml" ERROR: Failed to load entity template 'other/rome_legionnaire_marian' ERROR: Failed to load entity template 'other/rome_legionnaire_marian' ERROR: Failed to find file: "simulation/templates/other/rome_legionnaire_marian.xml" ERROR: Failed to load entity template 'other/rome_legionnaire_marian' ERROR: Failed to load entity template 'other/rome_legionnaire_marian' ERROR: Failed to find file: "simulation/templates/other/rome_legionnaire_imperial.xml" ERROR: Failed to load entity template 'other/rome_legionnaire_imperial' ERROR: Failed to load entity template 'other/rome_legionnaire_imperial' ERROR: Failed to find file: "simulation/templates/other/rome_legionnaire_imperial.xml" ERROR: Failed to load entity template 'other/rome_legionnaire_imperial' ERROR: Failed to load entity template 'other/rome_legionnaire_imperial' ERROR: Failed to find file: "simulation/templates/other/rome_legionnaire_imperial.xml" ERROR: Failed to load entity template 'other/rome_legionnaire_imperial' ERROR: Failed to load entity template 'other/rome_legionnaire_imperial' ERROR: Failed to find file: "simulation/templates/other/rome_legionnaire_imperial.xml" ERROR: Failed to load entity template 'other/rome_legionnaire_imperial' ERROR: Failed to load entity template 'other/rome_legionnaire_imperial' ERROR: Failed to find file: "simulation/templates/other/rome_legionnaire_imperial.xml" ERROR: Failed to load entity template 'other/rome_legionnaire_imperial' ERROR: Failed to load entity template 'other/rome_legionnaire_imperial' ERROR: Failed to find file: "simulation/templates/other/rome_centurio_imperial.xml" ERROR: Failed to load entity template 'other/rome_centurio_imperial' ERROR: Failed to load entity template 'other/rome_centurio_imperial' ERROR: Failed to find file: "simulation/templates/other/rome_centurio_imperial.xml" ERROR: Failed to load entity template 'other/rome_centurio_imperial' ERROR: Failed to load entity template 'other/rome_centurio_imperial' ERROR: Failed to find file: "simulation/templates/other/rome_centurio_imperial.xml" ERROR: Failed to load entity template 'other/rome_centurio_imperial' ERROR: Failed to load entity template 'other/rome_centurio_imperial' ERROR: Failed to find file: "simulation/templates/other/rome_centurio_imperial.xml" ERROR: Failed to load entity template 'other/rome_centurio_imperial' ERROR: Failed to load entity template 'other/rome_centurio_imperial' ERROR: Failed to find file: "simulation/templates/other/rome_centurio_imperial.xml" ERROR: Failed to load entity template 'other/rome_centurio_imperial' ERROR: Failed to load entity template 'other/rome_centurio_imperial' Units demo: ERROR: Failed to find file: "art/actors/units/hellenes/mechanical_siege_ram.xml" ERROR: CObjectManager::FindObjectBase(): Cannot find object 'units/hellenes/mechanical_siege_ram.xml' |
|||
| #702 | fixed | Saved Games | ||
| Description |
We should be able to save and load games ;) At the minimum this requires:
Here's a few tickets which may need to be resolved for saved games: |
|||
| #703 | fixed | Females shouldn't attack military units unless ordered to | ||
| Description |
Females were given an attack so that they could kill animals. But now they attack military units automatically. This should be fixed. Females should run away from attackers unless told to fight them. |
|||
| #704 | worksforme | Atlas Launch Error | ||
| Description |
Was testing the Alpha 3 release candidate on windows for Philip. When launching the Scenario Editor from in the game for the first time I got: Assertion failed: "0" Location: wsdl.cpp:241 (wnd_CreateWindow) Call stack: 0055144F 005528B8 0052D4BB 00530681 00530812 errno = 0 (?) OS error = 487 (Attempt to access invalid address. ) After hitting continue: Much to our regret we must report the program has encountered an error. Please let us know at http://trac.wildfiregames.com/ and attach the crashlog.txt and crashlog.dmp files. Details: unhandled exception (Access violation reading 0x2050B810) Location: unknown:0 (?) Call stack: 004AC927 004AC397 004BA250 0049A8B3 0049F91A 004DCDC7 004DB78E 00402B84 0052D24F errno = 0 (?) OS error = 0 (no error code was set) Launching Atlas from the start menu worked fine. Subsequent launches from either the start menu or from within the game worked fine as well. |
|||
| #705 | fixed | [PATCH] Tooltips go off screen in lower resolutions | ||
| Description |
When on lower resolutions, and you select a unit which can build, and hover over an icon in the lower right corner, it's tooltip goes off the screen. It should be adjusted to always be on screen. |
|||
| #706 | fixed | Projectiles shouldn't persist when they land on water | ||
| Description |
Projectiles shouldn't persist when they land on water. They should sink, then when off world, get removed from memory, similar to buildings. |
|||
| #707 | fixed | Implement Opponent AI | ||
| Description |
We need an opponent AI.
Notes:
Basic Implementation: (women, housing and harvesting)
Medium Implementation: (warriors, defense, and groups)
Complex Implementation: (attack, slaughter)
|
|||
| #708 | fixed | There should be a .dmg - file for Mac Users | ||
| Description |
There should be a .dmg - file for Mac Users. Not everyone is able to compile, so there should be an executable package for Mac. |
|||
| #709 | fixed | [CRASHLOG] Compatibility Problem - Crashes whilst attempting to load maps. | ||
| Description |
Hello, I am running 0AD alpha 3 on windows XP (really shouldnt be tho) and I can not get any maps to run. When starting the game i encounter 3 errors, then the window loads and i get 4 more errors, then i can view the actual UI. and select a map, press start game and i get 40 more errors before the program gives up. (more info in errors.txt) Please see attached the debugging / error files.
Thanks, asmartgoat@… |
|||
| #710 | fixed | Errors on map "Oasis" | ||
| Description |
When starting the game with map "Oasis" I get the following in chat: "XCeromyces: ........." something(3 lines) and then 2 errors with "failed to load entity template "other/obelisk" . Map still works otherwise |
|||
| #711 | fixed | Enforce minimum and maximum distance between civ centers | ||
| Description |
A civ center should be X tiles away from an existing civ center, but no more than X tiles. I haven't filled in the X's yet, as tis functionality relies on Territories (, which will define where they can be built. |
|||
| #712 | fixed | Remove S3TC warning | ||
| Description |
When S3TC textures aren't supported, we decompress them automatically but show a performance warning message telling people to read the CompressedTextures page which suggests installing libtxc_dxtn (which is unmaintained and not any better than decompressing textures ourselves). This is quite common on Linux. We should simplify things for users by simply accepting the lack of S3TC silently because there's nothing useful anyone can do about it. |
|||
| #713 | fixed | Update premake for Xcode use | ||
| Description |
This is eventually a necessity for OSX. Xcode use will significantly streamline the app bundling process and enable Mac developers to collaborate as seamlessly as our PC developers work together now. Unfortunately premake is currently in the way. |
|||
| #714 | fixed | added hotkey list from wiki to in game manual | ||
| Description |
added full hotkey list to game manual so that players wont have to search all over to figure out all of the controls that are available. |
|||
| #715 | fixed | [PATCH] Bundled SpiderMonkey fails to build on 32bit userland on 64bit kernel (Linux) | ||
| Description |
Due to some silly autodetection, Spidermonkey wants to compile itself as 64bit (64bit macros are set), but the compiler still builds it as 32bit, resulting in a build failue. On such build log can be found at http://bugs.gentoo.org/attachment.cgi?id=244021&action=view (more info at http://bugs.gentoo.org/show_bug.cgi?id=278541#c37) Attached patch adds support for (fairly standardised) CTARGET, CHOST and CBUILD environment variables to libraries/spidermonkey-tip/build.sh. This change alone fixes build in Gentoo, whose package manager sets these variables during build. (the echo line in the patch is just debug, you may want to strip these (or not)) |
|||
| #716 | duplicate | Crash on map "Miletus" (probably error in AI) | ||
| Description |
How to reproduce:
I've run today built 0ad from svn on Linux. snd_mgr.cpp(492): Assertion failed: "0" Assertion failed: "0" Location: snd_mgr.cpp:492 (srcs_remove) Call stack: (0x8294212) ./pyrogenesis() [0x8294212] (0x825b4c8) ./pyrogenesis() [0x825b4c8] (0x825c383) ./pyrogenesis() [0x825c383] (0x825c545) ./pyrogenesis() [0x825c545] (0x82856fc) ./pyrogenesis() [0x82856fc] (0x8286084) ./pyrogenesis() [0x8286084] (0x827b3de) ./pyrogenesis() [0x827b3de] (0x8285817) ./pyrogenesis() [0x8285817] (0x82868ea) ./pyrogenesis() [0x82868ea] (0x8286d24) ./pyrogenesis() [0x8286d24] (0x8057119) ./pyrogenesis() [0x8057119] (0x805800d) ./pyrogenesis() [0x805800d] (0xb6e76bd6) /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6) [0xb6e76bd6] (0x8056411) ./pyrogenesis() [0x8056411] errno = 0 (?) OS error = ? Aborted |
|||
| #717 | fixed | Test site displays missing images for users without avatars | ||
| Description |
Instead of displaying nothing, IPB3 attempts to display an image for users that don't have avatars. For whatever reason, this image is 404'd. It should be a simple fix...I probably caused the issue by copying over the images from the current installation. |
|||
| #718 | invalid | The site needs a new ban-hammer | ||
| Description |
IPB doesn't have an easy "ban" button. This would be a nice-to-have for those who are actively fighting the spammers. |
|||
| #719 | invalid | Fixing new forum theme | ||
| Description |
The following CSS suggestion was mentioned to me: #branding {
background-image: none;
background-color: white;
}
#user_navigation {
background-color: white;
border: none;
}
#user_navigation.not_logged_in .links,
#user_navigation.not_logged_in .links a,
#user_navigation ul a {
color: black;
}
In addition to this, a transparent WFG logo would be nice for the header. |
|||
| #720 | wontfix | Fix lighting of units in FoW, with shadows enabled | ||
| Description |
Get some objects to render in fog-of-war (i.e. explored but not still visible). With shadows disabled, they look much darker than objects in visible regions. With shadows enabled, they look almost the same as in visible regions.
The dark colour is set via Need to make sure this works for all the other variations of the renderer (player colour, transparency, shader vs FF). |
|||
| #721 | fixed | [PATCH] Optimise water renderer | ||
| Description |
Since water very rarely changes, I expect it'd be best to make As a bonus: If no visible patches have any water (i.e. they're all entirely above the water plane), don't render the reflection/refraction textures. |
|||
| #722 | fixed | [PATCH] Optimise terrain renderer | ||
| Description |
Some quick experimentation suggests the terrain rendering code can be made significantly faster by batching more.
Currently,
This is fairly trivial for base textures. For blend textures we need to preserve the ordering within a patch; the same grouping algorithm as in |
|||
| #723 | fixed | [PATCH] Multiline centered text | ||
| Description |
Currently text centered by the first line position, so if there is multiple lines, each line will have the same indention as the first one instead of be centered individually. |
|||
| #724 | fixed | [PATCH] Units should not move out of enemy construction zones | ||
| Description |
When you place a building, enemy units will politely move out of the way so you can build it. Only ally units and animals should move away. |
|||
| #725 | invalid | Anon members cannot contribute to wiki | ||
| Description |
DGMurdockIII indicated via IRC that our current wiki is a bit of a turn-off to community members due to the mandatory registration. We should discuss allowing anon edits and how to moderate them. |
|||
| #726 | fixed | Upgrade to 3.1.4 | ||
| Description |
The version 3.1.4 is out, and we do not have a proper upgrade package. We need to obtain one and upgrade. |
|||
| #727 | fixed | Fast reply clears content if defocuses and refocused | ||
| Description |
If you click the fast reply box, type something, defocus the field, then refocus, the content gets cleared. This means, anything you type is gone if you do something else, e.g. go to get a link to insert into the post This needs to be fixed ASAP. Was it fixed in 3.1.3 (see #726)? If not, find out why and how to fix. A workaround for now it to use full reply. |
|||
| #728 | worksforme | Visiting main site logs user out of forum | ||
| Description |
|
|||
| #729 | fixed | No link to 0 A.D. homepage on forum | ||
| Description |
Currently there's no link to the 0 A.D. homepage, only the WFG.com page. Personally I actually think the WFG.com link could be removed and replaced with a link to the 0 A.D. site as the WFG.com isn't all that useful, especially since TLA is discontinued. Either way a link to the 0 A.D. site would be nice :) Overall the upgrade has worked fine though, so thanks for your work so far. |
|||
| #730 | fixed | IPB Theming - Pinned topics should stand out more | ||
| Description |
Would be really nice to have some kind of separation between pinned and ordinary topics. Not too urgent though as they have the "Important" label, just would be nice to be able to see it more at a glance. |
|||
| #731 | fixed | WYSIWYG/insert buttons when creating/editing posts doesn't work | ||
| Description |
I'm not sure if it's due to something I have/haven't done, but now the WYSIWYG buttons doesn't seem to work. Nothing happens when I click them (apart from the text field going out of focus due to me clicking outside of it). I've tested in both FF and Chrome, so it doesn't seem to be browser related. It does work in the "simple editor", i.e. when you haven't pressed the "Use full editor" button |
|||
| #732 | fixed | Gradually reveal buildings in FOW | ||
| Description |
As you peel back the FOW, gradually reveal the buildings. See http://www.wildfiregames.com/forum/index.php?showtopic=14325&view=findpost&p=216020 for more discussion Note: This'll be done after http://www.wildfiregames.com/forum/index.php?showtopic=14419&view=findpost&p=216043 has been delt with. |
|||
| #733 | fixed | Double line-spacing in [pre] | ||
| Description |
In e.g. this post which uses |
|||
| #734 | fixed | Upgrade SpiderMonkey again | ||
| Description |
Should upgrade it some time, to get bug fixes and performance improvements etc. Some notes that I don't want to forget:
|
|||
| #735 | fixed | Editing current content returns mangled HTML | ||
| Description |
When editing a post or signature, IPB3 seems to return the HTML codes (&) instead of the actual symbols (&). This is probably a charset issue. |
|||
| #736 | fixed | JavaScript Error when choosing "Kimball's Map" in the match setup screen | ||
| Description |
After the above error the information about the map/s doesn't update when I click on another map, but after closing the Match Setup screen and going back to it it works again. As Philip said it will only occur when a map is using a non-existent civ I've only set it to "If Time Permits", and the map in question isn't in the public version, so it shouldn't be a problem for most users. |
|||
| #737 | fixed | Wrong NVIDIA driver checked in 32-bit Vista | ||
| Description |
In 32-bit Vista with fairly recent NVIDIA drivers, I have |
|||
| #739 | fixed | 2 tests fail | ||
| Description |
Since two days I am getting this tests failure: Running 253 tests........................................................................................
In TestSerializer::test_script_basic:
../../../source/simulation2/tests/../../../source/simulation2/tests/test_Serializer.h:276: Error: Expected (std::string(stream.str()) == std::string("script: ({x:123, y:[1, 1.5, \"2\", \"test\", (void 0), null, true, false]})\n")), found ("script: {\n \"x\": 123,\n \"y\": [\n 1,\n 1.5,\n \"2\",\n \"test\",\n null,\n null,\n true,\n false\n ]\n}\n" != "script: ({x:123, y:[1, 1.5, \"2\", \"test\", (void 0), null, true, false]})\n")
....................................ERROR: JavaScript error: cyclic object value
ERROR: StringifyJSON failed
In TestComponentManager::test_script_serialization:
../../../source/simulation2/tests/../../../source/simulation2/tests/test_ComponentManager.h:677: Error: Expected (std::string(debugStream.str()) == std::string("rng: \"78606\"\n" "entities:\n" "- id: 1\n" " TestScript1_values:\n" " object: ({x:1234, str:\"this is a string\", things:{a:1, b:\"2\", c:[3, \"4\", [5, []]]}})\n" "\n" "- id: 2\n" " TestScript1_entity:\n" " object: ({})\n" "\n" "- id: 3\n" " TestScript1_nontree:\n" " object: ({x:#2=[#1=[2], #1#, #2#, {y:#1#}]})\n" "\n" "- id: 4\n" " TestScript1_custom:\n" " object: ({c:1})\n" "\n")), found ("rng: \"78606\"\nentities:\n- id: 1\n TestScript1_values:\n object: {\n \"x\": 1234,\n \"str\": \"this is a string\",\n \"things\": {\n \"a\": 1,\n \"b\": \"2\",\n \"c\": [\n 3,\n \"4\",\n [\n 5,\n []\n ]\n ]\n }\n}\n\n- id: 2\n TestScript1_entity:\n object: {}\n\n- id: 3\n TestScript1_nontree:\n object: \n\n- id: 4\n TestScript1_custom:\n object: {\n \"c\": 1\n}\n\n" != "rng: \"78606\"\nentities:\n- id: 1\n TestScript1_values:\n object: ({x:1234, str:\"this is a string\", things:{a:1, b:\"2\", c:[3, \"4\", [5, []]]}})\n\n- id: 2\n TestScript1_entity:\n object: ({})\n\n- id: 3\n TestScript1_nontree:\n object: ({x:#2=[#1=[2], #1#, #2#, {y:#1#}]})\n\n- id: 4\n TestScript1_custom:\n object: ({c:1})\n\n")
...............................................................................................................................
Failed 2 of 253 tests
Success rate: 99%
|
|||
| #740 | fixed | Foundations don't block construction place | ||
| Description |
It is possible to lay down another foundation on a new foundation on the same place. The first foundation where the construction starts blocks the other foundation from being build. A new foundation (no construction started) should block the place from laying down other foundation on top of it. Tested on revision 8967. |
|||
| #741 | fixed | Reload all GL state when toggling fullscreen on OS X | ||
| Description |
On OS X, switching from fullscreen to windowed mode apparently triggers errors like I guess the GL context state gets lost when toggling fullscreen, in which case we need to destroy and reload all our GL objects (textures, shaders, vertex buffers, framebuffers, etc) when switching. |
|||
| #744 | fixed | [PATCH] Button "Find idle workers" | ||
| Description |
|
|||
| #745 | fixed | [PATCH] Setting Rally Points on Resources/Buildings | ||
| Description |
You should be able to set rally points on resources so that citizens will automatically gather that type of resource when they are created. Things to think about: [15:16] <@Philip`> (How does it work if e.g. the resource gets exhausted while it's the gather point?) [15:16] <@Philip`> (or if e.g. it's an animal that has run away?) [15:20] <mark__> I think in AoK that if the resource was exhausted that they just searched for a nearby matching resource. As if they had just used it up. [15:20] <mark> Otherwise they stood there like a normal rally point. |
|||
| #746 | invalid | farmed field counts as a lost building | ||
| Description |
A farmed field counts as a lost building in the endgame statistics. |
|||
| #747 | fixed | better FPS indicator | ||
| Description |
1) FPS should also be enabled with a checkbox in the settings menu, other than pressing SHIFT-F, so one can easily find it to check the effect of playing with graphic options; 2) FPS indicator should be moved, currently is overlapped to the food indicator, maybe also using a better font. |
|||
| #748 | fixed | [PATCH] Hardware cursors on Linux | ||
| Description |
It looks like it should be possible to do full 32-bit RGBA cursors on Linux with
See |
|||
| #749 | wontfix | redundant AI settings chooser | ||
| Description |
There are two way to select an AI type: with the 'Player Name' combo box and through the 'c' button -> 'AI Player' combo box. The latter should probably be removed. |
|||
| #750 | fixed | [PATCH] Enhancement to Matrix3D | ||
| Description |
It is possible to save easily some full matrix multiplications in It remains to be seen if more inlining should be done for matrix operations. |
|||
| #751 | wontfix | Bad login link on 0AD page | ||
| Description |
The login link on the 0AD page tries to log the user into the "old" (sitemanagementforum) forum, leading to confusion for those who are new and only have accounts on the new forum. These login links need to be updated. |
|||
| #752 | fixed | Cache detection error | ||
| Description |
Someone reports: Assertion failed: "0" Location: x86_x64.cpp:457 (DetectCache_CPUID4) Call stack: 00567D5F 005691C8 0053F27B 02A000B0 0003FFA8 errno = 0 (?) OS error = 0 (no error code was set) Assertion failed: "dcaches.numLevels >= 2" Location: x86_x64.cpp:698 (DetectCacheAndTLB) Call stack: 00567D5F 005691C8 0053F27B errno = 0 (?) OS error = 487 (Se ha intentado tener acceso a una dirección no válida. ) Assertion failed: "dcaches.levels[0].lineSize != 0" Location: x86_x64.cpp:699 (DetectCacheAndTLB) Call stack: 00567D5F 005691C8 0053F27B errno = 0 (?) OS error = 487 (Se ha intentado tener acceso a una dirección no válida. ) Assertion failed: "dcaches.levels[1].lineSize != 0" Location: x86_x64.cpp:700 (DetectCacheAndTLB) Call stack: 00567D5F 005691C8 0053F27B errno = 0 (?) OS error = 487 (Se ha intentado tener acceso a una dirección no válida. ) The relevant reported data is: "cpu_coresperpackage": 1,
"cpu_frequency": 2533000000,
"cpu_identifier": " Intel Pentium 4 2.53GHz",
"cpu_largepagesize": 0,
"cpu_logicalpercore": 1,
"cpu_numcaches": 1,
"cpu_numpackages": 1,
"cpu_numprocs": 1,
"cpu_pagesize": 4096,
[...]
"uname_machine": "IA-32",
"uname_release": "SP 2",
"uname_sysname": "WinXP",
"uname_version": "5.1.2600",
[...]
"x86_caps[0]": 17408,
"x86_caps[1]": 3219913727,
"x86_caps[2]": 0,
"x86_caps[3]": 0,
"x86_dcaches": [],
"x86_dtlbs": [
{
"associativity": 255,
"entries": 64,
"level": 1,
"pagesize": 4096,
"type": 1
}
],
"x86_family": 15,
"x86_icaches": [],
"x86_itlbs": [
{
"associativity": 255,
"entries": 128,
"level": 1,
"pagesize": 4096,
"type": 2
}
],
"x86_model": 2,
"x86_vendor": 1
|
|||
| #754 | fixed | Crash on Start | ||
| Description |
This Error create an Start ... The Game not be run :( Function call failed: return value was -1 (Unknown error (-1, 0xFFFFFFFF)) Location: wutil.cpp:168 (LibError_from_GLE) Call stack: 00567D5F 005691C8 0053F27B 005625C7 005793E4 00579444 errno = 0 (?) OS error = 487 (Es wurde versucht, auf eine unzulässige Adresse zuzugreifen. ) Function call failed: return value was -1 (Unknown error (-1, 0xFFFFFFFF)) Location: wutil.cpp:168 (LibError_from_GLE) Call stack: LibError_from_GLE (wutil.cpp:168)
ReadRegister (mahaf.cpp:174)
mahaf_ReadModelSpecificRegister (mahaf.cpp:184)
MSR::Read (msr.cpp:95)
CounterTSC::NominalFrequency (tsc.cpp:228)
GetNextBestSafeCounter (whrt.cpp:81)
InitCounter (whrt.cpp:109) whrt_Init (whrt.cpp:302) winit_CallInitFunctions (winit.cpp:89) wstartup_InitAndRegisterShutdown (wstartup.cpp:109) initterm_e (:0) tmainCRTStartup (crtexe.c:483)
CallStartupWithinTryBlock (wseh.cpp:386)
errno = 0 (?) OS error = 0 (no error code was set) |
|||
| #755 | duplicate | Unloading troops from ships gets some stuck in the water (alpha 4) | ||
| Description |
When unloading a decent amount of troops from a ship (> 10), some of them unload off the back of the boat, then are stuck in deep water and can't make the transition from deep to shallow water. The only work around is to re-garrison them in the ship, then unload again so they come off the front of the boat on the shallow side. A check should be made to ensure they unload in shallow water, or allow transition from deep to shallow water (but not from shallow to deep, since deep is restricted for troops). |
|||
| #757 | needsinfo | [NEEDS INFO] ERROR: CRenderer::EndFrame: GL errors occurred | ||
| Description |
After starting a map with r9099 I got this mesa warning: Mesa: User error: GL_INVALID_OPERATION in glCompressedTexImage2D ERROR: CRenderer::EndFrame: GL errors occurred Full output is attached. I am no longer able to reproduce this however. |
|||
| #758 | fixed | JavaScript warning when selecting Miletus map | ||
| Description |
When selecting Miletus map the following warnings appear: WARNING: JavaScript warning: gui/gamesetup/gamesetup.js line 810
reference to undefined property g_CivData[civ]
ERROR: JavaScript error: gui/gamesetup/gamesetup.js line 810
TypeError: g_CivData[civ] is undefined
onGameAttributesChange()@gui/gamesetup/gamesetup.js:810
updateGameAttributes()@gui/gamesetup/gamesetup.js:840
selectMap("Miletus")@gui/gamesetup/gamesetup.js:635
__eventhandler80 (selectionchange)([object Object])@mapSelection selectionchange:0
|
|||
| #759 | fixed | no package available for debian | ||
| Description |
With the impressive list of supported platform, I can't understand the lack of a debian package… |
|||
| #760 | fixed | Update wiki for new random map system | ||
| Description |
The following wiki pages should be updated so people know how to use the new random map generator. The API is fairly similar to the standalone rmgen tool, so it will mostly need rewording and perhaps flushing out of details. And they should be linked from a more sensible location than TDD_Tools. |
|||
| #761 | fixed | crash with RMS and Latium map | ||
| Description |
Selecting Random map, Latium map and 3 players make the game crash: ERROR: JavaScript error: maps/random/rmgen/tileclass.js line 83 TypeError: this.rangeCount[y] is undefined (139,289)@maps/random/rmgen/tileclass.js:83 addToClass(139,289,6)@maps/random/rmgen/library.js:337 @maps/random/latium.js:114 ERROR: Failed to load RMS 'maps/random/latium.js' TIMER| GenerateMap: 73.5917 ms ERROR: Map generation failed: RMS returned undefined main.cpp(206): Function call failed: return value was -1 (Function failed (no details available)) Function call failed: return value was -1 (Function failed (no details available)) Location: main.cpp:206 (ProgressiveLoad) Call stack: (0x82ae2e2) ./pyrogenesis() [0x82ae2e2] (0x827ab98) ./pyrogenesis() [0x827ab98] (0x827bb53) ./pyrogenesis() [0x827bb53] (0x827be3e) ./pyrogenesis() [0x827be3e] (0x80558a0) ./pyrogenesis() [0x80558a0] (0x8055e41) ./pyrogenesis() [0x8055e41] (0x8056f9d) ./pyrogenesis() [0x8056f9d] (0xb6d59ce7) /lib/libc.so.6(__libc_start_main+0xe7) [0xb6d59ce7] (0x80556d1) ./pyrogenesis() [0x80556d1] errno = 0 (?) OS error = ? |
|||
| #762 | fixed | Last minor issues with RMS | ||
| Description |
1) Select Scenario, Demo Maps, Random. The following warning appears: ERROR: Failed to read file: maps/random/Bridge_demo.json 2) 'New RMS test' map should be under Random Demo maps. 3) Possibly make Random map the default for Alpha 5 rather than Scenario to highlight this new feature and to have additional testing. |
|||
| #763 | fixed | [PATCH] Player and resource colors conflict on minimap | ||
| Description |
On the minimap, metal mines are shown as yellow which is very similar to player 4's color. Animals are shown as orange which is similar to player 7. One or the other should be tweaked slightly so the players and resources can be more clearly distinguished. |
|||
| #764 | fixed | Random maps can crash game | ||
| Description |
Currently if a random map generator script fails, the game will crash because it has no map data. The best way to deal with this would be to present a message to the user telling them the map script failed, and then return them to the main menu. I'm not sure how the progressive loader can be aborted safely. Another way to handle this temporarily, is to just load a blank map when the generator fails. |
|||
| #765 | fixed | Error when moving building placement preview off the map | ||
| Description |
ICmpRangeManager.h(193): Assertion failed: "i >= 0 && j >= 0 && i < m_VerticesPerSide && j < m_VerticesPerSide" |
|||
| #766 | fixed | ./update-workspaces.sh fails while linking a dir | ||
| Description |
When running ./update-workspaces.sh from inside the build/workspaces dir, I get the following error: /home/henner/src/0ad/libraries/spidermonkey-tip/src/build-release/config/nsinstall -R system_wrappers_js ../dist /home/henner/src/0ad/libraries/spidermonkey-tip/src/build-release/config/nsinstall: cannot make symbolic link /home/henner/src/0ad/libraries/spidermonkey-tip/src/build-release/dist/system_wrappers_js: File exists make[2]: * [export] Error 1 make[2]: Leaving directory `/home/henner/src/0ad/libraries/spidermonkey-tip/src/build-release/config' make[1]: * [export] Error 2 make[1]: * Waiting for unfinished jobs.... make[1]: Leaving directory `/home/henner/src/0ad/libraries/spidermonkey-tip/src/build-release' make: * [default] Error 2 ERROR: SpiderMonkey build failed Removing the link and running the script again does not solve the problem. Any ideas? |
|||
| #767 | fixed | can't compile on linux | ||
| Description |
Error: smbios.cpp ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp:446: error: explicit template specialization cannot have a storage class ../../../source/lib/sysdep/smbios.cpp: In member function ‘void SMBIOS::FieldStringizer::operator()(size_t, T&, const char*, const char*)’: ../../../source/lib/sysdep/smbios.cpp:467: error: too few template-parameter-lists make[1]: *** [obj/lowlevel_Release/smbios.o] Errore 1 make: *** [lowlevel] Errore 2 make: *** Attesa per i processi non terminati.... |
|||
| #768 | fixed | Various ERRORs | ||
| Description |
When starting Celt-Iberia map: ERROR: CSkeletonAnimManager::GetAnimation(art/animation/): Failed loading, marked file as bad
FIXED: ERROR: Failed to find file: "art/actors/props/structures/carthaginians/corral_mud.xml" ERROR: CObjectManager::FindObjectBase(): Cannot find object 'props/structures/carthaginians/corral_mud.xml' ERROR: Failed to find file: "art/actors/props/structures/carthaginians/corral_mud.xml" ERROR: CObjectManager::FindObjectBase(): Cannot find object 'props/structures/carthaginians/corral_mud.xml' ERROR: Failed to find file: "art/actors/props/structures/carthaginians/corral_mud.xml" ERROR: CObjectManager::FindObjectBase(): Cannot find object 'props/structures/carthaginians/corral_mud.xml' ERROR: Failed to build prop model "props/structures/carthaginians/corral_mud.xml" on actor "corral" ERROR: Failed to find file: "art/actors/props/structures/carthaginians/corral_mud.xml" ERROR: CObjectManager::FindObjectBase(): Cannot find object 'props/structures/carthaginians/corral_mud.xml' ERROR: Failed to find file: "" |
|||
| #769 | fixed | [PATCH] Projectiles occasionally bounce | ||
| Description |
It looks like projectiles randomly sometimes bounce when landing, which they're not meant to do. (Presumably some precision bug in the projectile motion code.) |
|||
| #770 | fixed | Unify user interface styles | ||
| Description |
There are several places which have different UI's. Like full screen panels v.s. half size, different coloured borders and titles, and more varitations. All should be the same! |
|||
| #771 | duplicate | unit lost if building near map border | ||
| Description |
I created a Hellenes fortress in map Oasis just on the map border. When I set to create a unit it doesn't appeared, probably it ends up outside the map. |
|||
| #772 | wontfix | Ability to modify Civilization and Team also for "Scenario" map | ||
| Description |
It would be nice if they could be changed as in the Random maps, at least with maps that have only a Civic center and not other special buildings (Acropolis and Miletus...). It would also be nice to be able to disable some player. Finally the default AI should be probably changed to "Demo Bot" rather than Unassigned. |
|||
| #773 | fixed | [PATCH] Groups | ||
| Description |
copy this image in binaries/data/mods/public/art/textures/ui/session/icons/sheets/groups.png (created with binaries/data/mods/public/art/textures/ui/session/icons/single/group[0-9].png) On my computer I had to replace hotkey.selection.group.[0-9] with hotkey.selection.group.Num[0-9] in the file binaries/data/config/default.cfg. I've got a french keyboard. Don't know if it will work for you. TODO :
|
|||
| #774 | fixed | Make JuBot the default selected AI in single player setup | ||
| Description |
As per http://trac.wildfiregames.com/ticket/772#comment:2 and other discussions it would be nice to have "Demo Bot" set as the opponent by default in singleplayer games (unless there is a new and improved AI, then that one should be the default :) ). Edit: Make Jubot the default selected one for single games, it's better and will make players more interested in the game. |
|||
| #775 | fixed | Unit following stops when other object selected | ||
| Description |
When a unit is being followed, stop following the unit once you clicked on something else (currently relies on camera moving to stop) |
|||
| #776 | duplicate | Error | ||
| Description |
Much to our regret we must report the program has encountered an error. Please let us know at http://trac.wildfiregames.com/ and attach the crashlog.txt and crashlog.dmp files. Details: unhandled exception (Access violation reading 0x00000000) Location: unknown:0 (?) Call stack: (error while dumping stack: No stack frames found) errno = 0 (?) OS error = 0 (no error code was set) |
|||
| #777 | duplicate | Error | ||
| Description |
Much to our regret we must report the program has encountered an error. Please let us know at http://trac.wildfiregames.com/ and attach the crashlog.txt and crashlog.dmp files. Details: unhandled exception (Access violation reading 0x00000000) Location: unknown:0 (?) Call stack: (error while dumping stack: No stack frames found) errno = 0 (?) OS error = 0 (no error code was set) |
|||
| #778 | fixed | [CRASHLOG] Error pt.2 | ||
| Description |
Much to our regret we must report the program has encountered an error. Please let us know at http://trac.wildfiregames.com/ and attach the crashlog.txt and crashlog.dmp files. Details: unhandled exception (Access violation reading 0x00000000) Location: unknown:0 (?) Call stack: (error while dumping stack: No stack frames found) errno = 0 (?) OS error = 0 (no error code was set) |
|||
| #779 | fixed | Villagers stuck on construction sites | ||
| Description |
Essentially, pre-tasked villagers or troops can get trapped on construction sites if they walk onto them between placement and construction starting; they carry on trying to walk across them, and get stuck. The building remains on 0HP, and they remain stationary. Subsequent troops will also get stuck, and for an AI player this can cause economic wreckage. |
|||
| #780 | fixed | Disable shader renderer on r300c | ||
| Description |
According to this thread, the shader mode causes graphical errors on Mesa r300c drivers. We should default to fixed mode and probably suggest users should upgrade to r300g (Gallium) drivers. |
|||
| #781 | fixed | Hotloading fails | ||
| Description |
Hotloading of most files apparently fails on Windows. I think there are two issues:
(Hotloading normally works for me since I run on Linux with only the public mod.) |
|||
| #782 | fixed | Simplify RMS output format | ||
| Description |
The
I think it'd make more sense for
The |
|||
| #783 | fixed | CMapGeneratorWorker isn't thread-safe | ||
| Description |
This results in assertion failures in debug mode for me, and it could crash if e.g. hotloading occurs while the generator thread is running that function. (I've added some extra assertions now to make it complain more immediately.)
Either VFS needs to be made thread-safe (which sounds very hard), or the generator needs to avoid calling those functions except on the main thread. Maybe |
|||
| #784 | duplicate | Building process aborted when units walk atop | ||
| Description |
When a building order is issued, the land is graphically marked for the building. If a unit walks inside the building landmarks before the builders start working on the process, the building is never completed. |
|||
| #785 | fixed | [PATCH] Implement variable game speed | ||
| Description |
There should be a game speed option for single and multiplayer games. |
|||
| #786 | fixed | [PATCH] Improve method for building walls | ||
| Description |
Building walls can be a very tedious job if each wall section is built individually. Currently, this is the way walls are built in 0 a.d., which is a good enough reason for players not to build walls - the task is severely time-consuming. Therefore, I propose that users are able to create path for walls to be built on. The placement of wall segments is something decided by the game engine. The creation of these paths could be as simple as connecting points that the player selects, or as fancy as creating a bezier path along the ground to have a nice curvy wall. Note that a curvy wall is not only a luxury, but it can be a strategic building shape to hold a radius of terrain steadily. |
|||
| #787 | fixed | Store map size defaults in single location | ||
| Description |
Since we have random maps now, there are several points where map sizes can be chosen from a list:
Instead of having 3 or more different lists that have to be sync'd, we could just store them in one location, maybe in a file with raw JSON data. This could be analogous to player defaults |
|||
| #788 | fixed | [PATCH] Eliminate delay in path finding | ||
| Description |
When you task a unit to something, there is a delay. Get rid of this delay! It's really horrible, and long enough to cause problems when you need that extra second it waits. |
|||
| #789 | fixed | Remove the unit selection cap | ||
| Description |
See http://www.wildfiregames.com/forum/index.php?showtopic=14620&view=findpost&p=218316 The cap no longer makes sense now that we group by type, and there isn't a civ with 20 different types of units to fill up the GUI. Remove the cap completely, and we'll see how that goes for the next release. |
|||
| #790 | fixed | Sound effects have stopped working | ||
| Description |
See http://www.wildfiregames.com/forum/index.php?showtopic=14595 They used to work in Alpha 4, now they don't in Alpha 5. We can't release with a regression! |
|||
| #792 | fixed | Find all Idle Units | ||
| Description |
Currently the "Find Idle Workers" function (accessed either via the GUI button or the . key) only finds idle women. It would be nice to be able to find all idle units. My suggestion would be to group them like this: Idle Warriors (heroes, super units, siege, war ships), Idle Citizen Soldiers, Idle Support Units (female citizens, healers, traders, fishing ships, trade ships). Not sure about how to graphically represent it the best way, but it would work good with the keys: , . - (,=warriors; .=citizen soldiers; -=support units). Thoughts? |
|||
| #793 | fixed | Random maps don't report name | ||
| Description |
|
|||
| #794 | fixed | [PATCH] Camera height | ||
| Description |
There's like a "ceiling" where the camera cannot zoom out anymore. This ceiling appears to be related to the terrain, so in maps like "Death Canyon", when you go over the canyon itself, the camera zooms in, and when you go back to your camp, you are really close to the units, and need to zoom out, which gets very annoying. I think there should be a "ceiling", but how deep or tall the terrain is, shouldn't affect it. |
|||
| #795 | duplicate | Construction queue | ||
| Description |
Right now, if you have a couple of villagers, and you want to build 7 houses, you can select the house from the buildings, hold down SHIFT, and place the 7 houses. What happens is that they all get their foundations, and the villagers start from the last one. They continue with the rest of them, just because they "see" a building not finished, and go there, but if the building is not in their radius to check if there are things to do, then they do nothing. I think, this should work as follows: If you hold SHIFT, when you place several buildings, they should start building the first one, and all the others you place, should be remembered to be build later, as if you quickly selected the building to build right after they finished. Perhaps a "ghost" building should be there so you can know how many buildings are left, something like "Warzone 2100" does. One really nice thing to have, would be ways to handle this queues, like, having extra control over these "ghost buildings" that you can cancel, move priority, etc. |
|||
| #796 | wontfix | Multiple clicks to select units | ||
| Description |
If you double click over a specific unit, it will select all units of the same type that are currently visible. I would like to suggest, implementing a 2-click, 3-click, and 4-click selections. 2-click: This will select all units of this type, that are currently idle. 3-click: This will select all units of this type, visible at the moment (like 2-click selection is right now) 4-click: This will select all units of this type all across the map, no matter where they are. |
|||
| #797 | fixed | Allow archers to move on top of the walls | ||
| Description |
When building defenses with walls and towers, you place archers on these towers and they stay there. What i propose here, is, you build walls and towers, and for each tower, the amount of possible archers increase by say, 5, in the whole set of walls and towers (provided they are all built together as a whole). Archers do not need to stay inside the towers, they can move over the walls, so they can fire from any place in the wall, or get to another tower and fire from there. With this, it will not happen that you will get a lot of towers built on parts where the enemy never gets, and you have a lot of archers there, doing nothing. Perhaps it is something you can allow archers to do or not, if they stay inside a specific tower, they get the extra protection the tower gives, but they are stuck there and cannot move. On the other hand, if they can move, they can be killed if they stay over the wall, but they are able to move. |
|||
| #798 | fixed | Update Doxygen documentation for Pyrogenesis | ||
| Description |
The documentation at http://svn.wildfiregames.com/docs/ needs to be updated. |
|||
| #799 | fixed | [PATCH] Add "back to work" button | ||
| Description |
Hi! What I'm missing the most in 0 A.D. is the possibility to send units (citizen-soldiers) back to their last assigned work (i.e. resource gathering) after using them for battle. It's a hassle to reassign them manually each time, so this would be a great improvement, especially because in 0 A.D. it's "normal" to use units for battle and resource gathering. Btw, there is such a button in other games too (e.g. "Empires:DOTMW"), where citizens are able to fight... |
|||
| #800 | invalid | Fix AI assignments / names | ||
| Description |
When an AI player tries to send a chat message, it is listed only as "Unknown player". I think that's just one symptom of AI player assignment being a bit hacky. They should be handled about the same as a human player, perhaps using the AI name as their own (i.e. "Demobot" instead of "Player 2") in the UI and also being able to send chat messages. If all the AIs are named "Player #" then it's easy to forget which is which, for comparison purposes. We could even have a database of historical names to be chosen at random for the AIs, adding some personality. |
|||
| #801 | fixed | [PATCH] Templates sorting utility | ||
| Description |
Currently second-level elements (which represent components) in simulation templates ordered chaotically, and this is better to have any order than don't have order at all, so I proposed to use the alphabetical order. Attached patch add to svn small utility, which consists from shell script and xsl template. |
|||
| #802 | fixed | Blender animations messed up in-game | ||
| Description |
When an animation is exported from Blender into the game, sometimes the bones, when they're supposed to rotate just a small distance, rotate around 360 degrees to get to their intended orientation. This could be some sort of problem with the Blender exporter, but I tried importing the animations back into Blender, and they played correctly, so it seems more likely that it's a problem in the engine. A set of animations for the lion, containing a couple broken ones: http://www.mediafire.com/?udi4a302f3g2j0y |
|||
| #803 | fixed | Minimap broken | ||
| Description |
The circular minimaps are broken here since a while. Example on current build from svn on Linux with Death Canion: EDIT: this is a mesa (Linux) driver problem: see this bug for more info: https://bugs.freedesktop.org/show_bug.cgi?id=36762 |
|||
| #804 | fixed | [PATCH] Building Placement Restrictions | ||
| Description |
Buildings should have restrictions on where they can be placed:
(See |
|||
| #805 | fixed | [PATCH] Support double-click on unit group buttons | ||
| Description |
When you assign unit groups (with ctrl+1 etc) it shows a little numbered button at the side of the screen. Double-clicking the button should have the same effect as double-pressing the digit key (i.e. move the camera to the units).
This probably needs some changes to the GUI engine, particularly |
|||
| #806 | wontfix | Use JS_SetFunctionCallback for profiling | ||
| Description |
Use |
|||
| #807 | fixed | Implement profiling for any thread | ||
| Description |
Currently the profiler is restricted to the main thread, so e.g. scripts that run in other threads can't use the profiling functions. According to Philip, it's hierarchical and each threads needs its own hierarchy, also timings on other threads are independent of frame rendering. So perhaps the profiler should be designed to support one instance per thread, and then those threads would each use their own local profiler. Potential areas of benefit:
Also of interest: #806, which will allow script profiling with JIT enabled. |
|||
| #808 | fixed | Walk through Iberian walls | ||
| Description |
The Iberian walls ain't solid and anybody can walk right through, friend or foe. Though I have seen some foes taking the long way around, Iberian walls are defect! |
|||
| #809 | fixed | Random maps need more stone | ||
| Description |
The lack of stone is causing random maps to become unplayable the longer you play on them (due to the good thigns needing stone). Add more stone to random maps. Check the resource balance overall. |
|||
| #810 | fixed | Props should have a "selectable" setting | ||
| Description |
Some units have no actual model, but use attached actors (i.e. for the trader, it has a donkey attached, and a "driver" pulling it), and since it doesn't make them selectable, you can't select the unit just by clicking on it, but you have to drag around it (which makes it impossible to select an enemy unit like that). |
|||
| #811 | fixed | Unhelpful error message when unable to write file | ||
| Description |
When the game is unable to write a file (in particular when it's trying to create a cache file when it doesn't have write permission to the directory), it gives an error like io.h(73): Assertion failed: "fd >= 0" Assertion failed: "fd >= 0" Location: io.h:73 (Validate) ... errno = 0 (?) OS error = ?
(via |
|||
| #813 | fixed | Remove Persians and Carthaginians | ||
| Description |
As per http://www.wildfiregames.com/forum/index.php?showtopic=14669&pid=218814&st=0&#entry218814 We don't want to cause errors. |
|||
| #814 | fixed | Passive or inactive soldiers | ||
| Description |
Using svn revision 9388, in some games soldiers cant attack and don't even show a sword for attack selection. And don't react when attacked. It's not faction specific and it's not every time, even when setting the same criteria for a game. |
|||
| #815 | duplicate | Teams appear broken | ||
| Description |
See http://www.wildfiregames.com/forum/index.php?showtopic=14670&pid=218828&st=0&#entry218828 Apparently you can only attack allies, which is messed up. Please investigate and fix. |
|||
| #816 | fixed | Change release name to Edetani | ||
| #817 | fixed | Adding garrisoning flags | ||
| Description |
When a building has units garrisoned, it should have a flag on the highest point of it, to indicate units are in there. A suggestion from Fabio also suggested that the flag should be high adjusted depending on the amount of units garrisoned. flag at base position: < 50% garrisoned units flag at mid: >= 50% garrisoned units flag at top: all units garrisoned |
|||
| #818 | fixed | Garrisoned units on ships don't increase fire power | ||
| Description |
When units are garrisoned in a ship, they do not seem to increase the amount of arrows fired from it. It should act like towers, and increase the amount of arrows fired. |
|||
| #819 | fixed | Add dust particles for building destruction | ||
| Description |
We have the animation and the sound. Now we just need the dust to go with the building destruction. It'd be nice for Alpha 5 if someone wants something to do, but otherwise, it can wait for the next release. |
|||
| #820 | fixed | Change default map to Death Canyon | ||
| #821 | fixed | Decrease intensity of building construction particles | ||
| Description |
The dust is a bit strong right now. Make less of it, and in a lighter shade. |
|||
| #822 | fixed | Make square maps fit within the minimap circle | ||
| Description |
We need the corners around the circular minimap for buttons. Make square maps fit into that circle, and rotate nicely. |
|||
| #823 | fixed | Improve idle workers button | ||
| Description |
With #822 completed, remove the old idle units button, and put this one into the lower right of the minimap edges. Will probably require either triangular click boundaries, or click z-indexes |
|||
| #824 | fixed | [PATCH] Prettify unit/building selection ring | ||
| Description |
Prettify the unit/building selection ring. Change it from the 1px white line to a 1px white line, then a 2px fill of the users colour, then another 1px white line. Then apply this to all building, unit, animal, resource etc selection rings. Attached is an example, please excuse the uglyness, it's an example, not a mockup ;-P |
|||
| #825 | fixed | Make Enter/Esc work when a dialog is open | ||
| Description |
Should be able to press enter when a dialog is opened. e.g. if I select a unit, then hit "Delete" on the keyboard, I should be able to press enter to confirm it. Likewise, if it doesn't work already, 'Escape' on the keyboard should trigger the 'cancel' action. |
|||
| #826 | fixed | Fix unit double click selection with units of different ranks | ||
| Description |
Change the unit click selection code: one click = selects single unit two click = selects all units of the same type and rank three clicks = selects on units of the same type (disregards rank) |
|||
| #827 | fixed | Failing test on Ubuntu 10.10 | ||
| Description |
Running 251 tests........................................................................ERROR: JavaScript error: simulation/components/Formation.js line 190 ReferenceError: IID_Identity is not defined ([object Array],true)@simulation/components/Formation.js:190 (true)@simulation/components/Formation.js:133 ([object Object])@simulation/components/UnitAI.js:371 ([object Object],[object Object])@simulation/helpers/FSM.js:250 ([object Object])@simulation/components/UnitAI.js:1453 TestFormationExiting(0)@simulation/components/tests/test_UnitAI.js:112 ()@simulation/components/tests/test_UnitAI.js:129 In TestComponentScripts::test_scripts: ../../../source/pch/test/../../../source/simulation2/components/tests/test_scripts.h:44: Error: Test failed: L"Running script simulation/components/tests/test_UnitAI.js" ../../../source/pch/test/../../../source/simulation2/components/tests/test_scripts.h:44: Error: Assertion failed: scriptInterface.LoadScript(pathname, wcontent) .................................................................................................................................................................................. Failed 1 of 251 tests Success rate: 99% |
|||
| #828 | fixed | Celt-Iberia scenario double units control | ||
| Description |
When starting Celt-Iberia scenario with player 1 me, player 2 Jubot and player 3 Demo bot, player 1 have control of, what I believe should have been, player 3's starting units. They start attacking player 3's civi center, while player 3 controlled units appears progressively. Tested 3 times, same result. |
|||
| #829 | fixed | Woman and units get stuck in anything | ||
| Description |
It still occurs, that woman and units gets stuck between trees, houses and other obstacles. I think it reoccurred after formations went active. Units often walks into trees and get stuck, but it's still possible to point-walk them out again. Other times units gets detached from a control group when they are stuck. If units, mostly >6, are placed into a control group while in a tree area, some units can place them self where they cant get out again. |
|||
| #830 | fixed | [PATCH] improve 0ad ubuntu packages compression | ||
| Description |
Ubuntu packages are compressed with default (-6) lzma compression. Using -9 compression decrease a bit the package size for faster downloads. Also using xz for compressing source packages. |
|||
| #831 | fixed | Ranged units do not always face their targets when attacking. | ||
| Description |
Ranged units do not always face their targets when attacking. This leads to strange-looking behavior during battles. To confirm this, watch an enemy unit walk into range of your ranged units and watch your ranged units' behavior as they throw their projectiles. As the enemy unit moves position, your ranged units will not reorient themselves to face the enemy. Their projectiles will fly toward the enemy even though your units may be facing the opposite direction. Manually tasking your units to re-target the enemy units seems to correct this for a small time. |
|||
| #832 | fixed | Consistent Assertion Failures with sound enabled when loading maps in a certain order | ||
| Description |
Ubuntu 11.04 (Classic Gnome Desktop - not unity), ATI 5770 with official proprietary drivers r9430 (and possibly earlier) Loading the maps in any of these orders causes a consistent and immediate assertion failure. Loading the same map twice does not seem to change anything. It does not cause the error when using -quickstart. acropolis --> celt-iberia --> death_canyon celt-iberia --> acropolis --> death_canyon death_canyon --> celt-iberia --> acropolis death_canyon --> acropolis --> celt-iberia [edit] Each of these maps has a different default civ. Civ specific music was recently added (and the new tracks are large). *See Philip's comment below for more information. Assertion failed: "removed" Location: file_cache.cpp:187 (Reserve) Call stack: (0x83828d0) /home/brian/0ad/binaries/system/pyrogenesis() [0x83828d0] (0x83333b2) /home/brian/0ad/binaries/system/pyrogenesis() [0x83333b2] (0x83340b0) /home/brian/0ad/binaries/system/pyrogenesis() [0x83340b0] (0x8334814) /home/brian/0ad/binaries/system/pyrogenesis() [0x8334814] (0x8392b89) /home/brian/0ad/binaries/system/pyrogenesis() [0x8392b89] (0x8390bad) /home/brian/0ad/binaries/system/pyrogenesis() [0x8390bad] (0x83481a8) /home/brian/0ad/binaries/system/pyrogenesis() [0x83481a8] (0x835dfbe) /home/brian/0ad/binaries/system/pyrogenesis() [0x835dfbe] (0x8358b63) /home/brian/0ad/binaries/system/pyrogenesis() [0x8358b63] (0x834b1b6) /home/brian/0ad/binaries/system/pyrogenesis() [0x834b1b6] (0x8359bdb) /home/brian/0ad/binaries/system/pyrogenesis() [0x8359bdb] (0x834b1b6) /home/brian/0ad/binaries/system/pyrogenesis() [0x834b1b6] (0x8357ff3) /home/brian/0ad/binaries/system/pyrogenesis() [0x8357ff3] (0x8192ea6) /home/brian/0ad/binaries/system/pyrogenesis() [0x8192ea6] (0xb753026f) /home/brian/0ad/binaries/system/libmozjs-ps-release.so(+0x25626f) [0xb753026f] errno = 0 (?) OS error = ? |
|||
| #833 | fixed | Consistent Assertion Failures with sound enabled when loading maps with large battles | ||
| Description |
Ubuntu 11.04 (Classic Gnome Desktop - not unity), ATI 5770 with official proprietary drivers r9403 (and possibly earlier) I get an error if I run the large_combat_demo or we_are_legion. They do not give the assertion failure immediately though. I even got it on the Latium RMS during a battle. It does not cause the error when using -quickstart. Assertion failed: "cpu_CAS(&al_srcs_allocationStates[i], kInUse, kAvailable)" Location: snd_mgr.cpp:561 (al_src_free) Call stack: (0x8369c30) /home/brian/Desktop/Link to pyrogenesis() [0x8369c30] (0x83212a4) /home/brian/Desktop/Link to pyrogenesis() [0x83212a4] (0x83215a7) /home/brian/Desktop/Link to pyrogenesis() [0x83215a7] (0x8321a45) /home/brian/Desktop/Link to pyrogenesis() [0x8321a45] (0x833fd43) /home/brian/Desktop/Link to pyrogenesis() [0x833fd43] (0x833ffef) /home/brian/Desktop/Link to pyrogenesis() [0x833ffef] (0x8333ae9) /home/brian/Desktop/Link to pyrogenesis() [0x8333ae9] (0x833febf) /home/brian/Desktop/Link to pyrogenesis() [0x833febf] (0x833f048) /home/brian/Desktop/Link to pyrogenesis() [0x833f048] (0x8343c4e) /home/brian/Desktop/Link to pyrogenesis() [0x8343c4e] (0x8056198) /home/brian/Desktop/Link to pyrogenesis() [0x8056198] (0xb6e1ae37) /lib/i386-linux-gnu/libc.so.6(libc_start_main+0xe7) [0xb6e1ae37] (0x8054f01) /home/brian/Desktop/Link to pyrogenesis() [0x8054f01] errno = 0 (?) OS error = ? |
|||
| #834 | worksforme | [NEEDS INFO] [CRASH] Function call failed | ||
| Description |
Happened while playing a regular game on Latium. Will provide more details later. Function call failed: return value was -100021 (Invalid Handle (argument)) Location: h_mgr.cpp:659 (h_free) Call stack: (0x8380f50) /home/brian/0ad/binaries/system/pyrogenesis() [0x8380f50] (0x8331a32) /home/brian/0ad/binaries/system/pyrogenesis() [0x8331a32] (0x8332730) /home/brian/0ad/binaries/system/pyrogenesis() [0x8332730] (0x8331fdc) /home/brian/0ad/binaries/system/pyrogenesis() [0x8331fdc] (0x83482da) /home/brian/0ad/binaries/system/pyrogenesis() [0x83482da] (0x834b864) /home/brian/0ad/binaries/system/pyrogenesis() [0x834b864] (0x8351d23) /home/brian/0ad/binaries/system/pyrogenesis() [0x8351d23] (0x8347d5e) /home/brian/0ad/binaries/system/pyrogenesis() [0x8347d5e] (0x8347fc4) /home/brian/0ad/binaries/system/pyrogenesis() [0x8347fc4] (0x83855f2) /home/brian/0ad/binaries/system/pyrogenesis() [0x83855f2] (0x83493c5) /home/brian/0ad/binaries/system/pyrogenesis() [0x83493c5] (0x8183e45) /home/brian/0ad/binaries/system/pyrogenesis() [0x8183e45] (0x8056fca) /home/brian/0ad/binaries/system/pyrogenesis() [0x8056fca] (0x80586d1) /home/brian/0ad/binaries/system/pyrogenesis() [0x80586d1] (0xb6ce5e37) /lib/i386-linux-gnu/libc.so.6(libc_start_main+0xe7) [0xb6ce5e37] (0x8054f01) /home/brian/0ad/binaries/system/pyrogenesis() [0x8054f01] errno = 0 (?) OS error = ? "That form of the stack trace is mostly useless - you should be able to select the "debugger" option on assertion failures, which'll open gdb in the terminal (assuming you started the game from there), then you can type "bt full" to get a useful backtrace (then "q" to quit)" |
|||
| #835 | fixed | UnitAI - gathering animation played while unit still approaching resource | ||
| Description |
Try moving a gather-capable unit in the vicinity of a resource target, such as a mine. Then if you tell the unit to gather while it's moving close to the target, it will start playing the gathering animation even though it's still moving to the target. I'm guessing this is an issue with the states in UnitAI, but the gathering animation should not be played until the unit is at the resource and has stopped moving. |
|||
| #836 | fixed | broken build with enet 1.3 | ||
| Description |
Can't build on Debian sid and Ubuntu oneiric (included the official 0 A.D. PPA packages at https://launchpad.net/~wfg/+archive/0ad.dev/+packages) because of incompatibility with libenet 1.3. I am sure this is a known problem, but let's officially report anyway. |
|||
| #838 | fixed | ERROR: CCmpPosition called on entity when IsInWorld is false | ||
| Description |
Got the following error when playing the game. It happened right after having garrisoned 20 units into a fortress, but the garrisoning failed. The units disappeared off world, but didn't show up in the garrisoned unit panel when the fortress was selected, they had disappeared. ERROR: CCmpPosition::GetInterpolatedTransform called on entity when IsInWorld is false ERROR: CCmpPosition::GetPosition called on entity when IsInWorld is false |
|||
| #839 | fixed | function FireArrows: TypeError: cmpIdentity is null | ||
| Description |
Got the following error when playing the game. It happened right after having garrisoned 20 units into a fortress, but the garrisoning failed. The units disappeared off world, but didn't show up in the garrisoned unit panel when the fortress was selected, they had disappeared. ERROR: Error in timer on entity 3836, IID 35, function FireArrows: TypeError: cmpIdentity is null ()@simulation/components/GarrisonHolder.js:68 ()@simulation/components/BuildingAI.js:119 ([object Object],0)@simulation/components/BuildingAI.js:145 ([object Object])@simulation/components/Timer.js:89 |
|||
| #840 | fixed | TypeError: entState is null | ||
| Description |
Got the following error when playing the game. It happened right after having garrisoned 20 units into a fortress, but the garrisoning failed. The units disappeared off world, but didn't show up in the garrisoned unit panel when the fortress was selected, they had disappeared. ERROR: JavaScript error: gui/session/selection.js line 48 TypeError: entState is null ([object Array])@gui/session/selection.js:48 updateUnitCommands([object Object],[object GUIObject],[object GUIObject],[object Array])@gui/session/unit_commands.js:361 updateSelectionDetails()@gui/session/selection_details.js:280 onSimulationUpdate()@gui/session/session.js:232 onTick()@gui/session/session.js:172 eventhandler91 (tick)([object Object])@sn tick:0 |
|||
| #841 | fixed | ERROR: Script message handler OnHealthChanged failed | ||
| Description |
Got the following error when playing the game. It happened right after having garrisoned 20 units into a fortress, but the garrisoning failed. The units disappeared off world, but didn't show up in the garrisoned unit panel when the fortress was selected, they had disappeared. ERROR: Script message handler OnHealthChanged failed |
|||
| #842 | fixed | ReferenceError: cmpPosition is not defined | ||
| Description |
Got the following error when playing the game. It happened right after having garrisoned 20 units into a fortress, but the garrisoning failed. The units disappeared off world, but didn't show up in the garrisoned unit panel when the fortress was selected, they had disappeared. ERROR: JavaScript error: simulation/components/GarrisonHolder.js line 148 ReferenceError: cmpPosition is not defined (3839)@simulation/components/GarrisonHolder.js:148 ()@simulation/components/GarrisonHolder.js:203 ([object Object])@simulation/components/GarrisonHolder.js:217 (3918)@simulation/components/Health.js:116 ()@simulation/components/Health.js:77 ProcessCommand(1,[object Object])@simulation/helpers/Commands.js:182 |
|||
| #843 | fixed | ERROR: Failed to call ProcessCommand() global script function | ||
| Description |
Got the following error when playing the game. It happened right after having garrisoned 20 units into a fortress, but the garrisoning failed. The units disappeared off world, but didn't show up in the garrisoned unit panel when the fortress was selected, they had disappeared. ERROR: Failed to call ProcessCommand() global script function |
|||
| #844 | fixed | Idle villagers button broken (garrisoned idle units not shown) | ||
| Description |
I'm clicking on it and 9/10 times nothing happens, 1/10 times it actually finds an idle unit. |
|||
| #845 | invalid | Heap corruption in Windows (VC2010 debug build) | ||
| Description |
Wanted to host an MP game in a self-compiled debug build. Clicked Host, continue, and corruption is detected with the following call stack: ntdll.dll!77de0844()
[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]
ntdll.dll!77d9ae38()
ntdll.dll!77d9aa6e()
ntdll.dll!77d43070()
ntdll.dll!77de10eb()
ntdll.dll!77d9ac93()
ntdll.dll!77d43070()
ntdll.dll!77de1a64()
ntdll.dll!77d9a9af()
ntdll.dll!77d43070()
ntdll.dll!77de1a64()
ntdll.dll!77d9a9af()
ntdll.dll!77d42ffa()
kernel32.dll!772c14d1()
> msvcr100d.dll!_heap_alloc_base(unsigned int size=44) Line 55 C
msvcr100d.dll!_heap_alloc_dbg_impl(unsigned int nSize=8, int nBlockUse=1, const char * szFileName=0x00000000, int nLine=0, int * errno_tmp=0x002cd39c) Line 431 + 0x9 bytes C++
msvcr100d.dll!_nh_malloc_dbg_impl(unsigned int nSize=8, int nhFlag=0, int nBlockUse=1, const char * szFileName=0x00000000, int nLine=0, int * errno_tmp=0x002cd39c) Line 239 + 0x19 bytes C++
msvcr100d.dll!_nh_malloc_dbg(unsigned int nSize=8, int nhFlag=0, int nBlockUse=1, const char * szFileName=0x00000000, int nLine=0) Line 302 + 0x1d bytes C++
msvcr100d.dll!malloc(unsigned int nSize=8) Line 56 + 0x15 bytes C++
msvcr100d.dll!operator new(unsigned int size=8) Line 59 + 0x9 bytes C++
pyrogenesis_dbg.exe!std::_Allocate<std::_Container_proxy>(unsigned int _Count=1, std::_Container_proxy * __formal=0x00000000) Line 36 + 0x15 bytes C++
pyrogenesis_dbg.exe!std::allocator<std::_Container_proxy>::allocate(unsigned int _Count=1) Line 187 + 0xb bytes C++
pyrogenesis_dbg.exe!std::_String_val<char,std::allocator<char> >::_String_val<char,std::allocator<char> >(std::allocator<char> _Al={...}) Line 469 + 0xa bytes C++
pyrogenesis_dbg.exe!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(std::basic_string<char,std::char_traits<char>,std::allocator<char> > && _Right="Simulation") Line 702 + 0x55 bytes C++
pyrogenesis_dbg.exe!std::_Pair_base<ScriptInterface const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >::_Pair_base<ScriptInterface const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >(const ScriptInterface * && _Val1=0x0b0eba48, std::basic_string<char,std::char_traits<char>,std::allocator<char> > && _Val2="Simulation") Line 146 C++
pyrogenesis_dbg.exe!std::pair<ScriptInterface const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >::pair<ScriptInterface const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > ><ScriptInterface const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >(std::pair<ScriptInterface const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > && _Right=(0x0b0eba48 {m=auto_ptr {m_runtime={...} m_cx=0x04a85a30 m_glob=0x0d402028 ...} }, "Simulation")) Line 256 C++
pyrogenesis_dbg.exe!std::allocator<std::pair<ScriptInterface const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::construct(std::pair<ScriptInterface const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > * _Ptr=0x0b0ebd0c (0x0b0eba48 {m=auto_ptr {m_runtime={...} m_cx=0x04a85a30 m_glob=0x0d402028 ...} }, <Bad Ptr>), std::pair<ScriptInterface const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > && _Val=(0x0b0eba48 {m=auto_ptr {m_runtime={...} m_cx=0x04a85a30 m_glob=0x0d402028 ...} }, "Simulation")) Line 202 + 0x33 bytes C++
pyrogenesis_dbg.exe!std::_Cons_val<std::allocator<std::pair<ScriptInterface const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,std::pair<ScriptInterface const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::pair<ScriptInterface const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >(std::allocator<std::pair<ScriptInterface const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > & _Alval={...}, std::pair<ScriptInterface const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > * _Pdest=0x0b0ebd0c (0x0b0eba48 {m=auto_ptr {m_runtime={...} m_cx=0x04a85a30 m_glob=0x0d402028 ...} }, <Bad Ptr>), std::pair<ScriptInterface const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > && _Src=(0x0b0eba48 {m=auto_ptr {m_runtime={...} m_cx=0x04a85a30 m_glob=0x0d402028 ...} }, "Simulation")) Line 281 C++
pyrogenesis_dbg.exe!std::vector<std::pair<ScriptInterface const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<ScriptInterface const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > >::push_back(std::pair<ScriptInterface const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > && _Val=(0x0b0eba48 {m=auto_ptr {m_runtime={...} m_cx=0x04a85a30 m_glob=0x0d402028 ...} }, "Simulation")) Line 650 + 0x20 bytes C++
pyrogenesis_dbg.exe!CScriptStatsTable::Add(const ScriptInterface * scriptInterface=0x0b0eba48, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & title="Simulation") Line 43 + 0x33 bytes C++
pyrogenesis_dbg.exe!ScriptInterface::ScriptInterface(const char * nativeScopeName=0x0146e8e4, const char * debugName=0x0146e8d8, const boost::shared_ptr<ScriptRuntime> & runtime={...}) Line 487 + 0x23 bytes C++
pyrogenesis_dbg.exe!CComponentManager::CComponentManager(CSimContext & context={...}, bool skipScriptFunctions=false) Line 59 + 0x89 bytes C++
pyrogenesis_dbg.exe!CSimulation2Impl::CSimulation2Impl(CUnitManager * unitManager=0x0b0eb790, CTerrain * terrain=0x0b0eb740) Line 51 + 0x4d bytes C++
pyrogenesis_dbg.exe!CSimulation2::CSimulation2(CUnitManager * unitManager=0x0b0eb790, CTerrain * terrain=0x0b0eb740) Line 314 + 0x66 bytes C++
pyrogenesis_dbg.exe!CGame::CGame(bool disableGraphics=false) Line 67 + 0xb9 bytes C++
pyrogenesis_dbg.exe!`anonymous namespace'::StartNetworkHost(void * cbdata=0x02e4d1b8, std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > playerName="Jan") Line 220 + 0x21 bytes C++
pyrogenesis_dbg.exe!ScriptInterface_NativeWrapper<void>::call<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,void (__cdecl*)(void *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >)>(JSContext * cx=0x048f2468, unsigned __int64 & __formal=18446462607322775552, void (void *, std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >)* fptr=0x00b54d57, std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > a0="Jan") Line 45 + 0x75 bytes C++
pyrogenesis_dbg.exe!ScriptInterface::call<void,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,&`anonymous namespace'::StartNetworkHost>(JSContext * cx=0x048f2468, unsigned int argc=1, unsigned __int64 * vp=0x044a00b8) Line 97 + 0x1a0 bytes C++
mozjs-ps-debug.dll!5f650324()
mozjs-ps-debug.dll!5f66182d()
mozjs-ps-debug.dll!5f62a287()
mozjs-ps-debug.dll!5f62a115()
mozjs-ps-debug.dll!5f7006e3()
mozjs-ps-debug.dll!5f68fbd8()
mozjs-ps-debug.dll!5f64fa2c()
mozjs-ps-debug.dll!5f64fe97()
mozjs-ps-debug.dll!5f650e63()
mozjs-ps-debug.dll!5f5b9870()
mozjs-ps-debug.dll!5f5b9b6d()
pyrogenesis_dbg.exe!OBJECT_TO_JSVAL(JSObject * obj=0x002cefa8) Line 220 + 0x9 bytes C++
pyrogenesis_dbg.exe!IGUIObject::SendEvent(EGUIMessageType type=GUIM_PRESSED, const CStr8 & EventName={...}) Line 503 C++
pyrogenesis_dbg.exe!IGUIButtonBehavior::HandleMessage(SGUIMessage & Message={...}) Line 66 + 0x35 bytes C++
pyrogenesis_dbg.exe!CButton::HandleMessage(SGUIMessage & Message={...}) Line 86 C++
pyrogenesis_dbg.exe!IGUIObject::SendEvent(EGUIMessageType type=GUIM_MOUSE_RELEASE_LEFT, const CStr8 & EventName={...}) Line 499 + 0x13 bytes C++
pyrogenesis_dbg.exe!CGUI::HandleEvent(const SDL_Event_ * ev=0x002cf488) Line 207 + 0x2e bytes C++
pyrogenesis_dbg.exe!CGUIManager::HandleEvent(const SDL_Event_ * ev=0x002cf488) Line 202 + 0x38 bytes C++
pyrogenesis_dbg.exe!gui_handler(const SDL_Event_ * ev=0x002cf488) Line 48 + 0xf bytes C++
pyrogenesis_dbg.exe!in_dispatch_event(const SDL_Event_ * ev=0x002cf488) Line 60 + 0x12 bytes C++
pyrogenesis_dbg.exe!PumpEvents() Line 149 + 0x9 bytes C++
pyrogenesis_dbg.exe!Frame() Line 309 C++
pyrogenesis_dbg.exe!RunGameOrAtlas(int argc=1, const char * * argv=0x03dc5db8) Line 492 + 0x5 bytes C++
pyrogenesis_dbg.exe!main(int argc=1, char * * argv=0x03dc5db8) Line 511 + 0xd bytes C++
pyrogenesis_dbg.exe!wmain(int argc=1, wchar_t * * argv=0x03dc5210) Line 373 + 0x14 bytes C++
pyrogenesis_dbg.exe!__tmainCRTStartup() Line 552 + 0x19 bytes C
pyrogenesis_dbg.exe!wmainCRTStartup() Line 371 C
pyrogenesis_dbg.exe!CallStartupWithinTryBlock() Line 385 + 0x5 bytes C++
pyrogenesis_dbg.exe!wseh_EntryPoint() Line 413 C++
kernel32.dll!772c3677()
ntdll.dll!77d49f02()
ntdll.dll!77d49ed5()
I strongly recommend we delay this release until MUCH more testing has been done. Launching atlas from in-game also failed before I recompiled it ("attempt to load the CRT in an invalid fashion" or similar). |
|||
| #846 | wontfix | [PATCH] memleak in CJSObject::AddProperty | ||
| Description |
How to reproduce: build in debug mode, run, click editor button on main menu, exit editor via [x] button. The following allocations leak: {2367220} normal block at 0x00BA9690, 20 bytes long.
Data: < ] N > 14 DC BE 5D 01 00 00 00 13 02 00 00 4E 00 00 00
{839470} normal block at 0x0A522160, 52 bytes long.
Data: < d a > 01 00 00 00 04 00 00 00 13 00 00 00 64 00 61 00
[...]
{792147} normal block at 0x0A542BD0, 8 bytes long.
Data: < > FF FF FF FF FF FF FF FF
{3972} normal block at 0x00AF9AD0, 12 bytes long.
Data: < U > 20 E7 55 01 0A 0E D4 00 ED 81 D2 00
{3966} normal block at 0x00AF9E00, 8 bytes long.
Data: < Q , > 20 93 51 01 2C 04 00 00
{3960} normal block at 0x00AF9CA8, 12 bytes long.
Data: < U > 20 E7 55 01 14 1A D2 00 AE ED D2 00
{3954} normal block at 0x00AF9B40, 12 bytes long.
Data: < U ,` t2 > 20 E7 55 01 2C 60 D3 00 74 32 D2 00
{3949} normal block at 0x00AF9320, 12 bytes long.
Data: < U 9 U > 20 E7 55 01 D4 39 D4 00 0B 55 D2 00
{3944} normal block at 0x00AF98B8, 8 bytes long.
Data: < Q " > 20 93 51 01 22 04 00 00
{3938} normal block at 0x00AF9760, 8 bytes long.
Data: < U ( > B4 E7 55 01 28 04 00 00
{3932} normal block at 0x00AF9608, 8 bytes long.
Data: < U $ > 94 E7 55 01 24 04 00 00
{3926} normal block at 0x00AF94B0, 8 bytes long.
Data: < Q ! > 20 93 51 01 21 04 00 00
{3920} normal block at 0x00AE31B8, 8 bytes long.
Data: < Q > 20 93 51 01 20 04 00 00
{3914} normal block at 0x00AF91C8, 12 bytes long.
Data: < U W (j > 20 E7 55 01 FD 57 D3 00 28 6A D2 00
{3907} normal block at 0x00AF62C8, 12 bytes long.
Data: < U > 20 E7 55 01 A6 EB D2 00 E6 0A D3 00
{3896} normal block at 0x00AE3328, 8 bytes long.
Data: < Q > 20 93 51 01 E6 03 00 00
{3890} normal block at 0x00C27280, 8 bytes long.
Data: < Q > 20 93 51 01 E4 03 00 00
{3884} normal block at 0x00AE0DA0, 8 bytes long.
Data: < Q > 20 93 51 01 E5 03 00 00
3884 has the following call stack: msvcr100d.dll!operator new(unsigned int size=8) Line 59 + 0x9 bytes C++
pyrogenesis_dbg.exe!CJSObject<CGameViewImpl,0>::AddProperty<bool>(const CStrW & PropertyName={...}, bool * Native=0x000003e5, bool PropReadOnly=false) Line 340 + 0x7 bytes C++
pyrogenesis_dbg.exe!CGameViewImpl::ScriptingInit() Line 387 + 0x4a bytes C++
pyrogenesis_dbg.exe!CGameView::ScriptingInit() Line 367 C++
pyrogenesis_dbg.exe!RegisterJavascriptInterfaces() Line 310 C++
pyrogenesis_dbg.exe!InitScripting() Line 334 C++
pyrogenesis_dbg.exe!Init(const CmdLineArgs & args={...}, int __formal=0) Line 815 C++
pyrogenesis_dbg.exe!RunGameOrAtlas(int argc=1, const char * * argv=0x00c25db8) Line 488 + 0xb bytes C++
pyrogenesis_dbg.exe!main(int argc=1, char * * argv=0x00c25db8) Line 512 + 0xd bytes C++
pyrogenesis_dbg.exe!wmain(int argc=1, wchar_t * * argv=0x00c25210) Line 373 + 0x14 bytes C++
pyrogenesis_dbg.exe!__tmainCRTStartup() Line 552 + 0x19 bytes C
pyrogenesis_dbg.exe!wmainCRTStartup() Line 371 C
pyrogenesis_dbg.exe!CallStartupWithinTryBlock() Line 385 + 0x5 bytes C++
pyrogenesis_dbg.exe!wseh_EntryPoint() Line 413 C++
|
|||
| #847 | fixed | [PATCH] Mac: Not all screen space is being used | ||
| Description |
On Mac OS X, only 1024x768 appears to be rendered, even though my screen size is 1280x800. It would be nice to be able to play on a Mac using actual full screen. |
|||
| #849 | fixed | Assertion failed error when trying to save a map in Atlas | ||
| Description |
Every time I try to save a map in Atlas I get the following error: Assertion failed: "0 && (L"FYI: WARN_IF_FALSE reports that a function failed. Feel free to ignore or suppress this warning.")"
Location: waio.cpp:432 (waio_Preallocate)
Call stack:
waio_Preallocate (waio.cpp:432)
fd = 7 (0x00000007)
size = 656423 (0x00000000000A0427)
io::Store<io::DefaultCompletedHook,io::DefaultIssueHook> (io.h:291)
pathname = (unavailable)
data = 0x161B1000
size = 656423 (0x000A0427)
p = 0x0012F8C0 ->
alignment = 1 (0x0000000000000001)
blockSize = 0 (0x00000000)
queueDepth = 1 (0x00000001)
completedHook = 0x00408403 -> (io::DefaultCompletedHook)
issueHook = 0x00408403 (see above)
op =
fd = 7 (0x00000007)
opcode = 0 (0x00000000)
offset = 2819315317342208 (0x000A042700000000)
size = 1592884485391646720 (0x161B100000000000)
buf = 0xCF1B0820
file =
pathname =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 7
fd = 7 (0x00000007)
opcode = 3474655240 (0xCF1B0808)
status_ = 32082840131 (0x0000000778494A43)
RealDirectory::Store (real_directory.cpp:57)
this = (unavailable)
name = 0x0012F900 ->
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 20512, 318, 2312, 53019, 63880, 18, 0, 0 }
fileContents = 0x0012F800 ->
px = 0x005E2360 -> "0"
pn =
pi_ = 0x00643DE8 ->
use_count_ = 0 (0x00000000)
weak_count_ = 0 (0x00000000)
size = 656423 (0x000A0427)
VFS::CreateFile (vfs.cpp:139)
this = (unavailable)
pathname = 0x0012FADC ->
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 0, 2768, 53019, 64380, 18, 6305, 92 ('\') }
fileContents = 0x0012F9C8 ->
px = 0x161B1000 (see above)
pn =
pi_ = 0x133B2848 ->
use_count_ = 2 (0x00000002)
weak_count_ = 1 (0x00000001)
size = 656423 (0x000A0427)
directory = 0x01354328 ->
m_files = (error -100500 while analyzing map<Path,VfsFile >)
m_subdirectories = (error -100500 while analyzing map<Path,VfsDirectory >)
m_realDirectory =
px = 0x0062006F ->
(IFileLoader)
m_path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 3072, 0, 22528, 23680, 3072, 0, 24576, 23680 }
m_priority = 1551915008 (0x5C805800)
m_flags = 3072 (0x00000C00)
m_watch =
px = 0x5C806000 ->
link =
m_prev = (unavailable - internal error)
m_next = (unavailable - internal error)
request =
px = (unavailable - internal error)
pn =
pi_ = (unavailable - internal error)
pn =
pi_ = 0x00000F00
pn =
pi_ = 0x0134F628 ->
use_count_ = 20248104 (0x0134F628)
weak_count_ = 20248104 (0x0134F628)
m_shouldPopulate = 0 (0x00000000)
name =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 26297
file =
m_name =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_size = 3474655540 (0xCF1B0934)
m_mtime = 91125118528389124 (0x0143BDD000000004)
m_priority = 4228666 (0x0040863A)
m_loader =
px = 0x161B1008 -> (IFileLoader)
pn =
pi_ = 0x0012F9C4 ->
use_count_ = 370872320 (0x161B1000)
weak_count_ = 322644040 (0x133B2848)
s = (ScopedLock)
status_ = 87517328819879936 (0x0136EC8C00000000)
CFilePacker::Write (fileio.cpp:68)
this = (unavailable)
filename = 0x0012FADC (see above)
payloadSize_le = 370872320 (0x161B1000)
CMapWriter::SaveMap (mapwriter.cpp:65)
this = (unavailable)
pathname = 0x0012FADC (see above)
pTerrain = 0x0143BDD0 ->
m_MapSize = 257 (0x00000101)
m_MapSizePatches = 16 (0x00000010)
m_Patches = 0x14200024 ->
m_Bounds =
m_Data = [2]
X = 0.000000 (0x00000000)
Y = 0.000000 (0x00000000)
Z = 0.000000 (0x00000000)
X = 64.000000 (0x42800000)
Y = 22.382513 (0x41B30F63)
Z = 64.000000 (0x42800000)
m_Transform =
_11 = 1.000000 (0x3F800000)
_21 = 0.000000 (0x00000000)
_31 = 0.000000 (0x00000000)
_41 = 0.000000 (0x00000000)
_12 = 0.000000 (0x00000000)
_22 = 1.000000 (0x3F800000)
_32 = 0.000000 (0x00000000)
_42 = 0.000000 (0x00000000)
_13 = 0.000000 (0x00000000)
_23 = 0.000000 (0x00000000)
_33 = 1.000000 (0x3F800000)
_43 = 0.000000 (0x00000000)
_14 = 0.000000 (0x00000000)
_24 = 0.000000 (0x00000000)
_34 = 0.000000 (0x00000000)
_44 = 1.000000 (0x3F800000)
_data = [16]
1.000000 (0x3F800000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
1.000000 (0x3F800000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
1.000000 (0x3F800000)
0.000000 (0x00000000) ...
_data2d = [4]
[4] { 1.000000 (0x3F800000), 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), 1.000000 (0x3F800000), 0.000000 (0x00000000), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), 0.000000 (0x00000000), 1.000000 (0x3F800000), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000), 1.000000 (0x3F800000) }
m_InvTransform =
_11 = 0.000000 (0x00000000)
_21 = 0.000000 (0x00000000)
_31 = 0.000000 (0x00000000)
_41 = 0.000000 (0x00000000)
_12 = 0.000000 (0x00000000)
_22 = 0.000000 (0x00000000)
_32 = 0.000000 (0x00000000)
_42 = 0.000000 (0x00000000)
(too much output; skipping to next top-level symbol)
m_RenderData = 0x00000000
m_BoundsValid = true
m_bWillBeDrawn = false
m_MiniPatches = [16]
[16]
Tex = 0x131FAB50 ->
m_Tag = { (error -100500 while analyzing string >) }
m_pProperties =
px = 0x13206550 ->
m_pParent =
px = 0x13147F88 ->
m_pParent =
px = 0x00000000
pn =
pi_ = 0x00000000
m_BaseColor = 0 (0x00000000)
m_HasBaseColor = false
m_MovementClass = { (error -100500 while analyzing string >) }
m_Groups = (error -100500 while analyzing vector<CTerrainGroup * >)
pn =
pi_ = 0x13076918 ->
use_count_ = 74 (0x0000004A)
weak_count_ = 1 (0x00000001)
m_BaseColor = 0 (0x00000000)
m_HasBaseColor = false
m_MovementClass = { (error -100500 while analyzing string >) }
m_Groups = (error -100500 while analyzing vector<CTerrainGroup * >)
pn =
pi_ = 0x13206FE8 ->
use_count_ = 9 (0x00000009)
weak_count_ = 1 (0x00000001)
m_Texture =
px = 0x131F3B88 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = "/r✃"
m_Filter = 9987 (0x00002703)
m_Wrap = 10497 (0x00002901)
m_Aniso = 2.000000 (0x40000000)
m_Handle = 622770258065 (0x0000009100000091)
m_BaseColour = 4286154066 (0xFF798552)
m_State = LOADED
m_TextureManager = 0x013E9918 ->
m_VFS =
px = 0x01354328 (see above)
pn =
pi_ = 0x0135C040 ->
use_count_ = 4 (0x00000004)
weak_count_ = 1 (0x00000001)
m_CacheLoader =
m_VFS =
px = 0x01354328 (see above)
pn =
pi_ = 0x0135C040 (see above)
m_FileExtension = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
m_DisableGL = false
m_TextureConverter =
m_VFS =
px = 0x01354328 (see above)
pn =
pi_ = 0x0135C040 (see above)
m_HighQuality = false
m_WorkerThread = 1544 (0x00000608)
m_WorkerMutex = 0x00161178
m_WorkerSem = 0x0000060C
m_RequestQueue = (error -100500 while analyzing deque<boost::shared_ptr<CTextureConverter::ConversionRequest> >)
m_ResultQueue = (error -100500 while analyzing deque<boost::shared_ptr<CTextureConverter::ConversionResult> >)
m_Shutdown = false
m_DefaultHandle = 4294967297 (0x0000000100000001)
m_ErrorHandle = 8589934594 (0x0000000200000002)
m_ErrorTexture =
px = 0x0135B330 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = "/f✃"
m_Filter = 9987 (0x00002703)
m_Wrap = 10497 (0x00002901)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 8589934594 (0x0000000200000002)
m_BaseColour = 0 (0x00000000)
m_State = LOADED
m_TextureManager = 0x013E9918 (see above)
m_Self =
px = 0x0135B330 (see above)
pn =
pi_ = 0x01403F18 ->
use_count_ = 1 (0x00000001)
weak_count_ = 2 (0x00000002)
pn =
pi_ = 0x01403F18 (see above)
m_TextureCache =
table_ =
buckets_ = 0x13228798 ->
next_ = 0x1323CFC8 ->
next_ = 0x1322BAB0 ->
next_ = 0x131DD1E0 ->
next_ = 0x00000000
bucket_count_ = 769 (0x00000301)
allocators_ =
(error -100500 while analyzing )
(error -100500 while analyzing )
current_ = false
funcs_ = [2] { { data_ = { buf = [2] { [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }, [8] { 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240, 2 } }, align_ =
t0 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t1 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t2 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t3 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t4 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t5 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t6 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t7 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t8 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t9 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t10 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t11 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t12 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t13 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t14 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t15 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t16 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t17 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t18 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t19 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t20 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t21 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t22 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
t23 = [8] { 0, 0, 103 ('g'), 101 ('e'), 95 ('_'), 49 ('1'), 48 ('0'), 240 }
} }, { data_ = { buf = "ge_10ð", align_ =
t0 = "ge_10ð"
t1 = "ge_10ð"
t2 = "ge_10ð"
t3 = "ge_10ð"
t4 = "ge_10ð"
t5 = "ge_10ð"
t6 = "ge_10ð"
t7 = "ge_10ð"
t8 = "ge_10ð"
t9 = "ge_10ð"
t10 = "ge_10ð"
t11 = "ge_10ð"
t12 = "ge_10ð"
t13 = "ge_10ð"
t14 = "ge_10ð"
t15 = "ge_10ð"
t16 = "ge_10ð"
t17 = "ge_10ð"
t18 = "ge_10ð"
t19 = "ge_10ð"
t20 = "ge_10ð"
t21 = "ge_10ð"
t22 = "ge_10ð"
t23 = "ge_10ð"
} } }
size_ = 752 (0x000002F0)
mlf_ = 1.000000 (0x3F800000)
cached_begin_bucket_ = 0x13228798 (see above)
max_load_ = 769 (0x00000301)
m_HotloadFiles =
table_ =
buckets_ = 0x1322A008 ->
next_ = 0x00000000
bucket_count_ = 769 (0x00000301)
allocators_ =
(error -100500 while analyzing )
(error -100500 while analyzing )
current_ = false
funcs_ = "L_Aû"
size_ = 763 (0x000002FB)
mlf_ = 1.000000 (0x3F800000)
cached_begin_bucket_ = 0x1322A00C ->
next_ = 0x13212FB8 ->
next_ = 0x00000000
max_load_ = 769 (0x00000301)
m_SettingsFiles =
table_ =
buckets_ = 0x1339EFF8 ->
next_ = 0x00000000
bucket_count_ = 17 (0x00000011)
allocators_ =
(error -100500 while analyzing )
(error -100500 while analyzing )
current_ = false
funcs_ = "B_t"
size_ = 11 (0x0000000B)
mlf_ = 1.000000 (0x3F800000)
cached_begin_bucket_ = 0x1339F010 ->
next_ = 0x13289AA8 ->
next_ = 0x00000000
max_load_ = 17 (0x00000011)
m_Self =
px = 0x131F3B88 (see above)
pn =
pi_ = 0x131FABA0 ->
use_count_ = 2 (0x00000002)
weak_count_ = 9 (0x00000009)
pn =
pi_ = 0x131FABA0 (see above)
m_BaseColor = 0 (0x00000000)
m_BaseColorValid = false
m_Groups = (error -100500 while analyzing vector<CTerrainGroup * >)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
...
[16]
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
...
[16]
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
...
[16]
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
...
[16]
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
...
[16]
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
...
[16]
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
...
[16]
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
Tex = 0x131FAB50 (see above)
Priority = 0 (0x00000000)
... ...
m_X = 0 (0x00000000)
m_Z = 0 (0x00000000)
m_Parent = 0x0143BDD0 (see above)
m_Heightmap = 0x13298008 -> 16384 (0x4000)
m_BaseColour =
R = [8] { 255 (0xFF), 255 (0xFF), 255 (0xFF), 255 (0xFF), 0 (0x00), 0 (0x00), 0 (0x00), 0 (0x00) }
G = [8] { 255 (0xFF), 255 (0xFF), 255 (0xFF), 0 (0x00), 0 (0x00), 0 (0x00), 0 (0x00), 7 (0x07) }
B = [8] { 255 (0xFF), 255 (0xFF), 0 (0x00), 0 (0x00), 0 (0x00), 0 (0x00), 7 (0x07), 0 (0x00) }
A = [8] { 255 (0xFF), 0 (0x00), 0 (0x00), 0 (0x00), 0 (0x00), 7 (0x07), 0 (0x00), 4 (0x04) }
pWaterMan = 0x013E5020 ->
m_WaterTexture = [60]
px = 0x1325BA58 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = "/r✃"
m_Filter = 9987 (0x00002703)
m_Wrap = 10497 (0x00002901)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 94489280534 (0x0000001600000016)
m_BaseColour = 2245252051 (0x85D3D3D3)
m_State = LOADED
m_TextureManager = 0x013E9918 (see above)
m_Self =
px = 0x1325BA58 (see above)
pn =
pi_ = 0x1328A008 ->
use_count_ = 2 (0x00000002)
weak_count_ = 9 (0x00000009)
pn =
pi_ = 0x1328A008 (see above)
px = 0x13238F98 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = "/r✃"
m_Filter = 9987 (0x00002703)
m_Wrap = 10497 (0x00002901)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 240518168632 (0x0000003800000038)
m_BaseColour = 2245252051 (0x85D3D3D3)
m_State = LOADED
m_TextureManager = 0x013E9918 (see above)
m_Self =
px = 0x13238F98 (see above)
pn =
pi_ = 0x1328A038 ->
use_count_ = 2 (0x00000002)
weak_count_ = 9 (0x00000009)
pn =
pi_ = 0x1328A038 (see above)
px = 0x1325B7F0 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = "/r✃"
m_Filter = 9987 (0x00002703)
m_Wrap = 10497 (0x00002901)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 244813135929 (0x0000003900000039)
m_BaseColour = 2245252051 (0x85D3D3D3)
m_State = LOADED
m_TextureManager = 0x013E9918 (see above)
m_Self =
px = 0x1325B7F0 (see above)
pn =
pi_ = 0x1328A0A8 -> (too much output; skipping to next top-level symbol)
pn =
pi_ = 0x1328A0A8 (see above)
px = 0x1325B460 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = "/r✃"
m_Filter = 9987 (0x00002703)
m_Wrap = 10497 (0x00002901)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 532575944828 (0x0000007C0000007C)
m_BaseColour = 2245252051 (0x85D3D3D3)
m_State = LOADED
m_TextureManager = 0x013E9918 (see above)
m_Self =
px = 0x1325B460 (see above)
pn =
pi_ = 0x1328A118 ->
use_count_ = 2 (0x00000002)
weak_count_ = 9 (0x00000009)
pn =
pi_ = 0x1328A118 (see above)
px = 0x1328A188 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 0, 9987, 0, 10497, 0, 0, 16256 }
m_Filter = 9987 (0x00002703)
m_Wrap = 10497 (0x00002901)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 115964117019 (0x0000001B0000001B)
m_BaseColour = 2228474835 (0x84D3D3D3)
m_State = LOADED
m_TextureManager = 0x013E9918 (see above)
m_Self =
px = 0x1328A188 (see above)
pn =
pi_ = 0x1328A1E0 ->
use_count_ = 2 (0x00000002)
weak_count_ = 9 (0x00000009)
pn =
pi_ = 0x1328A1E0 (see above)
px = 0x1328A250 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 0, 9987, 0, 10497, 0, 0, 16256 }
m_Filter = 9987 (0x00002703)
m_Wrap = 10497 (0x00002901)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 408021893215 (0x0000005F0000005F)
m_BaseColour = 2228474835 (0x84D3D3D3)
m_State = LOADED
m_TextureManager = 0x013E9918 (see above)
m_Self =
px = 0x1328A250 (see above)
pn =
pi_ = 0x1328A2A8 ->
use_count_ = 2 (0x00000002)
weak_count_ = 9 (0x00000009)
pn =
pi_ = 0x1328A2A8 (see above)
px = 0x1328A318 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 0, 9987, 0, 10497, 0, 0, 16256 }
m_Filter = 9987 (0x00002703)
m_Wrap = 10497 (0x00002901)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 223338299444 (0x0000003400000034)
m_BaseColour = 2228474835 (0x84D3D3D3)
m_State = LOADED
m_TextureManager = 0x013E9918 (see above)
m_Self =
px = 0x1328A318 (see above)
pn =
pi_ = 0x1328A370 ->
use_count_ = 2 (0x00000002)
weak_count_ = 9 (0x00000009)
pn =
pi_ = 0x1328A370 (see above)
px = 0x1328A3E0 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 0, 9987, 0, 10497, 0, 0, 16256 }
m_Filter = 9987 (0x00002703)
m_Wrap = 10497 (0x00002901)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 249108103226 (0x0000003A0000003A)
m_BaseColour = 2228474835 (0x84D3D3D3)
m_State = LOADED
m_TextureManager = 0x013E9918 (see above)
m_Self =
px = 0x1328A3E0 (see above)
pn =
pi_ = 0x1328A438 ->
use_count_ = 2 (0x00000002)
weak_count_ = 9 (0x00000009)
pn =
pi_ = 0x1328A438 (see above)
...
m_NormalMap = [60]
px = 0x1327C580 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 0, 9987, 0, 10497, 0, 0, 16256 }
m_Filter = 9987 (0x00002703)
m_Wrap = 10497 (0x00002901)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 210453397553 (0x0000003100000031)
m_BaseColour = 4286480383 (0xFF7E7FFF)
m_State = LOADED
m_TextureManager = 0x013E9918 (see above)
m_Self =
px = 0x1327C580 (see above)
pn =
pi_ = 0x1327C5D8 ->
use_count_ = 2 (0x00000002)
weak_count_ = 9 (0x00000009)
pn =
pi_ = 0x1327C5D8 (see above)
px = 0x1327C770 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 0, 9987, 0, 10497, 0, 0, 16256 }
m_Filter = 9987 (0x00002703)
m_Wrap = 10497 (0x00002901)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 558345748610 (0x0000008200000082)
m_BaseColour = 4286480383 (0xFF7E7FFF)
m_State = LOADED
m_TextureManager = 0x013E9918 (see above)
m_Self =
px = 0x1327C770 (see above)
pn =
pi_ = 0x1327C7C8 ->
use_count_ = 2 (0x00000002)
weak_count_ = 9 (0x00000009)
pn =
pi_ = 0x1327C7C8 (see above)
px = 0x1327C960 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 0, 9987, 0, 10497, 0, 0, 16256 }
m_Filter = 9987 (0x00002703)
m_Wrap = 10497 (0x00002901)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 463856468076 (0x0000006C0000006C)
m_BaseColour = 4286480383 (0xFF7E7FFF)
m_State = LOADED
m_TextureManager = 0x013E9918 (see above)
m_Self =
px = 0x1327C960 (see above)
pn =
pi_ = 0x1327C9B8 ->
use_count_ = 2 (0x00000002)
weak_count_ = 9 (0x00000009)
pn =
pi_ = 0x1327C9B8 (see above)
px = 0x1327CB50 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 0, 9987, 0, 10497, 0, 0, 16256 }
m_Filter = 9987 (0x00002703)
m_Wrap = 10497 (0x00002901)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 476741369967 (0x0000006F0000006F)
m_BaseColour = 4286480383 (0xFF7E7FFF)
m_State = LOADED
m_TextureManager = 0x013E9918 (see above)
m_Self =
px = 0x1327CB50 (see above)
pn =
pi_ = 0x1327CBA8 ->
use_count_ = 2 (0x00000002)
weak_count_ = 9 (0x00000009)
pn =
pi_ = 0x1327CBA8 (see above)
px = 0x1327CD40 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 0, 9987, 0, 10497, 0, 0, 16256 }
m_Filter = 9987 (0x00002703)
m_Wrap = 10497 (0x00002901)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 386547056730 (0x0000005A0000005A)
m_BaseColour = 4286480383 (0xFF7E7FFF)
m_State = LOADED
m_TextureManager = 0x013E9918 (see above)
m_Self =
px = 0x1327CD40 (see above)
pn =
pi_ = 0x1327CD98 ->
use_count_ = 2 (0x00000002)
weak_count_ = 9 (0x00000009)
pn =
pi_ = 0x1327CD98 (see above)
px = 0x1327CF30 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 0, 9987, 0, 10497, 0, 0, 16256 }
m_Filter = 9987 (0x00002703)
m_Wrap = 10497 (0x00002901)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 382252089433 (0x0000005900000059)
m_BaseColour = 4286480383 (0xFF7E7FFF)
m_State = LOADED
m_TextureManager = 0x013E9918 (see above)
m_Self =
px = 0x1327CF30 (see above)
pn =
pi_ = 0x1327CF88 ->
use_count_ = 2 (0x00000002)
weak_count_ = 9 (0x00000009)
pn =
pi_ = 0x1327CF88 (see above)
px = 0x1327D120 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 0, 9987, 0, 10497, 0, 0, 16256 }
m_Filter = 9987 (0x00002703)
m_Wrap = 10497 (0x00002901)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 403726925918 (0x0000005E0000005E)
m_BaseColour = 4286480383 (0xFF7E7FFF)
m_State = LOADED
m_TextureManager = 0x013E9918 (see above)
m_Self =
px = 0x1327D120 (see above)
pn =
pi_ = 0x1327D178 ->
use_count_ = 2 (0x00000002)
weak_count_ = 9 (0x00000009)
pn =
pi_ = 0x1327D178 (see above)
px = 0x1327D310 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 0, 9987, 0, 10497, 0, 0, 16256 }
m_Filter = 9987 (0x00002703)
m_Wrap = 10497 (0x00002901)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 468151435373 (0x0000006D0000006D)
m_BaseColour = 4286480383 (0xFF7E7FFF)
m_State = LOADED
m_TextureManager = 0x013E9918 (see above)
m_Self =
px = 0x1327D310 (see above)
pn =
pi_ = 0x1327D368 ->
use_count_ = 2 (0x00000002)
weak_count_ = 9 (0x00000009)
pn =
pi_ = 0x1327D368 (see above)
...
m_WaterCurrentTex = 0 (0x00000000)
m_WaterColor =
r = 0.300000 (0x3E99999A)
g = 0.350000 (0x3EB33333)
b = 0.700000 (0x3F333333)
a = 1.000000 (0x3F800000)
m_RenderWater = true
m_WaterScroll = (bool)0x6C
m_WaterHeight = 5.000000 (0x40A00000)
m_WaterMaxAlpha = 0.850000 (0x3F59999A)
m_WaterFullDepth = 4.000000 (0x40800000)
m_WaterAlphaOffset = -0.050000 (0xBD4CCCCD)
m_SWaterSpeed = 0.001500 (0x3AC49BA6)
m_TWaterSpeed = 0.001500 (0x3AC49BA6)
m_SWaterTrans = 0.000000 (0x00000000)
m_TWaterTrans = 0.000000 (0x00000000)
m_SWaterScrollCounter = 0.000000 (0x00000000)
m_TWaterScrollCounter = 0.000000 (0x00000000)
m_WaterTexTimer = 0 (0x0000000000000000)
m_ReflectionTexture = 21 (0x00000015)
m_RefractionTexture = 22 (0x00000016)
m_ReflectionTextureSize = 128 (0x00000080)
m_RefractionTextureSize = 128 (0x00000080)
m_ReflectionMatrix =
_11 = 4.511769 (0x40906069)
_21 = 0.000000 (0x00000000)
_31 = 0.000000 (0x00000000)
_41 = 0.000000 (0x00000000)
_12 = 0.000000 (0x00000000)
_22 = -4.672655 (0xC0958664)
_32 = 0.203568 (0x3E50742F)
_42 = 0.500000 (0x3F000000)
_13 = 0.000000 (0x00000000)
_23 = 2.697759 (0x402CA814)
_33 = 0.866025 (0x3F5DB3D7)
_43 = 0.866025 (0x3F5DB3D7)
_14 = -1353.530640 (0xC4A930FB)
_24 = -1085.293335 (0xC487A963)
_34 = -130.150040 (0xC3022669)
_44 = -131.632202 (0xC303A1D8)
_data = [16]
4.511769 (0x40906069)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
-4.672655 (0xC0958664)
0.203568 (0x3E50742F)
0.500000 (0x3F000000)
0.000000 (0x00000000)
2.697759 (0x402CA814)
0.866025 (0x3F5DB3D7)
0.866025 (0x3F5DB3D7) ...
_data2d = [4]
[4] { 4.511769 (0x40906069), 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), -4.672655 (0xC0958664), 0.203568 (0x3E50742F), 0.500000 (0x3F000000) }
[4] { 0.000000 (0x00000000), 2.697759 (0x402CA814), 0.866025 (0x3F5DB3D7), 0.866025 (0x3F5DB3D7) }
[4] { -1353.530640 (0xC4A930FB), -1085.293335 (0xC487A963), -130.150040 (0xC3022669), -131.632202 (0xC303A1D8) }
m_RefractionMatrix =
_11 = 4.511769 (0x40906069)
_21 = 0.000000 (0x00000000)
_31 = 0.000000 (0x00000000)
_41 = 0.000000 (0x00000000)
_12 = 0.000000 (0x00000000)
_22 = 4.672655 (0x40958664)
_32 = -0.188759 (0xBE414A29)
_42 = -0.500000 (0xBF000000)
_13 = 0.000000 (0x00000000)
_23 = 2.697759 (0x402CA814)
_33 = 0.866025 (0x3F5DB3D7)
_43 = 0.866025 (0x3F5DB3D7)
_14 = -1353.530640 (0xC4A930FB)
_24 = -1132.019897 (0xC48D80A3)
_34 = -128.188400 (0xC300303B)
_44 = -126.632202 (0xC2FD43B0)
_data = [16]
4.511769 (0x40906069)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
4.672655 (0x40958664)
-0.188759 (0xBE414A29)
-0.500000 (0xBF000000)
0.000000 (0x00000000)
2.697759 (0x402CA814)
0.866025 (0x3F5DB3D7)
0.866025 (0x3F5DB3D7) ...
_data2d = [4]
[4] { 4.511769 (0x40906069), 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), 4.672655 (0x40958664), -0.188759 (0xBE414A29), -0.500000 (0xBF000000) }
[4] { 0.000000 (0x00000000), 2.697759 (0x402CA814), 0.866025 (0x3F5DB3D7), 0.866025 (0x3F5DB3D7) }
[4] { -1353.530640 (0xC4A930FB), -1132.019897 (0xC48D80A3), -128.188400 (0xC300303B), -126.632202 (0xC2FD43B0) }
m_WaterTint =
r = 0.280000 (0x3E8F5C29)
g = 0.300000 (0x3E99999A)
b = 0.590000 (0x3F170A3D)
a = 1.000000 (0x3F800000)
m_RepeatPeriod = 16.000000 (0x41800000)
m_Shininess = 150.000000 (0x43160000)
m_SpecularStrength = 0.400000 (0x3ECCCCCD)
m_Waviness = 8.000000 (0x41000000)
m_Murkiness = 0.450000 (0x3EE66666)
m_ReflectionTint =
r = 0.280000 (0x3E8F5C29)
g = 0.300000 (0x3E99999A)
b = 0.590000 (0x3F170A3D)
a = 1.000000 (0x3F800000)
m_ReflectionTintStrength = 0.000000 (0x00000000)
pSkyMan = 0x013E54F0 ->
m_RenderSky = true
m_HorizonHeight = -150.000000 (0xC3160000)
m_SkySet = { (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >) }
m_SkyTexture = [5]
px = 0x1328EEB8 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = "/m✃"
m_Filter = 9987 (0x00002703)
m_Wrap = 33071 (0x0000812F)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 429496729700 (0x0000006400000064)
m_BaseColour = 4287932864 (0xFF94A9C0)
m_State = LOADED
m_TextureManager = 0x013E9918 (see above)
m_Self =
px = 0x1328EEB8 (see above)
pn =
pi_ = 0x132B8450 ->
use_count_ = 2 (0x00000002)
weak_count_ = 8 (0x00000008)
pn =
pi_ = 0x132B8450 (see above)
px = 0x1328EDB0 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = "/5✃"
m_Filter = 9987 (0x00002703)
m_Wrap = 33071 (0x0000812F)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 158913789989 (0x0000002500000025)
m_BaseColour = 4287735229 (0xFF91A5BD)
m_State = LOADED
m_TextureManager = 0x013E9918 (see above)
m_Self =
px = 0x1328EDB0 (see above)
pn =
pi_ = 0x132B84D8 ->
use_count_ = 2 (0x00000002)
weak_count_ = 8 (0x00000008)
pn =
pi_ = 0x132B84D8 (see above)
px = 0x1328ECA8 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = "/6✃"
m_Filter = 9987 (0x00002703)
m_Wrap = 33071 (0x0000812F)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 515396075640 (0x0000007800000078)
m_BaseColour = 4286486194 (0xFF7E96B2)
m_State = LOADED
m_TextureManager = 0x013E9918 (see above)
(too much output; skipping to next top-level symbol)
pn =
pi_ = 0x132B8580 ->
use_count_ = 2 (0x00000002)
weak_count_ = 8 (0x00000008)
px = 0x1328EBA0 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 46 ('.'), 9987, 0, 33071, 0, 0, 16256 }
m_Filter = 9987 (0x00002703)
m_Wrap = 33071 (0x0000812F)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 373662154839 (0x0000005700000057)
m_BaseColour = 4289905107 (0xFFB2C1D3)
m_State = LOADED
m_TextureManager = 0x013E9918 (see above)
m_Self =
px = 0x1328EBA0 (see above)
pn =
pi_ = 0x132B8628 ->
use_count_ = 2 (0x00000002)
weak_count_ = 8 (0x00000008)
pn =
pi_ = 0x132B8628 (see above)
px = 0x1328EA98 ->
m_Properties =
m_Path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 46 ('.'), 9987, 0, 33071, 0, 0, 16256 }
m_Filter = 9987 (0x00002703)
m_Wrap = 33071 (0x0000812F)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 266287972414 (0x0000003E0000003E)
m_BaseColour = 4289377219 (0xFFAAB3C3)
m_State = LOADED
m_TextureManager = 0x013E9918 (see above)
m_Self =
px = 0x1328EA98 (see above)
pn =
pi_ = 0x132B86D0 ->
use_count_ = 2 (0x00000002)
weak_count_ = 8 (0x00000008)
pn =
pi_ = 0x132B86D0 (see above)
pLightEnv = 0x00648748 ->
m_Elevation = 0.785398 (0x3F490FD8)
m_Rotation = 5.497790 (0x40AFEDE5)
m_TerrainShadowTransparency = 0.000000 (0x00000000)
m_SunDir =
X = -0.270597 (0xBE8A8BC0)
Y = -0.923880 (0xBF6C835E)
Z = 0.270599 (0x3E8A8BF1)
m_LightingModel = (error -100500 while analyzing string >)
m_SunColor =
X = 0.749020 (0x3F3FBFC6)
Y = 0.749020 (0x3F3FBFC6)
Z = 0.749020 (0x3F3FBFC6)
m_TerrainAmbientColor =
X = 0.501961 (0x3F008084)
Y = 0.501961 (0x3F008084)
Z = 0.501961 (0x3F008084)
m_UnitsAmbientColor =
X = 0.501961 (0x3F008084)
Y = 0.501961 (0x3F008084)
Z = 0.501961 (0x3F008084)
pCamera = 0x0140015C ->
m_Orientation =
_11 = 1.000000 (0x3F800000)
_21 = 0.000000 (0x00000000)
_31 = 0.000000 (0x00000000)
_41 = 0.000000 (0x00000000)
_12 = 0.000000 (0x00000000)
_22 = 0.866025 (0x3F5DB3D7)
_32 = 0.500000 (0x3F000000)
_42 = 0.000000 (0x00000000)
_13 = 0.000000 (0x00000000)
_23 = -0.500000 (0xBF000000)
_33 = 0.866025 (0x3F5DB3D7)
_43 = 0.000000 (0x00000000)
_14 = 300.000000 (0x43960000)
_24 = 118.382507 (0x42ECC3D8)
_34 = 214.570450 (0x43569209)
_44 = 1.000000 (0x3F800000)
_data = [16]
1.000000 (0x3F800000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.866025 (0x3F5DB3D7)
0.500000 (0x3F000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
-0.500000 (0xBF000000)
0.866025 (0x3F5DB3D7)
0.000000 (0x00000000) ...
_data2d = [4]
[4] { 1.000000 (0x3F800000), 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), 0.866025 (0x3F5DB3D7), 0.500000 (0x3F000000), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), -0.500000 (0xBF000000), 0.866025 (0x3F5DB3D7), 0.000000 (0x00000000) }
[4] { 300.000000 (0x43960000), 118.382507 (0x42ECC3D8), 214.570450 (0x43569209), 1.000000 (0x3F800000) }
m_ProjMat =
_11 = 4.721337 (0x40971531)
_21 = 0.000000 (0x00000000)
_31 = 0.000000 (0x00000000)
_41 = 0.000000 (0x00000000)
_12 = 0.000000 (0x00000000)
_22 = 5.671282 (0x40B57B24)
_32 = 0.000000 (0x00000000)
_42 = 0.000000 (0x00000000)
_13 = 0.000000 (0x00000000)
_23 = 0.000000 (0x00000000)
_33 = 1.007843 (0x3F810101)
_43 = 1.000000 (0x3F800000)
_14 = 0.000000 (0x00000000)
_24 = 0.000000 (0x00000000)
_34 = -32.125492 (0xC2008081)
_44 = 0.000000 (0x00000000)
_data = [16]
4.721337 (0x40971531)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
5.671282 (0x40B57B24)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
1.007843 (0x3F810101)
1.000000 (0x3F800000) ...
_data2d = [4]
[4] { 4.721337 (0x40971531), 0.000000 (0x00000000), 0.000000 (0x00000000), (too much output; skipping to next top-level symbol) }
[4] { 0.000000 (0x00000000), 5.671282 (0x40B57B24), 0.000000 (0x00000000), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), 0.000000 (0x00000000), 1.007843 (0x3F810101), 1.000000 (0x3F800000) }
[4] { 0.000000 (0x00000000), 0.000000 (0x00000000), -32.125492 (0xC2008081), 0.000000 (0x00000000) }
m_NearPlane = 16.000000 (0x41800000)
m_FarPlane = 4096.000000 (0x45800000)
m_FOV = 0.349066 (0x3EB2B8C2)
m_ViewPort =
m_X = 0 (0x00000000)
m_Y = 0 (0x00000000)
m_Width = 812 (0x0000032C)
m_Height = 679 (0x000002A7)
m_ViewFrustum =
m_aPlanes = [10]
m_Norm =
X = -4.721337 (0xC0971531)
Y = -0.500000 (0xBF000000)
Z = 0.866025 (0x3F5DB3D7)
m_Dist = 1289.768799 (0x44A1389A)
m_Norm =
X = 4.721337 (0x40971531)
Y = -0.500000 (0xBF000000)
Z = 0.866025 (0x3F5DB3D7)
m_Dist = -1543.033203 (0xC4C0E110)
m_Norm =
X = 0.000000 (0x00000000)
Y = 4.411474 (0x408D2ACC)
Z = 3.701666 (0x406CE81A)
m_Dist = -1316.509521 (0xC4A4904E)
m_Norm =
X = 0.000000 (0x00000000)
Y = -5.411474 (0xC0AD2ACC)
Z = -1.969615 (0xBFFC1C5C)
m_Dist = 1063.245117 (0x4484E7D8)
m_Norm =
X = 0.000000 (0x00000000)
Y = 0.003922 (0x3B808080)
Z = -0.006792 (0xBBDE9280)
m_Dist = 33.118683 (0x42047988)
m_Norm =
X = 0.000000 (0x00000000)
Y = -1.003922 (0xBF808080)
Z = 1.738843 (0x3FDE926A)
m_Dist = -286.383087 (0xC38F3109)
m_Norm =
X = 0.000000 (0x00000000)
Y = 0.000000 (0x00000000)
Z = 0.000000 (0x00000000)
m_Dist = 0.000000 (0x00000000)
m_Norm =
X = 0.000000 (0x00000000)
Y = 0.000000 (0x00000000)
Z = 0.000000 (0x00000000)
m_Dist = 0.000000 (0x00000000)
...
m_NumPlanes = 6 (0x00000006)
pCinema = 0x01400438 ->
m_Active = true
m_DrawCurrentSpline = false
m_DrawLines = false
m_ValidCurrent = false
m_CurrentPath = (error -100406 while analyzing _Tree<<CStrW,CCinemaPath>::iterator)
m_Paths = (error -100500 while analyzing map<CStrW,CCinemaPath >)
m_PathQueue = (error -100500 while analyzing list<CCinemaPath >)
pSimulation2 = 0x013E4B50 ->
m = 0x013EA790 ->
m_SimContext =
m_ComponentManager = 0x013EA7A0 ->
m_ScriptInterface =
m = (error -100406 while analyzing auto_ptr<ScriptInterface_impl>)
m_SimContext = 0x013EA790 (see above)
m_CurrentComponent = 0 (0x00000000)
m_CurrentlyHotloading = false
m_ComponentTypesById = (error -100500 while analyzing map<int,CComponentManager::ComponentType >)
m_ComponentsByInterface = (error -100500 while analyzing vector<boost::unordered_map<size_t,IComponent *,boost::hash<size_t>,equal_to<size_t> > >)
m_ComponentsByTypeId = (error -100500 while analyzing map<int,map<size_t,IComponent * > >)
m_LocalMessageSubscriptions = (error -100500 while analyzing map<int,vector<int > >)
m_GlobalMessageSubscriptions = (error -100500 while analyzing map<int,vector<int > >)
m_ComponentTypeIdsByName = (error -100500 while analyzing map<string >,int >)
m_MessageTypeIdsByName = (error -100500 while analyzing map<string >,int >)
m_MessageTypeNamesById = (error -100500 while analyzing map<int,string > >)
m_InterfaceIdsByName = (error -100500 while analyzing map<string >,int >)
m_DestructionQueue = (error -100500 while analyzing vector<size_t >)
m_NextScriptComponentTypeId = 70 (0x00000046)
m_NextEntityId = 11 (0x0000000B)
m_NextLocalEntityId = 536870912 (0x20000000)
m_RNG =
lcf =
_x = 78606 (0x000000000001330E)
m_UnitManager = 0x01430120 ->
m_Units = (error -100500 while analyzing vector<CUnit * >)
m_ObjectManager = 0x014000A4 ->
m_MeshManager = 0x0140005C ->
m_MeshMap =
table_ =
buckets_ = 0x00000000
bucket_count_ = 11 (0x0000000B)
allocators_ =
(error -100500 while analyzing )
(error -100500 while analyzing )
current_ = false
funcs_ = [2] { { data_ = { buf = [1] { [8] { 0, 0, 0, 0, 0, 0, 0, 0 } }, align_ =
t0 = [8] { 0, 0, 0, (too much output; skipping to next top-level symbol), }
t1 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t2 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t3 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t4 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t5 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t6 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t7 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t8 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t9 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t10 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t11 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t12 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t13 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t14 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t15 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t16 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t17 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t18 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t19 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t20 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t21 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t22 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t23 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
} }, { data_ = { buf = [1] { [8] { 0, 0, 0, 0, 0, 0, 0, 0 } }, align_ =
t0 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t1 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t2 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t3 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t4 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t5 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t6 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t7 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t8 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t9 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t10 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t11 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t12 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t13 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t14 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t15 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t16 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t17 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t18 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t19 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t20 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t21 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t22 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t23 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
} } }
size_ = 0 (0x00000000)
mlf_ = 1.000000 (0x3F800000)
cached_begin_bucket_ = 0x00000000
max_load_ = 0 (0x00000000)
m_ColladaManager = 0x01400058 ->
m = 0x01439218 ->
dll =
m_Name = 0x005F888C -> "Collada"
m_Handle = 0x00000000
set_logger = 0x00000014
set_skeleton_definitions = 0x00000019
convert_dae_to_pmd = 0x0000001A
convert_dae_to_psa = 0x0000001C
m_SkeletonAnimManager = 0x01400080 ->
m_Animations =
table_ =
buckets_ = 0x00000000
bucket_count_ = 11 (0x0000000B)
allocators_ =
(error -100500 while analyzing )
(error -100500 while analyzing )
current_ = false
funcs_ = [2] { { data_ = { buf = [1] { [8] { 0, 0, 0, 0, 0, 0, 0, 0 } }, align_ =
t0 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t1 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t2 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t3 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t4 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t5 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t6 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t7 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t8 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t9 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t10 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t11 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t12 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t13 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t14 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t15 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t16 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t17 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t18 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t19 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t20 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t21 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t22 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t23 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
} }, { data_ = { buf = [1] { [8] { 0, 0, 0, 0, 0, 0, 0, 0 } }, align_ =
t0 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t1 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t2 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t3 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t4 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t5 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t6 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t7 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t8 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t9 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t10 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t11 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t12 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t13 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t14 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t15 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t16 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t17 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t18 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t19 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t20 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t21 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t22 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
t23 = [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
} } }
size_ = 0 (0x00000000)
mlf_ = 1.000000 (0x3F800000)
cached_begin_bucket_ = 0x00000000
max_load_ = 0 (0x00000000)
m_ColladaManager = 0x01400058 (see above)
m_Simulation = 0x013E4B50 (see above)
m_Objects = (error -100500 while analyzing map<CObjectManager::ObjectKey,CObjectEntry * >)
m_ObjectBases = (error -100500 while analyzing map<CStrW,CObjectBase * >)
m_Terrain = 0x0143BDD0 (see above)
m_ComponentManager =
m_ScriptInterface =
m = (error -100406 while analyzing auto_ptr<ScriptInterface_impl>)
m_SimContext = 0x013EA790 (see above)
m_CurrentComponent = 0 (0x00000000)
m_CurrentlyHotloading = false
m_ComponentTypesById = (error -100500 while analyzing map<int,CComponentManager::ComponentType >)
m_ComponentsByInterface = (error -100500 while analyzing vector<boost::unordered_map<size_t,IComponent *,boost::hash<size_t>,equal_to<size_t> > >)
m_ComponentsByTypeId = (error -100500 while analyzing map<int,map<size_t,IComponent * > >)
m_LocalMessageSubscriptions = (error -100500 while analyzing map<int,vector<int > >)
m_GlobalMessageSubscriptions = (error -100500 while analyzing map<int,vector<int > >)
m_ComponentTypeIdsByName = (error -100500 while analyzing map<string >,int >)
m_MessageTypeIdsByName = (error -100500 while analyzing map<string >,int >)
m_MessageTypeNamesById = (error -100500 while analyzing map<int,string > >)
m_InterfaceIdsByName = (error -100500 while analyzing map<string >,int >)
m_DestructionQueue = (error -100500 while analyzing vector<size_t >)
m_NextScriptComponentTypeId = 70 (0x00000046)
m_NextEntityId = 11 (0x0000000B)
m_NextLocalEntityId = 536870912 (0x20000000)
m_RNG =
lcf =
_x = 78606 (0x000000000001330E)
m_DeltaTime = 0 (0x0000000000000000)
m_LastFrameOffset = 1.000000 (0x3F800000)
m_StartupScript = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
m_MapSettings =
m_Val =
px = 0x133D88D0 -> -281444620208296 (0xFFFF000711637758)
pn =
pi_ = 0x133B21C8 ->
use_count_ = 1 (0x00000001)
weak_count_ = 1 (0x00000001)
m_LoadedScripts = (error -100500 while analyzing set<Path >)
m_TurnNumber = 0 (0x00000000)
m_EnableOOSLog = false
pathnameXML =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 2624
packer =
m_writeBuffer =
m_capacity = 370872320 (0x161B1000)
m_data =
px = 0x133B2848 (see above)
pn =
pi_ = 0x000A0427 ->
use_count_ = (unavailable - internal error)
weak_count_ = (unavailable - internal error)
m_size = 20211980 (0x0134690C)
AtlasMessage::fSaveMap (maphandlers.cpp:132)
msg = 0x1339B518 ->
(AtlasMessage::IMessage)
filename =
buf = 0x13283A88 -> "test2.pmp"
length = 10 (0x0000000A)
pathname =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 2768
writer =
(CMapIO)
AtlasMessage::fSaveMap_wrapper (maphandlers.cpp:123)
msg = 0x1339B518 (see above)
BeginAtlas (gameloop.cpp:211)
args = 0x0012FE04 ->
m_Args = (error -100500 while analyzing vector<pair<CStr8,CStr8> >)
m_Arg0 =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 0, 267, 23703, 267, 24, 0, 23718, 267 }
dll = 0x784851C5 ->
m_Name = 0x83C3C959 -> (unavailable - internal error)
m_Handle = 0xD233FFC8
hooks =
override_gl_upload_caps = 0x01345728 ->
get_log_dir = 0x00000001
bundle_logs = 0x00000000
translate = 0x00516012 -> (CmdLineArgs::Has)
translate_free = 0x01353BD8 ->
log = 0x00000008
display_error = 0x00000000
uiThread = 6869328 (0x0068D150)
msgPasser =
(AtlasMessage::MessagePasser)
m_Mutex =
m_Mutex = 0x00000000
m_SemaphoreName = { (error -100500 while analyzing string >) }
m_Semaphore = 0x7C910041 -> 2215624836 (0x840FC084)
m_Queue = (error -100500 while analyzing queue<AtlasMessage::IMessage *,deque<AtlasMessage::IMessage * > >)
m_Trace = (bool)0x20
paths =
m_root =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 32752
m_rdata =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 28032
m_data =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 32672
m_config =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_cache =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 23912
m_logs =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 47 ('/')
last_activity = 1.24693e-303 (0x010B5D0000000001)
recent_activity = false
time = 7.36102e+223 (0x6E6974740070614D)
ev =
ev =
type = 26 (0x1A)
active = { type = 26 (0x1A), gain = 0 (0x00), state = 0 (0x00) }
key =
type = 26 (0x1A)
keysym = { sym = 31, unicode = 22360 (0x5758) }
motion = { type = 26 (0x1A), x = 0 (0x0000), y = 31 (0x001F) }
button =
type = 26 (0x1A)
button = 0 (0x00)
state = 0 (0x00)
x = 31 (0x001F)
y = 0 (0x0000)
resize = { type = 26 (0x1A), w = 31 (0x0000001F), h = 20207448 (0x01345758) }
expose = { type = 26 (0x1A) }
quit = { type = 26 (0x1A) }
user = { type = 26 (0x1A), code = 31 (0x0000001F), data1 = 0x01345758 }
length = 0.000000 (0x00007367)
last_time = 9.27 (0x40228A3D70A3D70A)
name = (error -100500 while analyzing string >)
sleepUntil = 7.36102e+223 (0x6E6974740070614D)
ATLAS_RunIfOnCmdLine (atlas.cpp:77)
args = 0x0012FD4C ->
m_Args = (error -100500 while analyzing vector<pair<CStr8,CStr8> >)
m_Arg0 =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 0, 23728, 267, 0, 0, 23696, 267 }
force = false
RunGameOrAtlas (main.cpp:437)
argc = 2 (0x00000002)
argv = 0x010B7FE8 -> 0x010B5CF0 -> "pyrogenesis.exe"
args =
m_Args = (error -100500 while analyzing vector<pair<CStr8,CStr8> >)
m_Arg0 =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 23728
paths =
m_root =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 65068
m_rdata =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 23703
m_data =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_config =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_cache =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 65204
m_logs =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 3240
replay =
m_Stream = 0x7C9100C4 -> (error -100406 while analyzing basic_istream<char,char_traits<char> >)
mod =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 65128
zip =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
paths =
m_root =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 65068
m_rdata =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 23703
m_data =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_config =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_cache =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 65204
m_logs =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 3240
builder =
m_VFS =
px = 0x00000000
pn =
pi_ = 0x00000020
m_Files = (error -100500 while analyzing vector<Path >)
m_TempDir =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 7
main (main.cpp:511)
argc = 2 (0x00000002)
argv = 0x010B7FE8 (see above)
wmain (wseh.cpp:380)
argc = 2 (0x00000002)
argv = 0x010B5AD8 -> 0x010B5AE4 -> "pyrogenesis.exe"
utf8_argv = (error -100500 while analyzing vector<char * >)
ret = 6598816 (0x0064B0A0)
utf8 = (error -100500 while analyzing string >)
__tmainCRTStartup (crtexe.c:583)
nested = 3859516104 (0xE60B8AC8)
CallStartupWithinTryBlock (wseh.cpp:397)
ret = 141340693 (0x086CB015)
RegisterWaitForInputIdle (:0)
errno = 0 (?)
OS error = 0 (no error code was set)
I can "Continue" past it, and it appears a second time, then the files is eventually saved and everything works, so it doesn't seem to be a serious problem in that sense. Should probably be fixed anyway though :) |
|||
| #851 | worksforme | Error 404 after donation | ||
| Description |
After I made a donation with PayPal I got this error message: The requested URL /0ad/success.php was not found on this server. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. |
|||
| #852 | fixed | JuBot units build up interrupts resources to Civ Centre | ||
| Description |
JuBot is getting really good and quick. But while it's quick to build groups of various types, it's really bad to rally them away from the buildings. That sometimes leads to a blockade of resources coming in. See attached image. |
|||
| #853 | fixed | JuBot builds new Civ Centres out of sight in Shroud-of-Darkness | ||
| Description |
This one ain't seen before. JuBot places 62 new Civ Centres sites within minutes and on the same spot, near original. Happened after loosing everything besides 2 women and a horse unit, which was placed inside Shroud-of-Darkness from building site. There was no buildings or JuBot units left besides the 3. Have a screenshot of game summary showing 63 enemy Civ Centres destroyed. |
|||
| #854 | invalid | Javelinist throw missiles backward | ||
| Description |
When they fight Javelinists throw missiles backward (the spear point to the back) to seet it : launch atlas, switch to the actor viewer and select celt_infantry_javelinist, Animation=melee and Play. |
|||
| #855 | fixed | Unused files in windows installer? | ||
| Description |
I installed 0ad alpha 4 for Windows on a friend PC and noticed that it install some files which appears to be unused by the game. Some examples: avcodec-51.dll avformat-51.dll avutil-49.dll FColladaD.dll (debug version, but standard version is already included) mozjs-ps-debug.dll (ditto) msvc* (many versions) and possibly others. Maybe something can be removed. |
|||
| #856 | fixed | [PATCH] Serengeti tree bug fix | ||
| Description |
Serengeti map contains a tree owned by player 1. |
|||
| #857 | fixed | [PATCH] Sahel Watering Holes - PlayerData / civilisation bug fix | ||
| Description |
Playerdata in Sahel Watering Holes claim 4 times "hele", while player 3 and 4 have "celt" units and building. This prevents the AI from building units and structures. |
|||
| #858 | fixed | Remove old simulation code | ||
| Description |
We have two simulation directories in the game's source code, |
|||
| #859 | fixed | [PATCH] Control groups don't recognise promotions | ||
| Description |
When a unit gets promoted after collecting enough XP, it gets dropped from any control groups it was assigned to. Probably need to have |
|||
| #860 | fixed | Crash upon exiting the game | ||
| Description |
Operating System : Debian GNU/Linux 6.0.1 Kernel : Linux 2.6.32-5-amd64 (x86_64) C Library : GNU C Library version 2.11.2 (stable) Default C Compiler: GNU C Compiler version 4.4.5 (Debian 4.4.5-8) Processor : 4x Intel(R) Core(TM) i5 CPU 750 @ 2.67GHz Memory : 2025MB (1445MB used) OpenGL Renderer : GeForce GTS 250/PCI/SSE2 Resolution : 1920x1080 pixels h_mgr.cpp(659): Function call failed: return value was -100022 (Invalid handle)
Function call failed: return value was -100022 (Invalid handle)
Location: h_mgr.cpp:659 (h_free)
Call stack:
(0x7013bd) ./pyrogenesis() [0x7013bd]
(0x6aa114) ./pyrogenesis() [0x6aa114]
(0x6aa816) ./pyrogenesis() [0x6aa816]
(0x6aa999) ./pyrogenesis() [0x6aa999]
(0x6d13a4) ./pyrogenesis() [0x6d13a4]
(0x6d3499) ./pyrogenesis() [0x6d3499]
(0x6d0b5d) ./pyrogenesis() [0x6d0b5d]
(0x6d0ddf) ./pyrogenesis() [0x6d0ddf]
(0x708303) ./pyrogenesis() [0x708303]
(0x513186) ./pyrogenesis() [0x513186]
(0x414df5) ./pyrogenesis() [0x414df5]
(0x415b13) ./pyrogenesis() [0x415b13]
(0x7f58d18efc4d) /lib/libc.so.6(__libc_start_main+0xfd) [0x7f58d18efc4d]
(0x4134c9) ./pyrogenesis() [0x4134c9]
errno = 0 (?)
OS error = ?
0x00007f58d197178d in nanosleep () at ../sysdeps/unix/syscall-template.S:82
82 ../sysdeps/unix/syscall-template.S: Ingen slik fil eller filkatalog.
in ../sysdeps/unix/syscall-template.S
(gdb) bt
#0 0x00007f58d197178d in nanosleep () at ../sysdeps/unix/syscall-template.S:82
#1 0x00007f58d1971600 in __sleep (seconds=<value optimized out>)
at ../sysdeps/unix/sysv/linux/sleep.c:138
#2 0x0000000000705ad9 in udbg_launch_debugger ()
at ../../../source/lib/sysdep/os/unix/udbg.cpp:76
#3 0x0000000000706b23 in try_gui_display_error (text=<value optimized out>,
manual_break=<value optimized out>, allow_suppress=true, no_continue=false)
at ../../../source/lib/sysdep/os/unix/unix.cpp:173
#4 0x0000000000706c7c in sys_display_error (
text=0x7f58cb61f000 L"Function call failed: return value was -100022 (Invalid handle)\r\nLocation: h_mgr.cpp:659 (h_free)\r\n\r\nCall stack:\r\n\r\n(0x7013bd) ./pyrogenesis() [0x7013bd]\n(0x6aa114) ./pyrogenesis() [0x6aa114]\n(0x6aa81"..., flags=<value optimized out>)
at ../../../source/lib/sysdep/os/unix/unix.cpp:214
#5 0x00000000006aa82c in debug_DisplayError (
description=<value optimized out>, flags=6,
lastFuncToSkip=<value optimized out>, pathname=<value optimized out>,
line=659, func=<value optimized out>, suppress=0xa0cf08,
context=<value optimized out>) at ../../../source/lib/debug.cpp:466
#6 0x00000000006aa999 in debug_OnError (err=-100022, suppress=0xa0cf08,
file=0x76c318 L"../../../source/lib/res/h_mgr.cpp", line=659,
func=0x76c8f6 "h_free") at ../../../source/lib/debug.cpp:541
#7 0x00000000006d13a4 in h_free (h=@0x7f5881fd7c10, type=0x9fee60)
---Type <return> to continue, or q <return> to quit---
at ../../../source/lib/res/h_mgr.cpp:659
#8 0x00000000006d3499 in GLCursor::destroy (c=0x7f5881fd7c00)
at ../../../source/lib/res/graphics/cursor.cpp:110
#9 Cursor_dtor (c=0x7f5881fd7c00)
at ../../../source/lib/res/graphics/cursor.cpp:178
#10 0x00000000006d0b5d in h_free_idx (idx=646, hd=0x7f5881fd7bd0)
at ../../../source/lib/res/h_mgr.cpp:615
#11 0x00000000006d0ddf in Shutdown () at ../../../source/lib/res/h_mgr.cpp:840
#12 0x0000000000708303 in ModuleShutdown (initState=0xa07cb8,
shutdown=0x6d0d20 <Shutdown>) at ../../../source/lib/module_init.cpp:71
#13 0x0000000000513186 in Shutdown ()
at ../../../source/ps/GameSetup/GameSetup.cpp:657
#14 0x0000000000414df5 in RunGameOrAtlas (argc=<value optimized out>,
argv=<value optimized out>) at ../../../source/main.cpp:493
#15 0x0000000000415b13 in main (argc=1, argv=0x7fff3d752d38)
at ../../../source/main.cpp:511
Current language: auto
The current source language is "auto; currently asm".
|
|||
| #861 | wontfix | Music on new website does not play on IE7 | ||
| Description |
Quite some time ago, it was brought to my attention that the following page did not work correctly on IE: http://wildfiregames.com/wordpress/media/music/. It turns out that Windows needs the Ogg Vorbis codec installed in order for IE/WMP to play the music. Instructions here: http://social.msdn.microsoft.com/Forums/en-US/windowspro-audiodevelopment/thread/439dbc92-fdc7-4744-9e5b-c68fa8aaad87. I'll try it when I get some free time. We should auto-detect IE and prompt them with instructions of some sort. |
|||
| #862 | needsinfo | [NEEDS INFO] Max pop limit gets raised when unit with more than 1 pop is created | ||
| Description |
(9:43:18 PM) erik_feneur: hmmm, seems like there's a housing bug somewhere. when I have less pop left than necessary for a unit, but haven't filled up the limit it gets raised when the unit is created. (9:43:18 PM) erik_feneur: eg if I have 232 max pop, but units fill up to 230, then a 4 pop unit is created and the max is raised to 234 automagically I'll try and reproduce it and write a better description/title tomorrow, but I just wanted to post this so I wouldn't forget about it. |
|||
| #863 | fixed | When changing player the old one is "Unassigned" rather than "JuBot" | ||
| Description |
If "You" are assigned to "Player 1" and then select "You" on "Player 2", "Player 1" is then reassigned to "Unassigned". Since "JuBot" is the default AI, "Player 1" should use it. |
|||
| #864 | fixed | Upgrade Windows libraries | ||
| Description |
Currently the Windows build uses precompiled libraries, some of which were built with VC6, some with VC2005 (mozjs zlib1 nvtt jpeg-6b libpng zlib1 libcurl enet). Two problems:
It might be nice to rebuild the libraries with their latest versions, and the latest compiler (VC2010 unless you're reading this in the future) which hopefully doesn't have the manifest problems. Need to make sure that the libraries are still compatible with the oldest compiler version that we want the game to support (currently probably VC2008; upgrading everyone and everything to VC2010 would be nice but will not be trivial). |
|||
| #865 | fixed | Stances | ||
| Description |
I tried to implement stances recently. I give up for a few days as I've got boring school work to do.. I tried to match those requirements : http://www.wildfiregames.com/forum/index.php?showtopic=13725 so, I just attach a patch. If you have time, and a better way to do theses things, please comment. |
|||
| #866 | fixed | Error during compiling on Mac OS X | ||
| Description |
% make CONFIG=Release Building mocks_realmake[1]: `../../../binaries/system/libmocks_real.a' is up to date. Building networkmake[1]: `../../../binaries/system/libnetwork.a' is up to date. Building simulation2Simulation2.cpp In file included from ../../../libraries/spidermonkey-tip/include-unix/release/js/jspubtd.h:47,
../../../libraries/spidermonkey-tip/include-unix/release/js/jsval.h:154: warning: redundant redeclaration of ‘void js_static_assert(int*)’ in same scope ../../../libraries/spidermonkey-tip/include-unix/release/js/jsval.h:120: warning: previous declaration of ‘void js_static_assert(int*)’ ../../../libraries/spidermonkey-tip/include-unix/release/js/jsval.h:168: warning: redundant redeclaration of ‘void js_static_assert(int*)’ in same scope ../../../libraries/spidermonkey-tip/include-unix/release/js/jsval.h:154: warning: previous declaration of ‘void js_static_assert(int*)’ In file included from ../../../source/ps/Filesystem.h:22,
../../../source/lib/file/io/io.h: In function ‘Status io::Store(const OsPath&, const void*, size_t, const io::Parameters&, const CompletedHook&, const IssueHook&)’: ../../../source/lib/file/io/io.h:287: error: ‘O_DIRECT’ was not declared in this scope ../../../source/lib/file/io/io.h: In function ‘Status io::Load(const OsPath&, void*, size_t, const io::Parameters&, const CompletedHook&, const IssueHook&)’: ../../../source/lib/file/io/io.h:326: error: ‘O_DIRECT’ was not declared in this scope make[1]: * [obj/simulation2_Release/Simulation2.o] Error 1 make: * [simulation2] Error 2 |
|||
| #867 | fixed | Shadows flicker | ||
| Description |
I've noticed that the shadows tend to flicker now. This occurs on both my laptop and desktop. The laptop uses a mobile nvidia card and my desktop uses an ati Radeon card, so it does not appear to be graphics card-specific. Both use Windows 7 64-bit however. I notice no other graphical issues in either case, just the flickering shadows. When I say "flickering" I mean the shadows turn off and on in rapid succession. There is not a consistent interval to this either. |
|||
| #868 | fixed | [PATCH] Move wxWidgets Unix config files to XDG basedir location | ||
| Description |
Atlas uses |
|||
| #869 | fixed | Handle or prevent invalid player IDs in scenarios | ||
| Description |
It's possible to place units in Atlas for up to 8 players, but if the number of players is changed (either by manually editing the XML or with the player editor) then some units may have invalid player IDs. This causes errors when the scenario is loaded. Part of the problem can be addressed in Atlas itself, perhaps not saving units that are not assigned to a valid player. Or the player can be notified with a message "Player X has units assigned which will be lost. Continue?" It can also be solved by the map reader, e.g. not adding entities that have invalid player IDs. Otherwise the game logic fails unpredictably. |
|||
| #870 | fixed | Mac OS X binary on http://wildfiregames.com/0ad/ | ||
| Description |
There are currently a Mac OS X build of 0ad alpha 5 on: http://ciderhouse.opal.ne.jp/wp/english/zeroad and http://mac.softpedia.com/get/Games/0-A-D.shtml available (source: http://www.wildfiregames.com/forum/index.php?showtopic=14764) Please copy this link(s) to: http://trac.wildfiregames.com/wiki/LatestReleaseMac |
|||
| #871 | fixed | upgrade Trac | ||
| Description |
Currently there is Trac 1.0.1 installed. |
|||
| #872 | fixed | [PATCH] Display more info for training units | ||
| Description |
This patch displays more information in tooltip for units that is possible to train. Show additionaly those traits:
I think it could be useful (especialy for new players) to have more information about each unit you can train. |
|||
| #873 | fixed | [PATCH] Population Bonus on new line | ||
| Description |
In construction tooltip is not population bonus on new line as all others attributes everywhere else. This patch fix it. |
|||
| #874 | fixed | Make player settings clearer for Atlas RMS | ||
| Description |
Currently the "Random map" part of the Map section in Atlas doesn't indicate how to control the number of players (and their civs etc) that will be used when generating the map, and it's unintuitive that you have to switch to the Player section and edit the current map's settings to control it. Maybe it would be sufficient for the "Random map" area to have a "Edit players" button that simply switches to the Player section (like the toolbar button) so people might be able to figure out they're linked, or some descriptive text, or something like that. |
|||
| #875 | fixed | Out of memory errors should work nicer | ||
| Description |
See http://www.wildfiregames.com/forum/index.php?showtopic=14859 We should show them a warning in game about out of memory, not just in the logs. |
|||
| #876 | fixed | [PATCH] Make CInput caret more visible | ||
| Description |
Currently the caret (data entry point) for CInput is a small line that is drawn under the character position to the right of the current insert point. A flashing vertical line would be ideal and is standard practice. At a minimum we need to thicken up the line or do something to make it more visible. This becomes more important as we start to use CInput for things like in game messaging. The blinking cursor would provide an indication that the input area is active and make it clear where you are in the text box. |
|||
| #877 | invalid | Scroll bar bug in CInput | ||
| Description |
There is a bug in the CInput vertical scroll bar handling logic. If you enter enough text to cause the vertical scroll bar to appear, pressing the down arrow button on the scroll bar (scroll up) will cause the application to fail with an out of bounds exception. You can test this on the feedback window that appears on the main menu screen. |
|||
| #878 | fixed | Garrisoned prop point error on Iberian civil centre | ||
| Description |
To reproduce, play any map with an Iberian civil centre and delete or destroy it. You get the following error: ERROR: Failed to find matching prop point called "garrisoned" in model "art/meshes/structural/iber_civic_centre.dae" for actor "civil_centre" Edit: Also occurs when garrisoning units in the civil centre. |
|||
| #879 | fixed | Disable FoW for AI players | ||
| Description |
r9657 made |
|||
| #880 | fixed | [PATCH] Fix unit selection cheat | ||
| Description |
As reported on the forum, it's possible to add enemy units to a selection of your own units, and thus control them (make them build things for you, attack themselves, etc.) This patch adds two checks to prevent this: one is in the GUI so it's not actually possible to add enemy units to your selection, but this is not foolproof. The other check is in the simulation code (Commands.js), which filters out the list of selected entities according to the player's ownership. The patch also tests the state of the "Control all units" dev command, so it's still possible to use that for testing. |
|||
| #881 | duplicate | Fix pathing mismatches between different path finding algorithms | ||
| Description |
This ticket was created as a result of ticket #829. Units were getting stuck because of differences between the long and short pathfinder obstacle detection thresholds. A fix/hack was put into CCmpUnitMotion to compensate for this difference. This fixed the units getting stuck problem in most cases. Now we need to make the long and short path finders agree about passable/impassable more closely so that we get better paths and have less chance of getting stuck. The problem is described in detail here: http://www.wildfiregames.com/forum/index.php?showtopic=14883 Philip describes two possible solutions in the forum post above. We need to implement both of these and see which one plays the best and causes the least amount of code friction. |
|||
| #882 | fixed | Test failure | ||
| Description |
With current r9713 on Ubuntu 11.04: Running 251 tests........................................................................ERROR: JavaScript error: simulation/components/UnitAI.js line 1413 TypeError: cmpOwnership is null (1)@simulation/components/UnitAI.js:1413 TestFormationExiting(0)@simulation/components/tests/test_UnitAI.js:81 ()@simulation/components/tests/test_UnitAI.js:133 In TestComponentScripts::test_scripts: ../../../source/pch/test/../../../source/simulation2/components/tests/test_scripts.h:44: Error: Test failed: L"Running script simulation/components/tests/test_UnitAI.js" ../../../source/pch/test/../../../source/simulation2/components/tests/test_scripts.h:44: Error: Assertion failed: scriptInterface.LoadScript(pathname, wcontent) .................................................................................................................................................................................. Failed 1 of 251 tests Success rate: 99% |
|||
| #883 | fixed | Scenarios - missing template errors | ||
| Description |
Think this is all, but might as well do a regexp search too. Acropolis: ERROR: Failed to find file: "simulation/templates/units/hele_super_ranged_polis.xml" ERROR: Failed to find file: "simulation/templates/other/thebes_sacred_band_hoplitai.xml" Miletus: ERROR: Failed to find file: "simulation/templates/other/sparta_hellenistic_phalangitai.xml" ERROR: Failed to find file: "simulation/templates/other/thebes_sacred_band_hoplitai.xml" Necropolis: ERROR: Failed to find file: "simulation/templates/other/thebes_sacred_band_hoplitai.xml" Saharan Oases: ERROR: Failed to find file: "simulation/templates/other/thebes_sacred_band_hoplitai.xml" The Massacre of Delphi: ERROR: Failed to find file: "simulation/templates/other/thebes_sacred_band_hoplitai.xml" |
|||
| #884 | wontfix | VC2008 Express test failures | ||
| Description |
This test fails with the following output: c:\users\ben\devel\ps\source\scriptinterface\tests\../../../source/scriptinterface/tests/test_ScriptInterface.h(141): Error: Expected (std::wstring(script.ToString(val.get())) == std::wstring(L"({x:1, z:[2, \"3\\u263A\\uFFFD\"], y:true})")), found (L"({x:1, z:[2, \"3\\u263A\\uFFFD\\uFFFD\\uFFFD\"], y:true})" != L"({x:1, z:[2, \"3\\u263A\\uFFFD\"], y:true})")
There are also program errors (three if you keep pressing continue): #1: Function call failed: return value was -100703 (Invalid UTF-8 sequence)
Location: utf8.cpp:84 (RaiseError)
Call stack:
RaiseError (utf8.cpp:84)
err = -100703 (0xFFFFFFFFFFFE76A1)
perr = (unavailable)
UTF8Codec::Decode (utf8.cpp:134)
srcPos = 0x0030F92C -> 0x001EF4EE -> [8] { 160 (0xA0), 128 (0x80), 34 (0x22), 10 (0x0A), 32 (0x20), 32 (0x20), 93 (0x5D), 44 (0x2C) }
srcEnd = 0x001EF504 -> [8] { 0 (0x00), 240 (0xF0), 173 (0xAD), 186 (0xBA), 171 (0xAB), 171 (0xAB), 171 (0xAB), 171 (0xAB) }
err = 0x00000000
offsets = [5] { 0 (0x00000000), 0 (0x00000000), 12416 (0x00003080), 925824 (0x000E2080), 63447168 (0x03C82080) }
wstring_from_utf8 (utf8.cpp:237)
src = 0x0030FA4C -> (error -100500 while analyzing string >)
err = 0x00000000
srcPos = 0x00000001
ScriptInterface::ParseJSON (scriptinterface.cpp:897)
this = (unavailable)
string_utf8 = 0x0030FA4C (see above)
attrsW = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
string = (error -100500 while analyzing wstring<utf16_traits >)
vp = 8 (0x0000000000000008)
TestScriptInterface::test_json (test_scriptinterface.h:140)
this = (unavailable)
val =
m_Val =
px = 0x05E0B1B0 -> 7118796211726961984 (0x62CB0B700461CD40)
pn =
pi_ = 0x0030F998 ->
use_count_ = 2029312 (0x001EF700)
weak_count_ = 1955361129 (0x748C7169)
script =
m = (error -100406 while analyzing auto_ptr<ScriptInterface_impl>)
input = (error -100500 while analyzing string >)
stringified = (error -100500 while analyzing string >)
e = 0x0030F9B8 -> (error -100406 while analyzing exception)
e = 0x00000405
e = 0x001EDCA8 -> (error -100406 while analyzing exception)
CxxTest::RealTestDescription::run (realdescriptions.cpp:99)
this = (unavailable)
e = 0x0030FA84 -> (error -100406 while analyzing exception)
CxxTest::TestRunner::runTest (testrunner.h:77)
this = (unavailable)
td = 0x00D26FC4 ->
_next = 0x00000000
_prev = 0x00D26FA8 ->
_next = 0x00D26FC4 (see above)
_prev = 0x00D26F8C ->
_next = 0x00D26FA8 (see above)
_prev = 0x00D26F70 ->
_next = 0x00D26F8C (see above)
_prev = 0x00D26F54 ->
_next = 0x00D26F70 (see above)
_prev = 0x00D26F38 ->
_next = 0x00D26F54 (see above)
_prev = 0x00D26F1C ->
_next = 0x00D26F38 (see above)
_prev = 0x00D26F00 ->
_next = 0x00D26F1C (see above)
_prev = 0x00D26EE4 ->
_next = 0x00D26F00 (see above)
_prev = 0x00000000
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
sg =
_abortTestOnFail = false
_maxDumpSize = 3209980 (0x0030FAFC)
CxxTest::TestRunner::runSuite (testrunner.h:63)
this = (unavailable)
sd = 0x00D26EC0 ->
_next = 0x00D26FE8 ->
_next = 0x00D27030 ->
_next = 0x00D27078 ->
_next = 0x00D270DC ->
_next = 0x00D27140 ->
_next = 0x00D27190 ->
_next = 0x00D27224 ->
_next = 0x00D2726C ->
_next = 0x00D27538 ->
_next = 0x00D27668 ->
_next = 0x00D27814 ->
_next = 0x00D27878 ->
_next = 0x00D278F8 ->
_next = 0x00000000
_prev = 0x00D27878 (see above)
_active = true
_prev = 0x00D27814 (see above)
_active = true
_prev = 0x00D27668 (see above)
_active = true
_prev = 0x00D27538 (see above)
_active = true
_prev = 0x00D2726C (see above)
_active = true
_prev = 0x00D27224 (see above)
_active = true
_prev = 0x00D27190 (see above)
_active = true
_prev = 0x00D27140 (see above)
_active = true
_prev = 0x00D270DC (see above)
_active = true
_prev = 0x00D27078 (see above)
_active = true
_prev = 0x00D27030 (see above)
_active = true
_prev = 0x00D26FE8 (see above)
_active = true
_prev = 0x00D26EC0 (see above)
_active = true
_prev = 0x00D26E24 ->
_next = 0x00D26EC0 (see above)
_prev = 0x00D26CFC ->
_next = 0x00D26E24 (see above)
_prev = 0x00D26C28 ->
_next = 0x00D26CFC (see above)
_prev = 0x00D26BC4 ->
_next = 0x00D26C28 (see above)
(too much output; skipping to next top-level symbol)
_active = true
_active = true
_active = true
_active = true
sg =
_abortTestOnFail = false
_maxDumpSize = 3210048 (0x0030FB40)
CxxTest::PsTestRunner::runWorld (pstestwrapper.h:80)
this = (unavailable)
wd =
_next = 0x00000000
_prev = 0x00C45501 ->
_next = 0xC01BC82B ->
_next = (unavailable - internal error)
_prev = (unavailable - internal error)
_active = (unavailable - internal error)
_prev = 0xC823D0F7 ->
_next = (unavailable - internal error)
_prev = (unavailable - internal error)
_active = (unavailable - internal error)
_active = (bool)0x8B
_active = (bool)0x64
sg =
_abortTestOnFail = false
_maxDumpSize = 13393572 (0x00CC5EA4)
CxxTest::PsTestRunner::runAllTests (pstestwrapper.h:16707566)
listener = 0x00D2ABC8 -> (CxxTest::TestListener)
CxxTest::PsTestWrapper::runGui (pstestwrapper.h:96)
this = (unavailable)
argc = 0x0030FD50 -> 1 (0x00000001)
argv = 0x001E42C0 -> 0x001E42C8 -> "c:\Users\Ben\devel\ps\binaries\system\test.exe"
listener = 0x0030FBA0 -> (CxxTest::TestListener)
main (test_root.cpp:17)
argc = 1 (0x00000001)
argv = 0x001E42C0 (see above)
__tmainCRTStartup (crtexe.c:586)
nested = 4187511306 (0xF9985A0A)
BaseThreadInitThunk (:0)
RtlInitializeExceptionChain (:0)
RtlInitializeExceptionChain (:0)
errno = 0 (?)
OS error = 0 (no error code was set)
#2: Function call failed: return value was -100703 (Invalid UTF-8 sequence)
Location: utf8.cpp:84 (RaiseError)
Call stack:
RaiseError (utf8.cpp:84)
err = -100703 (0xFFFFFFFFFFFE76A1)
perr = (unavailable)
UTF8Codec::Decode (utf8.cpp:134)
srcPos = 0x0030F92C -> 0x001EF4EF -> [8] { 128 (0x80), 34 (0x22), 10 (0x0A), 32 (0x20), 32 (0x20), 93 (0x5D), 44 (0x2C), 10 (0x0A) }
srcEnd = 0x001EF504 -> [8] { 0 (0x00), 240 (0xF0), 173 (0xAD), 186 (0xBA), 171 (0xAB), 171 (0xAB), 171 (0xAB), 171 (0xAB) }
err = 0x00000000
offsets = [5] { 0 (0x00000000), 0 (0x00000000), 12416 (0x00003080), 925824 (0x000E2080), 63447168 (0x03C82080) }
wstring_from_utf8 (utf8.cpp:237)
src = 0x0030FA4C -> (error -100500 while analyzing string >)
err = 0x00000000
srcPos = 0x00000001
ScriptInterface::ParseJSON (scriptinterface.cpp:897)
this = (unavailable)
string_utf8 = 0x0030FA4C (see above)
attrsW = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
string = (error -100500 while analyzing wstring<utf16_traits >)
vp = 8 (0x0000000000000008)
TestScriptInterface::test_json (test_scriptinterface.h:140)
this = (unavailable)
val =
m_Val =
px = 0x05E0B1B0 -> 7118796211726961984 (0x62CB0B700461CD40)
pn =
pi_ = 0x0030F998 ->
use_count_ = 2029312 (0x001EF700)
weak_count_ = 1955361129 (0x748C7169)
script =
m = (error -100406 while analyzing auto_ptr<ScriptInterface_impl>)
input = (error -100500 while analyzing string >)
stringified = (error -100500 while analyzing string >)
e = 0x0030F9B8 -> (error -100406 while analyzing exception)
e = 0x00000405
e = 0x001EDCA8 -> (error -100406 while analyzing exception)
CxxTest::RealTestDescription::run (realdescriptions.cpp:99)
this = (unavailable)
e = 0x0030FA84 -> (error -100406 while analyzing exception)
CxxTest::TestRunner::runTest (testrunner.h:77)
this = (unavailable)
td = 0x00D26FC4 ->
_next = 0x00000000
_prev = 0x00D26FA8 ->
_next = 0x00D26FC4 (see above)
_prev = 0x00D26F8C ->
_next = 0x00D26FA8 (see above)
_prev = 0x00D26F70 ->
_next = 0x00D26F8C (see above)
_prev = 0x00D26F54 ->
_next = 0x00D26F70 (see above)
_prev = 0x00D26F38 ->
_next = 0x00D26F54 (see above)
_prev = 0x00D26F1C ->
_next = 0x00D26F38 (see above)
_prev = 0x00D26F00 ->
_next = 0x00D26F1C (see above)
_prev = 0x00D26EE4 ->
_next = 0x00D26F00 (see above)
_prev = 0x00000000
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
sg =
_abortTestOnFail = false
_maxDumpSize = 3209980 (0x0030FAFC)
CxxTest::TestRunner::runSuite (testrunner.h:63)
this = (unavailable)
sd = 0x00D26EC0 ->
_next = 0x00D26FE8 ->
_next = 0x00D27030 ->
_next = 0x00D27078 ->
_next = 0x00D270DC ->
_next = 0x00D27140 ->
_next = 0x00D27190 ->
_next = 0x00D27224 ->
_next = 0x00D2726C ->
_next = 0x00D27538 ->
_next = 0x00D27668 ->
_next = 0x00D27814 ->
_next = 0x00D27878 ->
_next = 0x00D278F8 ->
_next = 0x00000000
_prev = 0x00D27878 (see above)
_active = true
_prev = 0x00D27814 (see above)
_active = true
_prev = 0x00D27668 (see above)
_active = true
_prev = 0x00D27538 (see above)
_active = true
_prev = 0x00D2726C (see above)
_active = true
_prev = 0x00D27224 (see above)
_active = true
_prev = 0x00D27190 (see above)
_active = true
_prev = 0x00D27140 (see above)
_active = true
_prev = 0x00D270DC (see above)
_active = true
_prev = 0x00D27078 (see above)
_active = true
_prev = 0x00D27030 (see above)
_active = true
_prev = 0x00D26FE8 (see above)
_active = true
_prev = 0x00D26EC0 (see above)
_active = true
_prev = 0x00D26E24 ->
_next = 0x00D26EC0 (see above)
_prev = 0x00D26CFC ->
_next = 0x00D26E24 (see above)
_prev = 0x00D26C28 ->
_next = 0x00D26CFC (see above)
_prev = 0x00D26BC4 ->
_next = 0x00D26C28 (see above)
(too much output; skipping to next top-level symbol)
_active = true
_active = true
_active = true
_active = true
sg =
_abortTestOnFail = false
_maxDumpSize = 3210048 (0x0030FB40)
CxxTest::PsTestRunner::runWorld (pstestwrapper.h:80)
this = (unavailable)
wd =
_next = 0x00000000
_prev = 0x00C45501 ->
_next = 0xC01BC82B ->
_next = (unavailable - internal error)
_prev = (unavailable - internal error)
_active = (unavailable - internal error)
_prev = 0xC823D0F7 ->
_next = (unavailable - internal error)
_prev = (unavailable - internal error)
_active = (unavailable - internal error)
_active = (bool)0x8B
_active = (bool)0x64
sg =
_abortTestOnFail = false
_maxDumpSize = 13393572 (0x00CC5EA4)
CxxTest::PsTestRunner::runAllTests (pstestwrapper.h:16707566)
listener = 0x00D2ABC8 -> (CxxTest::TestListener)
CxxTest::PsTestWrapper::runGui (pstestwrapper.h:96)
this = (unavailable)
argc = 0x0030FD50 -> 1 (0x00000001)
argv = 0x001E42C0 -> 0x001E42C8 -> "c:\Users\Ben\devel\ps\binaries\system\test.exe"
listener = 0x0030FBA0 -> (CxxTest::TestListener)
main (test_root.cpp:17)
argc = 1 (0x00000001)
argv = 0x001E42C0 (see above)
__tmainCRTStartup (crtexe.c:586)
nested = 4187511306 (0xF9985A0A)
BaseThreadInitThunk (:0)
RtlInitializeExceptionChain (:0)
RtlInitializeExceptionChain (:0)
errno = 0 (No error reported here)
OS error = 487 (Attempt to access invalid address.)
#3: Function call failed: return value was -100703 (Invalid UTF-8 sequence)
Location: utf8.cpp:84 (RaiseError)
Call stack:
RaiseError (utf8.cpp:84)
err = -100703 (0xFFFFFFFFFFFE76A1)
perr = (unavailable)
UTF8Codec::Decode (utf8.cpp:134)
srcPos = 0x0030F92C -> 0x001EF4F0 -> ""
],
"y": true
}"
srcEnd = 0x001EF504 -> [8] { 0 (0x00), 240 (0xF0), 173 (0xAD), 186 (0xBA), 171 (0xAB), 171 (0xAB), 171 (0xAB), 171 (0xAB) }
err = 0x00000000
offsets = [5] { 0 (0x00000000), 0 (0x00000000), 12416 (0x00003080), 925824 (0x000E2080), 63447168 (0x03C82080) }
wstring_from_utf8 (utf8.cpp:237)
src = 0x0030FA4C -> (error -100500 while analyzing string >)
err = 0x00000000
srcPos = 0x00000001
ScriptInterface::ParseJSON (scriptinterface.cpp:897)
this = (unavailable)
string_utf8 = 0x0030FA4C (see above)
attrsW = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
string = (error -100500 while analyzing wstring<utf16_traits >)
vp = 8 (0x0000000000000008)
TestScriptInterface::test_json (test_scriptinterface.h:140)
this = (unavailable)
val =
m_Val =
px = 0x05E0B1B0 -> 7118796211726961984 (0x62CB0B700461CD40)
pn =
pi_ = 0x0030F998 ->
use_count_ = 2029312 (0x001EF700)
weak_count_ = 1955361129 (0x748C7169)
script =
m = (error -100406 while analyzing auto_ptr<ScriptInterface_impl>)
input = (error -100500 while analyzing string >)
stringified = (error -100500 while analyzing string >)
e = 0x0030F9B8 -> (error -100406 while analyzing exception)
e = 0x00000405
e = 0x001EDCA8 -> (error -100406 while analyzing exception)
CxxTest::RealTestDescription::run (realdescriptions.cpp:99)
this = (unavailable)
e = 0x0030FA84 -> (error -100406 while analyzing exception)
CxxTest::TestRunner::runTest (testrunner.h:77)
this = (unavailable)
td = 0x00D26FC4 ->
_next = 0x00000000
_prev = 0x00D26FA8 ->
_next = 0x00D26FC4 (see above)
_prev = 0x00D26F8C ->
_next = 0x00D26FA8 (see above)
_prev = 0x00D26F70 ->
_next = 0x00D26F8C (see above)
_prev = 0x00D26F54 ->
_next = 0x00D26F70 (see above)
_prev = 0x00D26F38 ->
_next = 0x00D26F54 (see above)
_prev = 0x00D26F1C ->
_next = 0x00D26F38 (see above)
_prev = 0x00D26F00 ->
_next = 0x00D26F1C (see above)
_prev = 0x00D26EE4 ->
_next = 0x00D26F00 (see above)
_prev = 0x00000000
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
sg =
_abortTestOnFail = false
_maxDumpSize = 3209980 (0x0030FAFC)
CxxTest::TestRunner::runSuite (testrunner.h:63)
this = (unavailable)
sd = 0x00D26EC0 ->
_next = 0x00D26FE8 ->
_next = 0x00D27030 ->
_next = 0x00D27078 ->
_next = 0x00D270DC ->
_next = 0x00D27140 ->
_next = 0x00D27190 ->
_next = 0x00D27224 ->
_next = 0x00D2726C ->
_next = 0x00D27538 ->
_next = 0x00D27668 ->
_next = 0x00D27814 ->
_next = 0x00D27878 ->
_next = 0x00D278F8 ->
_next = 0x00000000
_prev = 0x00D27878 (see above)
_active = true
_prev = 0x00D27814 (see above)
_active = true
_prev = 0x00D27668 (see above)
_active = true
_prev = 0x00D27538 (see above)
_active = true
_prev = 0x00D2726C (see above)
_active = true
_prev = 0x00D27224 (see above)
_active = true
_prev = 0x00D27190 (see above)
_active = true
_prev = 0x00D27140 (see above)
_active = true
_prev = 0x00D270DC (see above)
_active = true
_prev = 0x00D27078 (see above)
_active = true
_prev = 0x00D27030 (see above)
_active = true
_prev = 0x00D26FE8 (see above)
_active = true
_prev = 0x00D26EC0 (see above)
_active = true
_prev = 0x00D26E24 ->
_next = 0x00D26EC0 (see above)
_prev = 0x00D26CFC ->
_next = 0x00D26E24 (see above)
_prev = 0x00D26C28 ->
_next = 0x00D26CFC (see above)
_prev = 0x00D26BC4 ->
_next = 0x00D26C28 (see above)
(too much output; skipping to next top-level symbol)
_active = true
_active = true
_active = true
_active = true
sg =
_abortTestOnFail = false
_maxDumpSize = 3210048 (0x0030FB40)
CxxTest::PsTestRunner::runWorld (pstestwrapper.h:80)
this = (unavailable)
wd =
_next = 0x00000000
_prev = 0x00C45501 ->
_next = 0xC01BC82B ->
_next = (unavailable - internal error)
_prev = (unavailable - internal error)
_active = (unavailable - internal error)
_prev = 0xC823D0F7 ->
_next = (unavailable - internal error)
_prev = (unavailable - internal error)
_active = (unavailable - internal error)
_active = (bool)0x8B
_active = (bool)0x64
sg =
_abortTestOnFail = false
_maxDumpSize = 13393572 (0x00CC5EA4)
CxxTest::PsTestRunner::runAllTests (pstestwrapper.h:16707566)
listener = 0x00D2ABC8 -> (CxxTest::TestListener)
CxxTest::PsTestWrapper::runGui (pstestwrapper.h:96)
this = (unavailable)
argc = 0x0030FD50 -> 1 (0x00000001)
argv = 0x001E42C0 -> 0x001E42C8 -> "c:\Users\Ben\devel\ps\binaries\system\test.exe"
listener = 0x0030FBA0 -> (CxxTest::TestListener)
main (test_root.cpp:17)
argc = 1 (0x00000001)
argv = 0x001E42C0 (see above)
__tmainCRTStartup (crtexe.c:586)
nested = 4187511306 (0xF9985A0A)
BaseThreadInitThunk (:0)
RtlInitializeExceptionChain (:0)
RtlInitializeExceptionChain (:0)
errno = 0 (No error reported here)
OS error = 487 (Attempt to access invalid address.)
|
|||
| #885 | fixed | [PATCH] GUI code improvement | ||
| Description |
--The problem--
The gui code (source/gui) uses many variables linked with js and the xml reader (I suppose), these variables are added using These getters and setters was searching on a std::map each time. Using a profiler (gprof) on my computer, these appears on the top, taking > 7% of the running time. Running the game for around 1 minute would generate ~20 millions calls to these functions, this is because many of this calls was done each loop when redrawing the screen. --Suggested solution-- When creating the new types, the old code using a dynamically allocated variable. With the new changes it can use member variables of the calling class. Then, because the values now are stored in member variables, almost all the parts that was using the old code to find the values now just get the value of the member variable which is an order of magnitude faster than searching a map. In case the variables are "Setted", care has been taken to generate the set events so other parts of the code might receive it, just like it was done before. After applying the changes, the numbers of calls to std::map::find reduced drastically (some thousands after couple of minutes), and those are mostly coming from js code (which should be the correct way in this case). Now takes less than 0.1% of the running time. |
|||
| #886 | fixed | Prop point position within static Collada meshes do not get exported or interpreted correctly by the game. | ||
| Description |
Prop points get moved and pitched 90 degrees when exported from Max to Collada and into the Game. Not sure if this is an exporter issue or a game engine issue where the game does not interpret the Collada data correctly. |
|||
| #887 | wontfix | [PATCH] Catch terrain patch vertex height for water rendering | ||
| Description |
The proposed small patch catches the vertex heights of the patches used. When rendering water if there is not any vertex below water level, the whole patch is skipped. For the patches that are shown, their height levels are cached and faster to access.
It also fixes the
An improvement by using this patch could be to only call the |
|||
| #888 | fixed | AI speed has decreased | ||
| Description |
The AI is slower in Alpha 6 than it was in the previous release. We need to really optimize this. One AI on a map is unbearably slow as it progresses. The game should be able to easily cope with 8 AI (standard "big" game). Work out ways to increase the AI speed and implement them. |
|||
| #889 | fixed | [ATLAS] Map save / load rework | ||
| Description |
We need to make the map saving/loading more mod friendly (per Philip's request). This means Atlas presents maps as files within mods, not arbitrary paths on the user's system. File extensions should be abstracted away, overwriting existing files should be handled nicely, etc. Part of #1943. |
|||
| #890 | worksforme | Soldiers destroy towers instead of repair them | ||
| Description |
Playing with Iberians, I sent some soldiers to repair a tower (not the wall tower, the other one), and although it had a repair animation, they where slowly destroying it instead. |
|||
| #891 | fixed | Animals can attack buildings | ||
| Description |
Some animals are meant to be aggressive and attack the players units, that works fine as far as I can tell. However, at the moment they also attack buildings, something they shouldn't :) Perhaps it's something that's difficult to do, in that case it might benefit from being done at the same time that most cavalry/infantry units will be stopped from attacking buildings. Either way, the easiest way to limit it (especially since there is/might be edge cases like the Iberian Champion Javelinists which are cavalry units, but can attack buildings) is to add a new tag in the XMLs? Something like <CanAttackBuildings />? |
|||
| #892 | fixed | Add paths to random maps | ||
| Description |
One thing missing from the rmgen API is the ability to place paths. Paths are conceptually a line connecting two points, with some parametric variation in curviness. They can be used for roads, rivers, and many other things. The current plan for implementation is an area placer called PathPlacer which can be used in place of clumps. An example of how this might look on the Cantabrian Highlands map: http://imgur.com/gIpf0 |
|||
| #893 | fixed | Unit spawning should respect passability class | ||
| Description |
Unit spawning is broken because it only considers unit obstructions, meaning both trained and ungarrisoned units can be spawned on terrain that violates their passability class. This is one of the causes of "land ships", #771 and #818. I'm working on a fix for #804 which should also fix this (using the PassabilityClass defined in pathfinder.xml). A few considerations:
|
|||
| #894 | invalid | Javascript errors and warnings when using Alt, Ctrl or Shift keys | ||
| Description |
I get this messages each time i press the "Alt", "Ctrl" or "Shift" keys: Alt: WARNING: JavaScript warning: gui/session/input.js line 1143 reference to undefined property g_Groups.groups[groupId] ERROR: JavaScript error: gui/session/input.js line 1143 TypeError: g_Groups.groups[groupId] is undefined
Ctrl: WARNING: JavaScript warning: gui/session/input.js line 1161 reference to undefined property g_Groups.groups[groupId] ERROR: JavaScript error: gui/session/input.js line 1161 TypeError: g_Groups.groups[groupId] is undefined
Shift: WARNING: JavaScript warning: gui/session/selection.js line 390 reference to undefined property this.groups[groupName] ERROR: JavaScript error: gui/session/selection.js line 390 TypeError: this.groups[groupName] is undefined
This happens in the following scenarios:
This does not happen when i have a single unit or a group of units selected and i have a building to build. The keys work despite of these errors. |
|||
| #895 | duplicate | Atlas crashes when it does not have rights to write to a file | ||
| Description |
When atlas is run without root access in linux it crashes when saving into a folder that requires root access (0ad installation folder, etc.) Reproduce: LINUX 1) Open a map in atlas 2) modify a bit 3) Try to save in ~/mods/public/scenarios/* 4) Permissions Error and crash. It should at least ask for permissions or (at worst) ask me to save on a folder that I have permissions to. Thanks, luke |
|||
| #896 | duplicate | Brush/plane slice operation causes rare assertion failure | ||
| Description |
I'm not 100% sure how I got the following error, just using the flatten tool a lot. I'll see if I get it again, but I'll post the error message: Assertion failed: "idx < si.newv.size()"
Location: Brush.cpp:246 (CBrush::Slice)
Call stack:
CBrush::Slice (brush.cpp:246)
this = (unavailable)
plane = 0xFFFFFFFF ->
m_Norm =
X = (unavailable - internal error)
Y = (unavailable - internal error)
Z = (unavailable - internal error)
m_Dist = (unavailable - internal error)
result = 0x00000005
firstInFace = 5 (0x00000005)
si =
v = (error -100500 while analyzing vector<SliceVertexInfo >)
newv = (error -100500 while analyzing vector<NewVertexInfo >)
thisFaceNewVertex = 3732780 (0x0038F52C)
original = 0x0038F4E8 ->
m_Vertices = (error -100500 while analyzing vector<CVector3D >)
m_Faces = (error -100500 while analyzing vector<size_t >)
result = 0x0038F508 ->
m_Vertices = (error -100500 while analyzing vector<CVector3D >)
m_Faces = (error -100500 while analyzing vector<size_t >)
startInResultFaceArray = 6 (0x00000006)
i = 3732828 (0x0038F55C)
cur = 14 (0x0000000E)
CBrush::Intersect (brush.cpp:297)
this = (unavailable)
frustum = 0x03CFDDA0 ->
m_aPlanes = [10]
m_Norm =
X = 1.696903 (0x3FD9341C)
Y = -1.762556 (0xBFE19B6D)
Z = 0.104325 (0x3DD5A878)
m_Dist = -0.000019 (0xB79F08D9)
m_Norm =
X = -0.622785 (0xBF1F6ED4)
Y = 1.763787 (0x3FE1C3C7)
Z = 1.582765 (0x3FCA9808)
m_Dist = 0.000016 (0x378949FF)
m_Norm =
X = -2.342355 (0xC015E926)
Y = -2.664490 (0xC02A8701)
Z = 2.678723 (0x402B7031)
m_Dist = 0.000019 (0x37A097C0)
m_Norm =
X = 3.416473 (0x405AA77E)
Y = 2.665722 (0x402A9B2F)
Z = -0.991633 (0xBF7DDBA4)
m_Dist = -0.000022 (0xB7B6569A)
m_Norm =
X = -0.004212 (0xBB8A0680)
Y = -0.000005 (0xB6A20A00)
Z = -0.006616 (0xBBD8CB80)
m_Dist = 32.125492 (0x42008081)
m_Norm =
X = 1.078330 (0x3F8A06B8)
Y = 0.001236 (0x3AA20A0B)
Z = 1.693706 (0x3FD8CB5C)
m_Dist = -32.125492 (0xC2008081)
m_Norm =
X = 0.000000 (0x00000000)
Y = 0.000000 (0x00000000)
Z = 0.000000 (0x00000000)
m_Dist = 0.000000 (0x00000000)
m_Norm =
X = 0.000000 (0x00000000)
Y = 0.000000 (0x00000000)
Z = 0.000000 (0x00000000)
m_Dist = 0.000000 (0x00000000)
...
m_NumPlanes = 6 (0x00000006)
result = 0x0038F52C ->
m_Vertices = (error -100500 while analyzing vector<CVector3D >)
m_Faces = (error -100500 while analyzing vector<size_t >)
buf =
m_Vertices = (error -100500 while analyzing vector<CVector3D >)
m_Faces = (error -100500 while analyzing vector<size_t >)
CBound::IntersectFrustumConservative (bound.cpp:174)
this = (unavailable)
frustum = 0x03CFDDA0 (see above)
brush =
m_Vertices = (error -100500 while analyzing vector<CVector3D >)
m_Faces = (error -100500 while analyzing vector<size_t >)
buf =
m_Vertices = (error -100500 while analyzing vector<CVector3D >)
m_Faces = (error -100500 while analyzing vector<size_t >)
ShadowMapInternals::CalcShadowMatrices (shadowmap.cpp:228)
this = (unavailable)
minZ = 0.343842 (0x3EB00C0F)
shift =
X = 0.277283 (0x3E8DF7FD)
Y = 439.700012 (0x43DBD99A)
Z = 0.000000 (0x00000000)
lightToTex =
_11 = 0.000000 (0x19F1647A)
_21 = 0.000000 (0x0038F600)
_31 = 0.000000 (0x0038F60C)
_41 = 0.000000 (0x00CE6C51)
_12 = 0.000000 (0x00DC9608)
_22 = 0.000000 (0x19F1647A)
_32 = 5.921517 (0x40BD7D12)
_42 = 0.000000 (0x19F1647A)
_13 = 5.921517 (0x40BD7D12)
_23 = 0.000000 (0x03CD1D30)
_33 = 0.000000 (0x0CA8D970)
_43 = 0.000000 (0x19F1647A)
_14 = 5.921517 (0x40BD7D12)
_24 = 0.000000 (0x0038F868)
_34 = 0.000000 (0x00CE6C86)
_44 = 5.921517 (0x40BD7D12)
_data = [16]
0.000000 (0x19F1647A)
0.000000 (0x0038F600)
0.000000 (0x0038F60C)
0.000000 (0x00CE6C51)
0.000000 (0x00DC9608)
0.000000 (0x19F1647A)
5.921517 (0x40BD7D12)
0.000000 (0x19F1647A)
5.921517 (0x40BD7D12)
0.000000 (0x03CD1D30)
0.000000 (0x0CA8D970)
0.000000 (0x19F1647A) ...
_data2d = [4]
[4] { 0.000000 (0x19F1647A), 0.000000 (0x0038F600), 0.000000 (0x0038F60C), 0.000000 (0x00CE6C51) }
[4] { 0.000000 (0x00DC9608), 0.000000 (0x19F1647A), 5.921517 (0x40BD7D12), 0.000000 (0x19F1647A) }
[4] { 5.921517 (0x40BD7D12), 0.000000 (0x03CD1D30), 0.000000 (0x0CA8D970), 0.000000 (0x19F1647A) }
[4] { 5.921517 (0x40BD7D12), 0.000000 (0x0038F868), 0.000000 (0x00CE6C86), 5.921517 (0x40BD7D12) }
offsetX = 0.343842 (0x3EB00C0F)
texscalex = 5.921517 (0x40BD7D12)
texscaley = 5497927542043857700000000000000000.000000 (0x778788CD)
offsetY = -0.553332 (0xBF0DA732)
texscalez = -0.939027 (0xBF706414)
scale =
X = -0.203328 (0xBE503543)
Y = 252.507553 (0x437C81EF)
Z = 340282346638528860000000000000000000000.000000 (0x7F7FFFFF)
ShadowMap::BeginRender (shadowmap.cpp:434)
this = (unavailable)
CRenderer::RenderShadowMap (renderer.cpp:931)
this = (unavailable)
transparentShadows =
px = 0x19F1647A -> (RenderModifier)
pn =
pi_ = 0x0038F78C ->
use_count_ = 13934493 (0x00D49F9D)
weak_count_ = 0 (0x00000000)
shadowTransp = 0.000000 (0x03C55438)
CRenderer::RenderSubmissions (renderer.cpp:1530)
this = (unavailable)
waterScissor =
m_Data = [2]
X = -1.#QNAN0 (0xFFFFFFFF)
Y = 0.000000 (0x0038F708)
Z = 0.000000 (0x03D24910)
X = 0.000000 (0x0A64AA30)
Y = 5.921517 (0x40BD7D12)
Z = 0.000000 (0x19A56E88)
reflectionScissor =
x1 = 253191815 (0x0F176687)
y1 = 1086160146 (0x40BD7D12)
x2 = 430272136 (0x19A56E88)
y2 = 1086160146 (0x40BD7D12)
refractionScissor =
x1 = 3733260 (0x0038F70C)
y1 = 3733272 (0x0038F718)
x2 = 13528145 (0x00CE6C51)
y2 = 14456328 (0x00DC9608)
dirty =
x1 = 64061216 (0x03D17F20)
y1 = 210461408 (0x0C8B62E0)
x2 = 253191815 (0x0F176687)
y2 = 2005371085 (0x778788CD)
CRenderer::RenderScene (renderer.cpp:1792)
this = (unavailable)
scene = 0x03CB9568 -> (Scene)
frustum =
m_aPlanes = [10]
m_Norm =
X = -1.040495 (0xBF852EEF)
Y = 1211.236450 (0x44976791)
Z = 1.603598 (0x3FCD42B1)
m_Dist = -0.940888 (0xBF70DE01)
m_Norm =
X = 1.595981 (0x3FCC491B)
Y = -859.250427 (0xC456D007)
Z = -2.600444 (0xC0266DAE)
m_Dist = 0.550317 (0x3F0CE18E)
m_Norm =
X = 3.563219 (0x40640BC8)
Y = -1054.831055 (0xC483DA98)
Z = 2.195049 (0x400C7BB0)
m_Dist = -2.428372 (0xC01B6A74)
m_Norm =
X = -3.007733 (0xC0407EB2)
Y = 1406.817139 (0x44AFDA26)
Z = 0.001590 (0x3AD06080)
m_Dist = 0.007365 (0x3BF15580)
m_Norm =
X = -0.002178 (0xBB0EC300)
Y = 30.745148 (0x41F5F610)
Z = -0.406985 (0xBED0604A)
m_Dist = -1.885421 (0xBFF15578)
m_Norm =
X = 0.557665 (0x3F0EC31A)
Y = 321.240845 (0x43A09ED4)
Z = 0.000000 (0x00000000)
m_Dist = 0.000000 (0x00000000)
m_Norm =
X = 0.000000 (0x00000000)
Y = 0.000000 (0x00000000)
Z = 0.000000 (0x00000000)
m_Dist = 0.000000 (0x00000000)
m_Norm =
X = 0.000000 (0x00000000)
Y = 0.000000 (0x00000000)
Z = 0.000000 (0x00000000)
m_Dist = 0.000000 (0x00000000)
...
m_NumPlanes = 63798520 (0x03CD7CF8)
CGameView::Render (gameview.cpp:470)
this = (unavailable)
Render (gamesetup.cpp:215)
skycol =
r = 1.000000 (0x3F800000)
g = -170141183460469230000000000000000000000.000000 (0xFF000000)
b = 0.000000 (0x00000000)
a = 0.000000 (0x00200000)
skystring = { (error -100500 while analyzing string >) }
cursorName = { (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >) }
ViewGame::Render (view.cpp:248)
this = (unavailable)
vp =
m_X = 0 (0x00000000)
m_Y = 1476 (0x000005C4)
m_Width = 762 (0x000002FA)
m_Height = 3212836864 (0xBF800000)
costClass = 0 (0x00)
goal =
type = POINT
x =
value = 0 (0x00000000)
z =
value = 0 (0x00000000)
u =
X =
value = 0 (0x00000000)
Y =
value = 0 (0x00000000)
v =
X =
value = 0 (0x00000000)
Y =
value = 0 (0x00000000)
hw =
value = 0 (0x00000000)
hh =
value = 63207156 (0x03C476F4)
BeginAtlas (gameloop.cpp:268)
args = 0x00000000
dll = 0x03C27528 ->
m_Name = 0x03C303D8 -> [8] { 64 ('@'), 142, 209, 12, 0, 0, 0, 0 }
m_Handle = 0x03C278F8
hooks =
override_gl_upload_caps = 0x03C27A70 ->
get_log_dir = 0x00000000
bundle_logs = 0x00000000
translate = 0x00C073F2 -> (CmdLineArgs::Has)
translate_free = 0x0D0E9378 ->
log = 0x00000051
display_error = 0x00000000
uiThread = 6 (0x00000006)
msgPasser =
(AtlasMessage::MessagePasser)
m_Mutex =
m_Mutex = 0x00000020
m_SemaphoreName = { (error -100500 while analyzing string >) }
m_Semaphore = 0x00000002
m_Queue = (error -100500 while analyzing queue<AtlasMessage::IMessage *,deque<AtlasMessage::IMessage * > >)
m_Trace = (bool)0x20
paths =
m_root =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 31320
m_rdata =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 428
m_data =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 360
m_config =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 55534
m_cache =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 10192
m_logs =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 47 ('/')
last_activity = 1.08646e-311 (0x0000020000000125)
recent_activity = false
time = 6.0267e+175 (0x646E756F72416574)
ev =
ev =
type = 26 (0x1A)
active = { type = 26 (0x1A), gain = 0 (0x00), state = 0 (0x00) }
key =
type = 26 (0x1A)
keysym = { sym = 31, unicode = 31360 (0x7A80) }
motion = { type = 26 (0x1A), x = 0 (0x0000), y = 31 (0x001F) }
button =
type = 26 (0x1A)
button = 0 (0x00)
state = 0 (0x00)
x = 31 (0x001F)
y = 0 (0x0000)
resize = { type = 26 (0x1A), w = 31 (0x0000001F), h = 63076992 (0x03C27A80) }
expose = { type = 26 (0x1A) }
quit = { type = 26 (0x1A) }
user = { type = 26 (0x1A), code = 31 (0x0000001F), data1 = 0x03C27A80 }
length = 0.000000 (0x03007400)
last_time = 7549.07 (0x40BD7D11EEF0839A)
name = (error -100500 while analyzing string >)
sleepUntil = 6.0267e+175 (0x646E756F72416574)
ATLAS_RunIfOnCmdLine (atlas.cpp:77)
args = 0x0038FC1C ->
m_Args = (error -100500 while analyzing vector<pair<CStr8,CStr8> >)
m_Arg0 =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 30598, 64980, 56 ('8'), 32 (' '), 0, 57382, 30598 }
force = false
RunGameOrAtlas (main.cpp:437)
argc = 2 (0x00000002)
argv = 0x03C27A50 -> 0x03C26CE0 -> "pyrogenesis.exe"
args =
m_Args = (error -100500 while analyzing vector<pair<CStr8,CStr8> >)
m_Arg0 =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 64980
paths =
m_root =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 7885
m_rdata =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 1
m_data =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 64824
m_config =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_cache =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 64900
m_logs =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 18902
replay =
m_Stream = 0x00020024 -> (error -100406 while analyzing basic_istream<char,char_traits<char> >)
mod =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 63062
zip =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
paths =
m_root =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 7885
m_rdata =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 1
m_data =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 64824
m_config =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_cache =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 64900
m_logs =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 18902
builder =
m_VFS =
px = 0x00000000
pn =
pi_ = 0x00000020
m_Files = (error -100500 while analyzing vector<Path >)
m_TempDir =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 72 ('H')
main (main.cpp:511)
argc = 2 (0x00000002)
argv = 0x03C27A50 (see above)
wmain (wseh.cpp:380)
argc = 2 (0x00000002)
argv = 0x03C26C98 -> 0x03C26CA4 -> "pyrogenesis.exe"
utf8_argv = (error -100500 while analyzing vector<char * >)
ret = 13873581 (0x00D3B1AD)
utf8 = (error -100500 while analyzing string >)
__tmainCRTStartup (crtexe.c:583)
nested = 0 (0x00000000)
CallStartupWithinTryBlock (wseh.cpp:397)
ret = 939161476 (0x37FA7784)
BaseThreadInitThunk (:0)
RtlInitializeExceptionChain (:0)
RtlInitializeExceptionChain (:0)
errno = 0 (No error reported here)
OS error = 487 (Ett försök gjordes att använda en ogiltig adress.)
(The Swedish text means more or less: An attempt was made to use an invalid address.) |
|||
| #897 | fixed | javascript common api | ||
| Description |
In data/mods/public/simulation/ai/base.js There seem to be an error at line 90:
Should be
|
|||
| #898 | fixed | Multiplayer game crashes in lobby when selecting text | ||
| Description |
Selecting text with the mouse in the lobby (or when selecting a name) crashes the game. Reproduced on: Windows 7, Fedora. |
|||
| #899 | fixed | snd_mgr causes crash at exit and during game | ||
| Description |
OS: WinXP Build: [9845] release or debug in VS2008 express I can reproduce the first error by simply exiting the game: Function call failed: return value was -100022 (Invalid handle)
Location: h_mgr.cpp:763 (h_force_free)
Call stack:
h_force_free (h_mgr.cpp:763)
h = 42949673666 (0x0000000A000002C2)
type = 0x00643298 ->
init = 0x00402CE0 -> (UniqueRangeDeleterNone)
reload = 0x0041BC60 -> (SndData_reload)
dtor = 0x0041AC60 -> (SndData_dtor)
validate = 0x00419270 -> (SndData_validate)
to_string = 0x00418510 -> (SndData_to_string)
user_size = 24 (0x00000018)
name = 0x005E6BF0 -> "SndData"
hsd_list_free_all (snd_mgr.cpp:861)
al_shutdown (snd_mgr.cpp:650)
Shutdown (gamesetup.cpp:664)
__formal = 0 (0x00000000)
LINE_624_ =
m_t0 = 7.21416e-307 (0x00603608402BC9C3)
m_description = 0x005BA13D -> [8] { 50307, 32788, 52285, 25875, 0, 5493, 42125, 36 ('$') }
LINE_629_ =
m_t0 = 7.21416e-307 (0x00603608402BC9C3)
m_description = 0x005BA13D (see above)
LINE_634_ =
m_t0 = 7.21416e-307 (0x00603608402BC9C3)
m_description = 0x005BA13D (see above)
LINE_641_ =
m_t0 = 7.21416e-307 (0x00603608402BC9C3)
m_description = 0x005BA13D (see above)
LINE_647_ =
m_t0 = 7.21416e-307 (0x00603608402BC9C3)
m_description = 0x005BA13D (see above)
LINE_651_ =
m_t0 = 7.21416e-307 (0x00603608402BC9C3)
m_description = 0x005BA13D (see above)
LINE_655_ =
m_t0 = 7.21416e-307 (0x00603608402BC9C3)
m_description = 0x005BA13D (see above)
LINE_661_ =
m_t0 = 7.21416e-307 (0x00603608402BC9C3)
m_description = 0x005BA13D (see above)
LINE_674_ =
m_t0 = 7.21416e-307 (0x00603608402BC9C3)
m_description = 0x005BA13D (see above)
RunGameOrAtlas (main.cpp:493)
argc = 1 (0x00000001)
argv = 0x093F5880 -> 0x093F5990 -> "C:\devel\0ad\ps\binaries\system\pyrogenesis.exe"
args =
m_Args = (error -100500 while analyzing vector<pair<CStr8,CStr8> >)
m_Arg0 =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 576
paths =
m_root =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 65068
m_rdata =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 22823
m_data =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_config =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_cache =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 65204
m_logs =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 331
replay =
m_Stream = 0x00000001
mod =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 65128
zip =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 4
paths =
m_root =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 65068
m_rdata =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 22823
m_data =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_config =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_cache =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 65204
m_logs =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 331
builder =
m_VFS =
px = 0x00000000
pn =
pi_ = 0x00000002
m_Files = (error -100500 while analyzing vector<Path >)
m_TempDir =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 47 ('/')
main (main.cpp:511)
argc = 1 (0x00000001)
argv = 0x093F5880 (see above)
wmain (wseh.cpp:380)
argc = 1 (0x00000001)
argv = 0x093F5210 -> 0x093F5218 -> "C:\devel\0ad\ps\binaries\system\pyrogenesis.exe"
utf8_argv = (error -100500 while analyzing vector<char * >)
ret = 6009910 (0x005BB436)
utf8 = (error -100500 while analyzing string >)
__tmainCRTStartup (crtexe.c:583)
nested = 0 (0x00000000)
CallStartupWithinTryBlock (wseh.cpp:397)
ret = 2766642449 (0xA4E79D11)
RegisterWaitForInputIdle (:0)
errno = 0 (No error reported here)
OS error = 2 (The system cannot find the file specified.)
The second error occurs during the game, seemingly when I do something to trigger a sound, like tasking units to move or gather a resource. Function call failed: return value was -100010 (Logic error in code)
Location: snd_mgr.cpp:114 (al_ReportError)
Call stack:
al_ReportError (snd_mgr.cpp:114)
err = 40964 (0x0000A004)
caller = 0x005E6E10 -> "al_buf_free"
line = 436 (0x000001B4)
al_buf_free (snd_mgr.cpp:436)
al_buf = 854772512 (0x32F2CB20)
h_reload (h_mgr.cpp:715)
vfs = 0x0064F2EC ->
px = 0x093F64D0 -> (IVFS)
pn =
pi_ = 0x093F7210 ->
use_count_ = 4 (0x00000004)
weak_count_ = 1 (0x00000001)
pathname = 0xEBDE1DD3 ->
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = (unavailable - internal error)
ret = 21675767935008767 (0x004D01FEFFFFFFFF)
key = 4010463037 (0xEF0ACF3D)
h = 23358192525442160 (0x0052FC270012FC70)
ReloadChangedFiles (filesystem.cpp:87)
notifications = (error -100500 while analyzing vector<DirWatchNotification >)
pathname =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 53005
Frame (main.cpp:296)
need_update = (bool)0x44
TimeSinceLastFrame = -0.000000 (0x80000000)
need_render = (bool)0x3E
down = [3] { -0.866025 (0xBF5DB3D7), -0.500000 (0xBF000000), 0.000000 (0x0012FEB8) }
RunGameOrAtlas (main.cpp:492)
argc = 1 (0x00000001)
argv = 0x093F5880 -> 0x093F5990 -> "C:\devel\0ad\ps\binaries\system\pyrogenesis.exe"
args =
m_Args = (error -100500 while analyzing vector<pair<CStr8,CStr8> >)
m_Arg0 =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 576
paths =
m_root =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 65068
m_rdata =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 22823
m_data =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_config =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_cache =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 65204
m_logs =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 53133
replay =
m_Stream = 0x00000001
mod =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 65128
zip =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 4
paths =
m_root =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 65068
m_rdata =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 22823
m_data =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_config =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_cache =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 65204
m_logs =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 53133
builder =
m_VFS =
px = 0x00000000
pn =
pi_ = 0x00000002
m_Files = (error -100500 while analyzing vector<Path >)
m_TempDir =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 47 ('/')
main (main.cpp:511)
argc = 1 (0x00000001)
argv = 0x093F5880 (see above)
wmain (wseh.cpp:380)
argc = 1 (0x00000001)
argv = 0x093F5210 -> 0x093F5218 -> "C:\devel\0ad\ps\binaries\system\pyrogenesis.exe"
utf8_argv = (error -100500 while analyzing vector<char * >)
ret = 6009910 (0x005BB436)
utf8 = (error -100500 while analyzing string >)
__tmainCRTStartup (crtexe.c:583)
nested = 0 (0x00000000)
CallStartupWithinTryBlock (wseh.cpp:397)
ret = 1606451003 (0x5FC07F3B)
RegisterWaitForInputIdle (:0)
errno = 0 (No error reported here)
OS error = 2 (The system cannot find the file specified.)
|
|||
| #900 | worksforme | Crash running two instances of the game at once | ||
| Description |
OS: WinXP Build: [9845] release or debug in VS2008 express I get this error when I have one instance of the game open and then open a new one, it's unable to start (pressing continue does seem to work but only momentarily, as other errors occur). Assertion failed: "GetLastError() == ERROR_FILE_NOT_FOUND"
Location: mahaf.cpp:350 (Init)
Call stack:
Init (mahaf.cpp:350)
s =
m_lastError = 2090328352 (0x7C97E120)
driverPathname =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 65134
ModuleInit (module_init.cpp:47)
initState = 0x0064AEDC -> 4294867266 (0xFFFE7942)
init = 0x00424AA0 -> (Init)
mahaf_Init (mahaf.cpp:372)
CounterHPET::MapRegisters (hpet.cpp:152)
registers = 0x0064ACA4 -> 0x00000000
CounterHPET::Activate (hpet.cpp:61)
this = (unavailable)
revision = (unavailable)
vendorID = (unavailable)
GetNextBestSafeCounter (whrt.cpp:77)
counter = 0x0012FEF0 -> (ICounter)
nextCounterId = 1 (0x00000001)
buf = [100]
12844
94 ('^')
25536
67 ('C')
64930
30275
5
0
46 ('.')
21044
1
0 ...
InitCounter (whrt.cpp:108)
whrt_Init (whrt.cpp:303)
winit_CallInitFunctions (winit.cpp:89)
wstartup_InitAndRegisterShutdown (wstartup.cpp:109)
initterm_e (:0)
__tmainCRTStartup (crtexe.c:483)
nested = 0 (0x00000000)
CallStartupWithinTryBlock (wseh.cpp:397)
ret = 1229579465 (0x4949E4C9)
RegisterWaitForInputIdle (:0)
errno = 0 (Unknown error (0, 0x0))
OS error = 2 (The system cannot find the file specified.)
This leads to other errors like: ERROR: CVFSFile: file shaders/model_common.vp couldn't be opened (vfs_load: -110300) ERROR: CVFSFile: file shaders/solid.fp couldn't be opened (vfs_load: -110300) ERROR: CVFSFile: file shaders/solid_tex.fp couldn't be opened (vfs_load: -110300) ERROR: CVFSFile: file shaders/solid_color.fp couldn't be opened (vfs_load: -110300) and Assertion failed: "p"
Location: trace.cpp:218 (Trace::Allocate)
Call stack:
Trace::NotifyLoad (trace.cpp:160)
this = (unavailable)
pathname = 0x0B9FB934 ->
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 0, 0, 0, 47496, 2975, 2, 0 }
size = 2442 (0x0000098A)
VFS::LoadFile (vfs.cpp:187)
this = (unavailable)
pathname = 0x0B9FB934 (see above)
fileContents = 0x0012FB5C ->
px = 0x1024C000 -> "!!ARBfp1.0
#ifdef USE_FP_SHADOW
OPTION ARB_fragment_program_shadow;
#endif
#ifdef LIGHTING_MODEL_old
#define CLAMP_LIGHTING
#endif
#ifdef CLAMP_LIGHTING // for compat with old scenarios that expect clamped lighting
#define MAD_MAYBE_SAT MAD_SAT
#else
#define MAD_MAYBE_SAT MAD
#endif
#ifdef USE_OBJECTCOLOR
PARAM objectColor = program.local[0];
#endif
PARAM shadingColor = program.local[1];
PARAM ambient = program.local[2];
#ifdef USE_SHADOW_PCF
PARAM shadowOffsets1 = p"
pn =
pi_ = 0x0BA06E68 ->
use_count_ = 2 (0x00000002)
weak_count_ = 1 (0x00000001)
size = 0x0012FB64 -> 2442 (0x0000098A)
s = (ScopedLock)
directory = 0x1024B000 ->
m_files = (error -100500 while analyzing map<Path,VfsFile >)
m_subdirectories = (error -100500 while analyzing map<Path,VfsDirectory >)
m_realDirectory =
px = 0x70203D20 ->
(IFileLoader)
m_path =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = (unavailable - internal error)
m_priority = (unavailable - internal error)
m_flags = (unavailable - internal error)
m_watch =
px = (unavailable - internal error)
pn =
pi_ = (unavailable - internal error)
pn =
pi_ = 0x72676F72 ->
use_count_ = (unavailable - internal error)
weak_count_ = (unavailable - internal error)
m_shouldPopulate = 1814981985 (0x6C2E6D61)
file = 0x0012FB64 (see above)
CVFSFile::Load (filesystem.cpp:112)
this = (unavailable)
vfs = 0x0064F2EC ->
px = 0x093F64D0 -> (IVFS)
pn =
pi_ = 0x093F6FF0 ->
use_count_ = 4 (0x00000004)
weak_count_ = 1 (0x00000001)
filename = 0x0B9FB934 (see above)
CShaderProgramARB::Reload (shaderprogram.cpp:110)
this = (unavailable)
vertexFile =
m_Buffer =
px = 0x0FD54430 -> "èP^"
pn =
pi_ = 0x000006DC
m_BufferSize = 270843904 (0x1024C000)
vertexCode = { (error -100500 while analyzing string >) }
fragmentCode = { (error -100500 while analyzing string >) }
fragmentFile =
m_Buffer =
px = 0x0BA06E68 (see above)
pn =
pi_ = 0x0000098A
m_BufferSize = 16907208 (0x0101FBC8)
preprocessor =
Source = 0x0012FACC -> [8] { 12, 251, 18, 0, 241, 206, 92 ('\'), 0 }
SourceEnd = 0x0012FBE8 -> [8] { 216, 18, 76 ('L'), 0, 236, 117 ('u'), 158, 11 }
Line = 1244100 (0x0012FBC4)
BOL = (bool)0x20
EnableOutput = 2089877600 (0x7C910060)
MacroList = 0xFFFFFFFF ->
Name =
Type = (unavailable - internal error)
Allocated = (unavailable - internal error)
String = (unavailable - internal error)
Buffer = (unavailable - internal error)
Length = (unavailable - internal error)
NumArgs = (unavailable - internal error)
Args = (unavailable - internal error)
Value =
Type = (unavailable - internal error)
Allocated = (unavailable - internal error)
String = (unavailable - internal error)
Buffer = (unavailable - internal error)
Length = (unavailable - internal error)
Body =
Type = (unavailable - internal error)
Allocated = (unavailable - internal error)
String = (unavailable - internal error)
Buffer = (unavailable - internal error)
Length = (unavailable - internal error)
Next = (unavailable - internal error)
ExpandFunc = (unavailable - internal error)
Expanding = (unavailable - internal error)
ErrorData = 0x7C91005D
it = (error -100406 while analyzing _Tree<<CStr8,CStr8>::iterator)
CShaderManager::ReloadChangedFile (shadermanager.cpp:206)
this = (unavailable)
path = 0x0012FC70 ->
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 18, 30724, 32424, 64708, 18, 16217, 93 (']') }
files =
{ { (error -100500 while analyzing iterator<forward_iterator_tag,pair<Path const ,set<boost::weak_ptr<CShaderProgram> > >,int,pair<Path const ,set<boost::weak_ptr<CShaderProgram> > > *,pair<Path const ,set<boost::weak_ptr<CShaderProgram> > > &>) } }
base_ =
bucket_ = 0x0B9FABA8 ->
next_ = 0x005E4554 ->
next_ = 0x00403580 ->
next_ = 0x042444F6 ->
next_ = 0x00000000
node_ = 0x0B9FD8FC ->
next_ = 0x0BA01750 ->
next_ = 0x0B9FD878 ->
next_ = 0x00000000
program =
px = 0x0B9FABA8 (see above)
pn =
pi_ = 0x0B9FD8FC (see above)
CShaderManager::ReloadChangedFileCB (shadermanager.cpp:193)
param = 0x09684DE4
path = 0x0012FC70 (see above)
ReloadChangedFiles (filesystem.cpp:85)
notifications = (error -100500 while analyzing vector<DirWatchNotification >)
pathname =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 30724
Frame (main.cpp:296)
need_update = (bool)0x37
TimeSinceLastFrame = 0.000000 (0x093F5884)
need_render = (bool)0x3E
down = [3] { 0.000000 (0x005BA13D), 0.000000 (0x005B9310), 0.000000 (0x0012FEB8) }
RunGameOrAtlas (main.cpp:492)
argc = 1 (0x00000001)
argv = 0x093F5880 -> 0x093F5990 -> "C:\devel\0ad\ps\binaries\system\pyrogenesis.exe"
args =
m_Args = (error -100500 while analyzing vector<pair<CStr8,CStr8> >)
m_Arg0 =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 576
paths =
m_root =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 65068
m_rdata =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 22823
m_data =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_config =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_cache =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 65204
m_logs =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 30852
replay =
m_Stream = 0x00000001
mod =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 65128
zip =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 4
paths =
m_root =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 65068
m_rdata =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 22823
m_data =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_config =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_cache =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 65204
m_logs =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 30852
builder =
m_VFS =
px = 0x00000000
pn =
pi_ = 0x00000002
m_Files = (error -100500 while analyzing vector<Path >)
m_TempDir =
path = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
separator = 47 ('/')
main (main.cpp:511)
argc = 1 (0x00000001)
argv = 0x093F5880 (see above)
wmain (wseh.cpp:380)
argc = 1 (0x00000001)
argv = 0x093F5210 -> 0x093F5218 -> "C:\devel\0ad\ps\binaries\system\pyrogenesis.exe"
utf8_argv = (error -100500 while analyzing vector<char * >)
ret = 6009910 (0x005BB436)
utf8 = (error -100500 while analyzing string >)
__tmainCRTStartup (crtexe.c:583)
nested = 0 (0x00000000)
CallStartupWithinTryBlock (wseh.cpp:397)
ret = 1196924228 (0x47579D44)
RegisterWaitForInputIdle (:0)
errno = 0 (No error reported here)
OS error = 2 (The system cannot find the file specified.)
|
|||
| #901 | fixed | Troubleshoot Atlas camera lag | ||
| Description |
Lately I notice the camera movement in Atlas is very laggy, the screen will freeze for roughly 1s and suddenly it has jumped across the map. I'm not sure if everyone experiences this, but mentioning it in IRC shows I'm not alone. Also it occurs on a fairly high spec computer: Win 7 64-bit, Intel Sandy Bridge i7-2600k, 8GB RAM, etc. Camera movement in Atlas should be very smooth and I haven't noticed an issue like this during games. |
|||
| #902 | fixed | Allow setting rally points while constructing buildings | ||
| Description |
It is possible to set waypoints for construction buildings (different types of barracks) while this buildings are in construction? This is also possible in other real-time strategy games like StarCraft II. |
|||
| #903 | fixed | [PATCH] Premake4 makefile dependency tracking broken for PCH | ||
| Description |
It ought to rebuild everything and hit the error. Looks like dependencies of the .gch file are being ignored entirely and not triggering rebuilds. |
|||
| #904 | duplicate | Crash on script hotloading | ||
| Description |
I encountered the following crash when hotloading GuiInterface.js. The exe was started using the -quickstart option. I've attached crashlog.dmp and crashlog.txt.
Operating System : Windows Vista Home Premium 32-bit SP2 Details: unhandled exception (PSERROR_CVFSFile_InvalidBufferAccess("CVFSFile_InvalidBufferAccess"))
Location: unknown:0 (RtlInitializeExceptionChain)
Call stack:
(error while dumping stack: No stack frames found)
errno = 0 (No error reported here)
OS error = 0 (no error code was set)
|
|||
| #905 | fixed | [PATCH] Improvement to bones' skinning | ||
| Description |
Bones' skinning can be improved by SSE for example. |
|||
| #906 | fixed | [PATCH] Position cursor at end of line when browsing console history | ||
| Description |
After a request from vtsj on IRC, I've patched CConsole to position the cursor at the end of the line when browsing up or down through history. Currently if you type something and then press up or dow it will show all entries that start with that string; however if the cursor is then moved to the end of the line the next search up or down will search for that entire string. Therefore in order to implement the positioning of the cursor at the end of the line, the prefix search would have to be removed. Common shells (Windows cmd, bash and others) don't use this kind of prefix searching, although zsh implements a separate functionality for searching through history. After a short discussion with Phillip on IRC I decided to submit this patch and allow the developers to decide whether it's more intuitive/useful to have the cursor at the end of the line or the prefix searching. |
|||
| #907 | fixed | [PATCH] Wrong window position on Windows with taskbar on top | ||
| Description |
On Windows, if the taskbar is at the top of the screen, windows spawned at (0,0) will slide under the taskbar and hide the min/max/X controls. This small patch first queries for the usable desktop area and spawns the window relative to that instead. |
|||
| #908 | fixed | CCmpVision's AlwaysVisible is broken | ||
| Description |
For the rally points, it is necessary to be able to render their marker flags inside the SoD. This can be specified by setting the AlwaysVisible property of the Vision component to true. However, this currently has no effect, and entities with this property remain invisible in the SoD. To reproduce:
After a discussion with Philip on IRC it became clear that this is a feature that didn't get implemented when the LOS rendering code was rewritten, and that it will probably involve non-trivial changes to rendering code. |
|||
| #909 | fixed | Assertion failure on allocating 0 bytes from pool when rendering terrain | ||
| Description |
Hi. When I start the game I can see the menu, but when I try to start to play on a map I got an error at the end of the loading. |
|||
| #910 | fixed | Units disappear if ungarissoned too fast | ||
| Description |
If several units are garrisoned inside a building and you ungarrison them all individually by clicking the unload button really fast, units are sometimes lost. The number of units that is garrisoned does not seem to matter, as I have observed it to happen even for 2 units. To reproduce:
|
|||
| #911 | fixed | Enemy goats count towards the victory condition | ||
| Description |
Enemy goats (possisbly all herd animals) must be killed and harvested in order to win. However it's impossible to harvest them after killing them as they "belong" to the enemy. Suggested fix: Remove herd animals from the win condition. Allow players to harvest eachothers herd animals. Fix death animation for enemy herd animals. |
|||
| #912 | invalid | [PATCH] Fix handler_stack_top in input.cpp | ||
| #913 | fixed | [PATCH] Crash starting game on Oasis II | ||
| Description |
Starting a game on Oasis II crashes the game. An PSERROR_File_InvalidType exception is thrown in ps/trunk/ps/FileIo.cpp at line 138, because the file size recorded in the the maps/scenarios/Oasis II.pmp file header does not add up to the actual file size. Commit [9921] last updated the file to 659.456 bytes, but apparently the filesize recorded in the header did not get updated accordingly. This value should be the total file size minus the header size (which is 12) in little-endian order, so this can be fixed by setting bytes 8-12 to F4 0F 0A 00 (=659.444). Assigned to Mythos_Ruler as he requested for this to be looked at on IRC. No patch attachment since this is a binary edit. |
|||
| #914 | fixed | [PATCH] Fixed-angle/huge bounding boxes cause unintuitive selection behaviour | ||
| Description |
To determine which units are to be highlighted/selected when the mouse is at a certain position, a ray is cast from the camera to the point on the terrain pointed to by the mouse, and this ray is checked for intersections with the bounding boxes of all the Selectable entities in the scene. If multiple objects' bounding boxes are intersected, the one where the ray passes the closest by its center wins. However, the bounding boxes ignore the rotation of the models. This can cause the visual outline of the object to differ greatly from the bounding boxes used for hit testing, which causes unintuitive selection/highlight behaviour: typically buildings or trees are selected even though the mouse is nowhere near them. Some trees have massive bounding boxes, which does not help. Also, this prevents the user from setting the a building's rally point at many points in the terrain, because seemingly unrelated objects will be highlighted instead. The example screenshots below are also attached: The red outline is the bounding box of the currently highlighted tree. Even though the mouse is halfway up the screen, some random tree is selected all the way down. Again, the red outline is the bounding box, the blue is the actual floorplan. Any 2D mouse location within the red outlines will cause the building to be highlighted. This makes it impossible to set the rally point near the top of the outline under the metal mine, even though that location would otherwise be perfectly valid. |
|||
| #915 | fixed | Crash on game exit | ||
| Description |
The game crashes at exit, see attached crash log for details. |
|||
| #916 | fixed | [PATCH] Spaces in paths might break SpiderMonkey build | ||
| Description |
Spaces in paths might break the SpiderMonkey build with errors like Can't open perl script "../build/autoconf/acoutput-fast.pl": No such file or directory not updating unwritable cache ./config.cache creating ./config.status creating Makefile sed: can't read ../Makefile.in: No such file or directory ... Ought to test and maybe fix that. |
|||
| #917 | needsinfo | [NEEDS INFO] Error with enet build scripts | ||
| Description |
Error when compiling and running the game with r9335. OS: ubuntu 10.10 32 bit (04:29:52 PM) Philip`: Mark1: It's something with the enet build scripts that needs fixing, but I don't have time to look into it now mark@mark-K52Dr:~/Desktop/game/binaries/system$ ./pyrogenesis ./pyrogenesis: error while loading shared libraries: libenet.so.0debian1: cannot open shared object file: No such file or directory |
|||
| #918 | fixed | Fix rendering of territories with holes | ||
| Description |
Consider territory assignments like: 00000000 01111110 01012130 01111110 00000000
where 0 is neutral. Might need to add a 'already processed' flag to tiles instead of setting them to 0, and then add a 'already has territory boundary at the +j edge of this tile' flag which is set when walking the boundary, then if we find a tile with different owner to its -j neighbour and that neighbour isn't neutral and doesn't have the edge flag then start a new walk around that edge to produce the inner boundary (with inverted direction). Or something like that. |
|||
| #920 | fixed | Crash on exit: Handle tag mismatch (stale reference?) | ||
| Description |
OS: Win 7 Pro 64-bit First time I've seen this type of error on this computer and not sure that I can reproduce it :/ Hope there's some info here that helps. Function call failed: return value was -120003 (Handle tag mismatch (stale reference?))
Location: h_mgr.cpp:235 (h_data_tag)
Call stack:
h_data_tag_type (h_mgr.cpp:247)
h = 600834437 (0x0000000023D00185)
type = 0x002D6060 ->
init = 0x0021D9D0 -> (OglTex_init)
reload = 0x0021DA20 -> (OglTex_reload)
dtor = 0x0021C820 -> (OglTex_dtor)
validate = 0x0021D2A0 -> (OglTex_validate)
to_string = 0x0021C860 -> (OglTex_to_string)
user_size = 64 (0x00000040)
name = 0x0029CFB8 -> "OglTex"
hd = (unavailable)
h_free (h_mgr.cpp:583)
h = 0x03A0F280 -> 60879008 (0x0000000003A0F0A0)
type = 0x002D6060 (see above)
hd = 0x03A0F280 (see above)
ogl_tex_free (ogl_tex.cpp:557)
ht = 0x03A10E3C -> 0 (0x0000000000000000)
UniFont_dtor (unifont.cpp:70)
f = 0x03A10E3C (see above)
Shutdown (h_mgr.cpp:747)
ModuleShutdown (module_init.cpp:72)
initState = 0x002DA8CC -> 4294867266 (0xFFFE7942)
shutdown = 0x0021FE60 -> (Shutdown)
h_mgr_shutdown (h_mgr.cpp:761)
Shutdown (gamesetup.cpp:672)
__formal = 0 (0x00000000)
LINE_624_ =
m_t0 = 56.3885 (0x404C31BA344CB175)
m_description = 0x00280078 -> "resource modules"
LINE_629_ =
m_t0 = 56.3885 (0x404C31BA344CB175)
m_description = 0x00280078 (see above)
LINE_634_ =
m_t0 = 56.3885 (0x404C31BA344CB175)
m_description = 0x00280078 (see above)
LINE_641_ =
m_t0 = 56.3885 (0x404C31BA344CB175)
m_description = 0x00280078 (see above)
LINE_647_ =
m_t0 = 56.3885 (0x404C31BA344CB175)
m_description = 0x00280078 (see above)
LINE_651_ =
m_t0 = 56.3885 (0x404C31BA344CB175)
m_description = 0x00280078 (see above)
LINE_655_ =
m_t0 = 56.3885 (0x404C31BA344CB175)
m_description = 0x00280078 (see above)
LINE_661_ =
m_t0 = 56.3885 (0x404C31BA344CB175)
m_description = 0x00280078 (see above)
LINE_674_ =
m_t0 = 56.3885 (0x404C31BA344CB175)
m_description = 0x00280078 (see above)
RunGameOrAtlas (main.cpp:493)
argc = 2 (0x00000002)
argv = (unavailable)
args =
m_Args = (unsupported vector<pair<CStr8,CStr8> >)
m_Arg0 =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 92 ('\')
paths =
m_root =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_rdata =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 8
m_data =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 62776
m_config =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 10072
m_cache =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 14458
m_logs =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 10066
replay =
m_Stream = 0x00000000
mod =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 57914
zip =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 23
paths =
m_root =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_rdata =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 8
m_data =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 62776
m_config =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 10072
m_cache =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 14458
m_logs =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 10066
builder =
m_VFS =
px = 0x020A2750 -> (IVFS)
pn =
pi_ = 0x002A0035 ->
use_count_ = 1811939328 (0x6C000000)
weak_count_ = 1979737344 (0x76006500)
m_Files = (unsupported vector<Path >)
m_TempDir =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 335
main (main.cpp:511)
argc = 2 (0x00000002)
argv = 0x020A7B38 -> 0x01FC83F0 -> "C:\Users\Ben\devel\ps\binaries\system\pyrogenesis.exe"
wmain (wseh.cpp:380)
argc = 2 (0x00000002)
argv = 0x01FC7A00 -> 0x01FC7A0C -> "C:\Users\Ben\devel\ps\binaries\system\pyrogenesis.exe"
utf8_argv = (unsupported vector<char * >)
ret = 33323520 (0x01FC7A00)
utf8 = (unsupported basic_string<char,char_traits<char> >)
CallStartupWithinTryBlock (wseh.cpp:397)
ret = 0 (0x00000000)
RtlInitializeExceptionChain (:0)
RtlInitializeExceptionChain (:0)
errno = 0 (No error reported here)
OS error = 487 (Attempt to access invalid address.)
|
|||
| #921 | fixed | [PATCH] Improve UI notification for failing attempts to build | ||
| Description |
There are now a number of restrictions on where a building can be placed and possible limitations on how many can be built, in addition to its cost. Currently we don't distinguish between all these cases, a failure is indicated by a red-colored placement preview or sometimes a UI notification. To make this clearer, the following are proposed:
|
|||
| #922 | fixed | Keep unit hitpoints percent unchanged when it promoted | ||
| Description |
Currently when unit promoted it become full health. Health should be changed to the same percent as unit had before promotion. See discussion here: http://www.wildfiregames.com/forum/index.php?showtopic=1219&view=findpost&p=223855 |
|||
| #923 | fixed | Increase and balance stats for Carthaginian rank upgrades | ||
| Description |
Each promoted citizen-soldier for Carthage needs new increased stats for each rank. Iberians, Greeks, and Celts all have these stat upgrades, but Carthage does not yet. |
|||
| #924 | fixed | [PATCH] Fix Actor Editor build in Windows | ||
| Description |
Actor Editor has never worked for me in Windows, but apparently it is still used. So I've tried fixing the manifest issues, based on the same "hacks" used in the game itself. I'm not sure it would work in a 64-bit build, but at least the 32-bit build works for me in Windows 7 64-bit (compiled with VC2010 Express). |
|||
| #925 | needsinfo | [NEEDS INFO] unhandled exception (Access violation writing 0x004D2F9C) | ||
| Description |
Error occurred when using the Atlas editor. Details: unhandled exception (Access violation writing 0x004D2F9C) Location: unknown:0 (?) Call stack: 695DC61F 6991E77B 6991A122 695C4804 |
|||
| #926 | fixed | Smooth Fog of War (FoW) | ||
| Description |
do not let the fog of war be revealed jumpily, i mean do not let it go back tile by tile when a unit enters unexplored areas... rather make it draw back smoothly like in age of empires online: example this would be a graphical feature only to make the game look fresh. no need to touch gameplay. philip left a short comment on the issue in the forums. |
|||
| #927 | fixed | [ATLAS] Increasing number of players is broken | ||
| Description |
If you open a map in Atlas with e.g. 2 players, and increase that to 3 players, the PlayerManager component won't get updated because that only happens when a map is loaded. So PlayerManager and the player settings in Atlas are out of sync, which hasn't been a problem until lately. Now that we have territories and build limits, there will be warnings if you try to place a building for the newly created player (their ID doesn't exist) and even incorrect rendering of its territory borders. A possible solution is to reload the map (at least run simulation init?) when the number of players is changed, which shouldn't happen too often. Or we can try to add some special logic to manually add/remove players, which seems like a hack. Also I've noticed two related bugs that affect the Atlas UI:
|
|||
| #928 | fixed | [ATLAS] Invalid player ID warnings in actor viewer | ||
| Description |
When you open actor viewer in Atlas, there are hundreds of warnings like these occurring in the background: WARNING: GetPlayerByID: no player defined for id '0' (0)@simulation/components/PlayerManager.js:28 only they aren't rendered, so you don't notice them until returning to editor mode or checking the logs. There's no more call stack given, so it's likely some part of the engine is using PlayerManager when it shouldn't be. |
|||
| #929 | duplicate | Actor Editor can't find libAtlasUI.so in Linux | ||
| Description |
As reported here, Actor Editor builds as part of Atlas but it won't run on Linux. It's trying to use a path relative to the build directory to locate libAtlasUI.so, instead of the library's output directory (which is binaries/system). This is a bug in both our new and old build system. |
|||
| #930 | fixed | [PATCH] Incremental update of pathfinder's passability grid | ||
| Description |
When there is changes of the terrain or passability obstructions on the map, the pathfinder has to update a tile based representation of the world. This grid of tiles is needed by the long pathfinder to compute speedily long range paths. Currently, when the pathfinder need to update its grid, it recompute the full grid instead of taking care only about regions that are modified. It is a little waste of time. Since the grid is easy to compute there is nothing worrying for now but it can become harmful when we will try to optimize the pathfinder. Optimizations will need to have a way to reprocess only modified tiles because it is basically done by precomputing more than the tile grid. This ticket is related to some "TODOs" in the simulation code that can be found
|
|||
| #931 | duplicate | [PATCH] Fix OpenAL issues on OS X | ||
| Description |
OS X CoreAudio has some trouble with our reuse of sources (see http://www.wildfiregames.com/forum/index.php?showtopic=15066). There are various bandaids such as FIFO reuse (thus giving CoreAudio more time to finish what it's doing before we reset the source properties). However, one proper fix might be to just generate/delete sources anew. This used to be super expensive on hardware implementations, but OpenALsoft should manage much faster. I have implemented this approach (see attached patch) and run a quick test. With the old suballocator, running -autostart="We Are Legion", sending the front middle guy forwards and waiting for the dust to clear, I see tc_OpenAL_source: 3790.03 kc (5203x) (about 0.2 us per alloc). The new patched version gets tc_OpenAL_source: 239.762 Mc (5411x). Apparently the battle went slightly differently, there were also more casualties, but the per-alloc cost is indeed higher (14 us). Still nothing to worry about; I think this approach is fine on software implementations of OpenAL. I'd appreciate people testing this on OS X, which requires removing the little kill-switch in hwdetect.js. Questions:
Jan - this didn't work. See my notes below. (kenny) |
|||
| #932 | fixed | Cast shadow onto water surface. | ||
| Description |
Currently shadows of objects next to water go right through and fall on the ground below the water. This makes objects that float on water(ships)seem unreal and as if they are floating on air, so to speak. It would be nice to have shadows cast on the surface of the water. |
|||
| #934 | fixed | Remove Premake3 build scripts | ||
| Description |
Remove the old build scripts in favour of the Premake4 ones. We do not want to be supporting two build systems! |
|||
| #935 | fixed | [PATCH] Use standard SDL in Windows (remove custom API) | ||
| Description |
Via Philip in IRC (referring to #907): It might be best to just try retiring wsdl and switching to standard SDL, which would hopefully handle this stuff automatically ... It should be pretty straightforward to set up (disable CONFIG2_WSDL and provide the necessary DLLs etc) - the tricky bit is just testing that everything still works (cursors, fullscreen, multi- monitor, Atlas, etc)
Relevant code is |
|||
| #936 | fixed | Fish cause strange Dock placement behavior | ||
| Description |
Fish allow the player to place a dock foundation, but do not allow the building to be constructed, so the units will continue trying to build the dock forever. Fish, via a vis dock placement, should have one of two behaviors: -- The foundation can be placed and the fish are "destroyed." or -- Fish block foundation placement. This is particularly a problem for the Carthaginian Naval Harbour, since its foundation footprint is so large. |
|||
| #937 | fixed | Delete/Kill command no longer works | ||
| Description |
error: gui/session/input.js line: 1098 |
|||
| #939 | fixed | Match Setup Screen Does Not Render Player Color Correctly | ||
| Description |
In match setup screen, sometimes the custom player colors do not render the correct color. I believe they are defaulting to black or something. Select the Cycladic Archipelago IV or Peloponnese map to see this. |
|||
| #941 | fixed | [PATCH] Experiment with camera FOV | ||
| Description |
Extracts from #glest IRC: 15:48 <@softcoder> Philip`, i mentioned this before, people don't like the camera view in 0ad 15:48 <@softcoder> if the camera 'felt more 3d' like in glest I think it would make a lot more people happy 15:50 <@softcoder> A number of people have mentioned to me (When i told them to look at 0ad) its isometric 15:51 < Philip`> softcoder: Maybe it's an issue of having a narrow FOV? 15:51 <@softcoder> i think outs is 45 15:51 < Philip`> Ours is 20 degrees, I believe 15:52 * Philip` has no idea why it's that, other than it being what someone picked about eight years ago and then nobody bothered changing it 15:53 < Swyter> FYI: BFME2 uses a 45º camera
Might be good to try changing |
|||
| #944 | fixed | [ATLAS] Apply image to terrain / import heightmap | ||
| Description |
Making realistic maps would be easier if we could overlay map textures on the terrain and paint elevation accordingly. We could also add an import heightmap feature, where an existing bitmap image gets interpreted as heightmap data. http://www.wildfiregames.com/forum/index.php?showtopic=14959 |
|||
| #945 | needsinfo | Linux nVidia TwinView Malfunctions | ||
| Description |
On an nVidia card under linux when using the nVidia drivers, if one has a dual-monitor setup, the game takes control of both monitors and displays precisely in the center of them, resulting in extremely delayed mouse movements (since these are handled by OpenGL), and making the windowed mode the only option to play the game. |
|||
| #946 | duplicate | [SOUND] Music stops playing when returning to main menu | ||
| Description |
The main menu and in-game music play correctly the first time you start a game, but it's silent after you exit and return to the main menu. If you repeat this procedure sometimes the main menu music will start to play, but it sounds very choppy. |
|||
| #947 | fixed | [PATCH] Fix OS X app bundle | ||
| Description |
The new build system with Premake4 creates an app bundle for GCC and Xcode. It's incomplete, only generating the binary, and won't run properly. It seems all the game data and libraries should be copied into the bundle using the appropriate structure, which would be a nice official distribution method for OS X. It doesn't seem practical for SVN users because they want the structure of the SVN, not an app bundle. So perhaps the default compile on OS X should be a plain binary, but using a new flag an app bundle gets generated (once we work out the technical details). Also worth investigating is how Xcode3 manages to compile and run an incomplete bundle (it works for me).
|
|||
| #948 | fixed | [PATCH] Add buttonSound attribute to buttons | ||
| Description |
We want all buttons to sound the same. To avoid editing all the onPress functions scattered throughout, we should add an attribute that can reference the sound file. Ideally, this attribute would be included in the style so it would only have to be changed in one place. It will probably involve adding another GUI property and making CButton detect it and do whatever PlaySound does. |
|||
| #949 | fixed | Use the system's mouse sensitivity until you have implemented an options page. | ||
| Description |
You should use the same mouse sensitivity as the operating system. Why? Because people are familiar with their own mouse sensitivity settings from the operating system. You could just get the absolute mouse position and draw the game cursor from that. This should be fair enough until you implement the options page. I'm on Linux and the game runs great but I can't play with this low sensitivity. On Windows the game seems to use another sensitivity. |
|||
| #950 | fixed | Scenarios broken by territories | ||
| Description |
Following is a list of scenarios that break with territories (isolated buildings are slowly destroyed):
|
|||
| #951 | fixed | Make max population available to an AI | ||
| Description |
The max population is useful for an AI to know when to stop building houses since they won't increase the limit any further. I have created a patch which adds a line to GuiInterface.js for this. |
|||
| #952 | invalid | Solve the gender unconsistency | ||
| Description |
First of all I want to say that I absolutley love this project. This game will surely be a classic for ages since it can be forked and compiled for new platforms when needed. I just have one thought about the gender unconsistency. Women are obviously the main workers in the game but some men can work too.
Also, there is unconsistency in the "find idle workers" button. This button finds women, working men but also men that are on a horse and obviously cannot work. I really believe making women the workers and men the warriors can reduce gameplay complexity. Also, you will face major animation problems with the current approach since men that are both warriors and workers often have shields and spears and stuff but when they are lumbering wood or minig their equipment just disappear. I hardly think you could fix that glitch. I love women but I really think you should let them be the workers (who can build advanced structures too) and let men be the warriors. (Okay some Heroes are women but you get the idea) This is obviously inspired by Age of Empies. I love that game and have played it since I was a kid. They use villagers for constructing things and gathering stuff and warriors for war. I think that is a key thing. Any thoughts about his? |
|||
| #953 | fixed | [PATCH] local.cfg adds keys instead of replacing them | ||
| Description |
When defining custom keys in local.cfg, the keys appear to work in addition to the existing ones from default.cfg, rather than instead of them. For instance. Specifying
in local.cfg causes the Q key to activate both camera.left and the existing
The same is true for e.g. trying to change
Also, using local.cfg to try and set the Escape key to certain commands does not work. |
|||
| #954 | fixed | Icon needs be in higher resolution | ||
| Description |
Just a reminder. 256 x 256 should be enough. EDIT: 128x128 icon committed. An icon without the shadow should be better (as for OS X) see: http://www.wildfiregames.com/forum/index.php?showtopic=15902 Icon without shadow available at: http://www.wildfiregames.com/forum/index.php?showtopic=15902&st=0&p=237549&#entry237549 |
|||
| #955 | fixed | Please add alpha version also in main menu | ||
| Description |
Currently it only shows the svn revision. It will ease identification of game version. Alpha version (along with svn revision) is alredy shown during gameplay. |
|||
| #956 | fixed | In-Game music no longer plays | ||
| Description |
Music no longer plays in the game. Greek peace track, Carthaginian peace track, etc. This has happened within the last day or two. |
|||
| #957 | fixed | Test failure | ||
| Description |
On Ubuntu Linux using r10256: Running 253 tests......................................................................ERROR: JavaScript error: simulation/components/GuiInterface.js line 63 TypeError: cmpPlayer.GetMaxPopulation is not a function ()@simulation/components/GuiInterface.js:63 ()@simulation/components/tests/test_GuiInterface.js:123 In TestComponentScripts::test_scripts: ../../../source/pch/test/../../../source/simulation2/components/tests/test_scripts.h:44: Error: Test failed: L"Running script simulation/components/tests/test_GuiInterface.js" ../../../source/pch/test/../../../source/simulation2/components/tests/test_scripts.h:44: Error: Assertion failed: scriptInterface.LoadScript(pathname, wcontent) ...................................................................................................................................................................................... |
|||
| #958 | fixed | [PATCH] Allow building in fog of war, within player's territory | ||
| Description |
A player's territory will always be explored (either visible or in FoW), so they should be allowed to build anywhere in that territory. |
|||
| #959 | fixed | Simultaneous unit queuing for buildings | ||
| Description |
If multiple of the same building are selected and a unit is trained, it will only queue in the first selected building. It would be more useful if the unit was queued in each of them simultaneously. I'm not sure how to handle this when multiple different buildings are selected (probably just hide the command panel buttons in that case since it's not clear which set should be displayed). |
|||
| #960 | fixed | Add Latin Small Letter Schwa (ə) to fonts | ||
| Description |
The native name of the Carthaginian infantry javelinists (Səḫīr Kidōn) references the small Latin schwa (U+0259 in IPA Extensions of the Unicode standard) which is not yet included in our fonts. I don't know how we usually handle this, should we add in all letters up to and including the schwa (we have a gap between U+0241 and U+1E00)? Need we include all the IPA Extensions for completeness (about 100 new characters)? The characters are defined in charset.txt, all the fonts would need to be rebuilt (see the fontbuilder2 utility for details). |
|||
| #961 | fixed | Music Manager | ||
| Description |
Currently the music code is a broken mess, full of hacks, and the GUI scripts are responsible for most of the logic. We need a music manager implemented in the engine, preferably with a worker thread so it's independent of the render loop. Maybe a reasonable level of abstraction is that of a simple media player:
This task may require changes to snd_mgr as well, if it doesn't provide the functionality we need. |
|||
| #962 | invalid | Proposal: Females should be able to build any structure | ||
| Description |
I posted a similar ticket before that got tagged invalid because I proposed a lot of invalid things also. I'm opening this ticket exclusively to flag my proposal to let females build any structure. Why should you need to train a warrior/constructor to build war structures? Maybe you mean it takes a warrior to build a warriors structure, but that doesn't make any sense because then how can a novice warrior/constructor build something that can train champions and heroes? The student does not defeat it's master if you know what I mean. Females should be like villagers in Age of Empires i believe. Please let this ticket be open to allow for discussion, even if it's a designers decision at the end. |
|||
| #963 | fixed | AI bot scripts - civic center trainingQueue | ||
| Description |
Between the alpha 7 and the svn versions, issues appeared with my AI bot, but it is not visible when you are a human. Test case :
I have traced the element 0 in the queue and it has a progress property which is always 0 during the training of the unit, and it goes straight to a number close to 1 when the unit is released. |
|||
| #964 | fixed | Crash during mission startup on Sis integrated card | ||
| Description |
After starting match on any map game shows black space or glitches instead of textures and crashes sooner or later. Maybe this is caused by graphical driver without OpenGL support and therefore running in software emulation mode. Drivers are up to date, most DirectX games and many free (Lugaru, Warzone2100 and others) OpenGL-based run with low fps on my hardware, but very few crashes. |
|||
| #965 | fixed | Allow media keys for changing volume in game | ||
| Description |
There is currently no way to change volume in game. You have to guess what volume to use, enter the game and test, leave the game and adjust, enter again and play. Media keys should be enabled to allow easy volume adjustment and control e.g. rhytmbox. |
|||
| #966 | fixed | Incorrect Transparent Water Randering on core i3 HD 3000 | ||
| Description |
On core i3 HD 3000 integrated graphics water does not render properly . Water rendered perfectly with alpha 5 and alpha 6 however alpha 7 water rendering error for better description see attached image . It shows part of the water of the tropical island map . |
|||
| #967 | duplicate | Wild Animals Destroy Buildings | ||
| Description |
Some of my villagers angered a wild elephant and the wild elephant followed my villagers back to the town center where it killed all the villagers and then started attacking the town center . After a while the town center was destroyed . |
|||
| #969 | fixed | [PATCH] Territory support for the AI | ||
| Description |
This patch gives the AI a map of the territories in the game. The main issue with the patch is that territory data is regenerated each turn which is inefficient. I have tried looking at the DirtyID for the grid generated but it is always 0. As historic_bruno mentioned build restrictions data needs to be added to the gamestate. Currently I don't think is is urgent since only docks and CCs are different and they need special handling already by an AI script. There is a post on the forums here. |
|||
| #970 | invalid | Celtic War Dogs (Coun) Carry food ? | ||
| Description |
I found this very strange that if a coun(Clectic War Dog) Kills an animal it carries back food to deposit at nearest deposit point . |
|||
| #971 | fixed | Sheep run away too fast for villagers to try to kill them | ||
| Description |
Sheep reared for food run away to fast for villagers trying to kill them for food . (they should run at least at a speed less than wild animals ). |
|||
| #972 | fixed | [PATCH] Pass events to AI | ||
| Description |
An events array is created by AIInterface and AIProxy but isn't exposed by base.js. This patch just gives the array to the AI's. |
|||
| #973 | fixed | [PATCH] Add naval / water map support to AIs | ||
| Description |
The AI should build a dock, train a boat and then attack when it feels like it has a strong army. |
|||
| #974 | fixed | JuBot should not be able to place non-civ center structures outside of its own territory | ||
| Description |
Currently JuBot is placing structures outside of its territory. You can place a civ center to capture new territory but often I see enemy structures that's not a civ center way out of territory. |
|||
| #975 | worksforme | Game slows down drstically when I destroy JuBots Town Center | ||
| Description |
The moment I destroy JuBot's Town Center the game almost freezes as JuBot calculates where to construct a new town center . Only after it starts constructing the new town center the game gradually limps back to normal speed . Sometimes if I destroy JuBot before it creates the town center the game jumps to double or quadruple normal speed . |
|||
| #976 | fixed | Alpha 7 doesn't start in Windows | ||
| Description |
In my case, the latest version won't run in Windows 7 32 bit (updated version). The version number is Alpha 7 (0ad-r10288-alpha-win32) and it is installed in the default directory. I tried completely uninstalling the previous version, restarting the system and running the executable as administrator. When "pyrogenesis.exe" is opened, it seems to read on the harddisc, but nothing happens. After less than half a minute the HD is no longer accessed and the game remains visible in task manager using more than 90% CPU. It can only be stopped by ending the process. No logs are generated. The debug output is in the attachment. |
|||
| #977 | fixed | Random map generation on different platforms can cause multiplayer OOS error | ||
| Description |
With certain combinations of systems, there are multiplayer out-of-sync errors when playing random maps. It appears to be a difference in floating point precision, some entity positions differ by 0.00001 or 0.00002 units. One such configuration:
OOS logs are attached for comparison. |
|||
| #978 | worksforme | Rare crash in Intel drivers in glvwprintf on Win7 | ||
| Description |
Using SVN at r10318. Not sure what caused it, haven't been able to re-produce. |
|||
| #979 | fixed | [PATCH] Prop variations not working when attached to specific animations | ||
| Description |
When a unit has been set up to attach a prop only when a certain animation is playing, it will only show the first variant, rather than randomly choosing a variant from the list. Examples:
|
|||
| #981 | fixed | Carthage StartEntities - no merceneries | ||
| Description |
Carthage should have only own troops as StartEntities and not mercenaries. |
|||
| #982 | fixed | Add "debugging mode" to command handling | ||
| Description |
Since we've temporarily disabled build restrictions for AIs, it has revealed subtle flaws in AI logic, since previously commands would silently fail under certain conditions. So a "debugging mode" is proposed for Commands.js, which would optionally show errors that occur during command handling ("Gather failed: resource not owned by player", "Construct failed: invalid location", etc.) The idea is this mode could be used by AI developers to test changes in their scripts (and possibly UI devs?). Really it only needs to be a flag set somewhere, which parts of Commands.js would check before displaying a message on failure. Even a simple message would be helpful. |
|||
| #983 | fixed | [PATCH] Add AI metadata and rawEntity to destroy events | ||
| Description |
Currently when an entity is destroyed the metadata is lost with no way for the AI to access it. This means when an entity is destroyed an AI can find out nothing about it unless it has cached the detail somewhere else. Forcing AI's to make a secondary metadata cache is not good so this patch puts the metadata into the event object. The metadata is added to an array so player 2's metadata is in metadata[2] etc. This is because the events object is shared between AI's. |
|||
| #985 | fixed | test show: "APIC: all zero" | ||
| Description |
Since some days when I run the tests on my Ubuntu 10.10 I get this output: Running 253 tests.............................................................APIC: all zero ................................................................................................................................................................................................OK! Dunno if it's a problem or not... |
|||
| #986 | fixed | [ATLAS] Crashes when trying to open non-existant file | ||
| Description |
Hi, Atlas crashes when trying to open non-existent file.
Lost my work, :)
Asmartgoat |
|||
| #987 | fixed | editor: OpenGL errors | ||
| Description |
When running '0ad -editor' I get the following GL errors (note also that I am using mesa compiled with --enable-debug which shows also some other useful errors): $ ./0ad -editor [Thread debugging using libthread_db enabled] TIMER| LoadDLL: 621.435 ms [New Thread 0xb5befb70 (LWP 2897)] Cache: 200 (total: 1493) MiB [New Thread 0xa7adfb70 (LWP 2898)] TIMER| InitVfs: 2.28409 ms TIMER| InitScripting: 1.73954 ms TIMER| CONFIG_Init: 5.40969 ms [New Thread 0xa6cffb70 (LWP 2899)] [New Thread 0xa64feb70 (LWP 2900)] [New Thread 0xa44feb70 (LWP 2901)] r300: DRM version: 2.9.0, Name: ATI RV530, ID: 0x71c5, GB: 1, Z: 2 r300: GART size: 509 MB, VRAM size: 256 MB r300: AA compression RAM: YES, Z compression RAM: YES, HiZ RAM: YES APIC: not unique TIMER| RunHardwareDetection: 19.6156 ms [New Thread 0xa37e8b70 (LWP 2902)] TIMER| InitRenderer: 3.03768 ms TIMER| ps_console: 15.347 ms TIMER| ps_lang_hotkeys: 1.26615 ms TIMER| common/emptyinit.xml: 817.491 us GAME STARTED, ALL INIT COMPLETE Mesa: User error: GL_INVALID_VALUE in glScissor GL_INVALID_VALUE OpenGL error(s) occurred: 0501 Mesa: User error: GL_INVALID_VALUE in glOrtho ERROR: CRenderer::EndFrame: GL errors occurred TIMER| shutdown actor stuff: 2.654 us TIMER| shutdown TexMan: 3.562 us [Thread 0xa37e8b70 (LWP 2902) exited] TIMER| shutdown Renderer: 4.92157 ms TIMER| shutdown SDL: 655.111 us TIMER| shutdown UserReporter: 2.445 us TIMER| shutdown ScriptingHost: 596.235 us TIMER| shutdown ConfigDB: 2.165 us TIMER| resource modules: 12.4155 ms TIMER TOTALS (9 clients) ----------------------------------------------------- xml_validation: 21.1427 Mc (19x) tc_ShaderValidation: 8672.78 kc (17x) tc_pool_alloc: 10.9776 Mc (3494x) tc_linkProgram: 0 c (0x) tc_compileShader: 0 c (0x) tc_transform: 1554.28 kc (126x) tc_plain_transform: 346.502 kc (126x) tc_dds_transform: 1018.72 kc (378x) tc_png_decode: 12.245 Mc (16x) ----------------------------------------------------- TIMER| shutdown misc: 573.187 us [Thread 0xb5befb70 (LWP 2897) exited] lost connection to FAM[Thread 0xa7adfb70 (LWP 2898) exited] [Thread 0xa64feb70 (LWP 2900) exited] [Thread 0xa6cffb70 (LWP 2899) exited] [Thread 0xa44feb70 (LWP 2901) exited] Program exited normally. I recall I see something similar already reported on the forums. EDIT: forum thread: http://www.wildfiregames.com/forum/index.php?showtopic=15164 |
|||
| #988 | fixed | SIGSEGV: fScrollConstant (msg=0x87ea6b0) at ../../../source/tools/atlas/GameInterface/Handlers/CameraCtrlHandlers.cpp:66 | ||
| Description |
While using the editor I got the following Segmentation fault: $ ./0ad -editor [Thread debugging using libthread_db enabled] TIMER| LoadDLL: 1.10503 s [New Thread 0xb5befb70 (LWP 2872)] Cache: 200 (total: 1493) MiB [New Thread 0xa7cdfb70 (LWP 2873)] TIMER| InitVfs: 4.095 ms TIMER| InitScripting: 3.27695 ms TIMER| CONFIG_Init: 19.3886 ms [New Thread 0xa6effb70 (LWP 2874)] [New Thread 0xa66feb70 (LWP 2875)] [New Thread 0xa4624b70 (LWP 2876)] r300: DRM version: 2.9.0, Name: ATI RV530, ID: 0x71c5, GB: 1, Z: 2 r300: GART size: 509 MB, VRAM size: 256 MB r300: AA compression RAM: YES, Z compression RAM: YES, HiZ RAM: YES APIC: all zero TIMER| RunHardwareDetection: 61.2039 ms [New Thread 0xa3c3cb70 (LWP 2877)] TIMER| InitRenderer: 11.5959 ms TIMER| ps_console: 38.365 ms TIMER| ps_lang_hotkeys: 1.27956 ms TIMER| common/emptyinit.xml: 28.337 ms GAME STARTED, ALL INIT COMPLETE Mesa: User error: GL_INVALID_VALUE in glScissor GL_INVALID_VALUE OpenGL error(s) occurred: 0501 Mesa: User error: GL_INVALID_VALUE in glOrtho ERROR: CRenderer::EndFrame: GL errors occurred TIMER| shutdown actor stuff: 2.863 us TIMER| shutdown TexMan: 2.934 us [Thread 0xa3c3cb70 (LWP 2877) exited] TIMER| shutdown Renderer: 4.99875 ms TIMER| shutdown SDL: 641.912 us TIMER| shutdown UserReporter: 1.956 us TIMER| shutdown ScriptingHost: 536.591 us TIMER| shutdown ConfigDB: 1.955 us TIMER| resource modules: 15.4666 ms TIMER TOTALS (9 clients) ----------------------------------------------------- xml_validation: 43.1689 Mc (19x) tc_ShaderValidation: 29.8825 Mc (17x) tc_pool_alloc: 25.0317 Mc (2409x) tc_linkProgram: 0 c (0x) tc_compileShader: 0 c (0x) tc_transform: 2809.59 kc (126x) tc_plain_transform: 858.286 kc (126x) tc_dds_transform: 1504.18 kc (378x) tc_png_decode: 28.9777 Mc (16x) ----------------------------------------------------- TIMER| shutdown misc: 594.838 us Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb5befb70 (LWP 2872)] fScrollConstant (msg=0x87ea6b0) at ../../../source/tools/atlas/GameInterface/Handlers/CameraCtrlHandlers.cpp:66 66 if (g_Game->GetView()->GetCinema()->IsPlaying()) Undefined command: "". Try "help". Kill the program being debugged? (y or n) [answered Y; input not from terminal] I am however unable to reproduce it and it may be related to #987. |
|||
| #989 | invalid | Entity with soldier class but no position | ||
| Description |
When Pureon was testing against qBot he hit the error TypeError: ent.position() is undefined in the block of code http://pastebin.com/GFzwHLCG The full contents of interestinglog are attached. It was about 10 minutes into a game on Oasis IV with qBot as hele. JuBot was also playing. Since the line with the error is only run when the entity has CitizenSoldier or Super class I think it must be an engine bug for position to not be defined. The version of qBot at the time was: https://github.com/quantumstate/qBot/commit/77a95a4160166cf23962d62001324f5b8c45efd7 |
|||
| #990 | fixed | [PATCH] build with system provided libmozjs185 | ||
| Description |
This is a build system patch to build with system provided libmozjs185 especially on linux. This helps in removing dependency on building SpiderMonkey on linux. |
|||
| #991 | fixed | [PATCH] add attackStrengths and armorStrengths functions to ai api for bots | ||
| Description |
Adds attackStrengths and armorStrengths functions to ai api for bots. This will help for all the bots in accessing their strengths and enemies strengths. this removes todo in entity.js for attack and armor |
|||
| #992 | fixed | error: attributes are not allowed on a function-definition | ||
| Description |
I have following error when trying to compile r10384 with gcc 4.5.2: ../../../source/lib/allocators/unique_range.cpp:53:80: error: attributes are not allowed on a function-definition |
|||
| #996 | fixed | [PATCH] Capturing Buildings | ||
| Description |
This should fit in nicely with our new territories implementation and proposed unit conversion. Currently all units can attack structures, but this will change so that only siege units destroy buildings while capturing will replace their attacking behavior. Some outdated info from the design doc:
|
|||
| #998 | fixed | gfx::CardName gets confused by multiple GPUs | ||
| Description |
I have an Intel HD Graphics 3000 plus a GeForce GTX 560 Ti, both enabled in the BIOS, on 64-bit Win7. My monitor is connected to the GF card, and that card is used for rendering the game. Also I have Lucid Virtu installed but set to "off" (I don't know if that will affect anything). (If I switch the monitor connection to the motherboard's video output, then restart the game, the Intel GPU is used for rendering instead (judging by performance and the list of extensions), but I'm not doing that in this bug.)
Graphics Card : Intel(R) HD Graphics Family
which is wrong or at least misleading. (
This happens because [0] ("AcceleratorCapabilities", NULL)
[1] ("AdapterCompatibility", BSTR = 0x00478a14 "Intel Corporation")
[2] ("AdapterDACType", BSTR = 0x00468854 "Internal")
[3] ("AdapterRAM", I4 = -244785152)
[4] ("Availability", I4 = 8)
[5] ("CapabilityDescriptions", NULL)
[6] ("Caption", BSTR = 0x00478a5c "Intel(R) HD Graphics Family")
[7] ("ColorTableEntries", NULL)
[8] ("ConfigManagerErrorCode", I4 = 0)
[9] ("ConfigManagerUserConfig", BOOL = 0)
[10] ("CreationClassName", BSTR = 0x00478ab4 "Win32_VideoController")
[11] ("CurrentBitsPerPixel", NULL)
[12] ("CurrentHorizontalResolution", NULL)
[13] ("CurrentNumberOfColors", NULL)
[14] ("CurrentNumberOfColumns", NULL)
[15] ("CurrentNumberOfRows", NULL)
[16] ("CurrentRefreshRate", NULL)
[17] ("CurrentScanMode", NULL)
[18] ("CurrentVerticalResolution", NULL)
[19] ("Description", BSTR = 0x00478afc "Intel(R) HD Graphics Family")
[20] ("DeviceID", BSTR = 0x0047844c "VideoController2")
[21] ("DeviceSpecificPens", NULL)
[22] ("DitherType", NULL)
[23] ("DriverDate", BSTR = 0x00478b54 "20110831000000.000000-000")
[24] ("DriverVersion", BSTR = 0x00478be4 "8.15.10.2509")
[25] ("ErrorCleared", NULL)
[26] ("ErrorDescription", NULL)
[27] ("ICMIntent", NULL)
[28] ("ICMMethod", NULL)
[29] ("InfFilename", BSTR = 0x00478c1c "oem2.inf")
[30] ("InfSection", BSTR = 0x00478c54 "iSNBD0")
[31] ("InstallDate", NULL)
[32] ("InstalledDisplayDrivers", BSTR = 0x00478d44 "igdumd64.dll,igd10umd64.dll,igd10umd64.dll,igdumdx32,igd10umd32,igd10umd32")
[33] ("LastErrorCode", NULL)
[34] ("MaxMemorySupported", NULL)
[35] ("MaxNumberControlled", NULL)
[36] ("MaxRefreshRate", NULL)
[37] ("MinRefreshRate", NULL)
[38] ("Monochrome", BOOL = 0)
[39] ("Name", BSTR = 0x00478dfc "Intel(R) HD Graphics Family")
[40] ("NumberOfColorPlanes", NULL)
[41] ("NumberOfVideoPages", NULL)
[42] ("PNPDeviceID", BSTR = 0x004786fc "PCI\VEN_8086&DEV_0112&SUBSYS_D0001458&REV_09\3&13C0B0C5&0&10")
[43] ("PowerManagementCapabilities", NULL)
[44] ("PowerManagementSupported", NULL)
[45] ("ProtocolSupported", NULL)
[46] ("ReservedSystemPaletteEntries", NULL)
[47] ("SpecificationVersion", NULL)
[48] ("Status", BSTR = 0x00478e54 "OK")
[49] ("StatusInfo", NULL)
[50] ("SystemCreationClassName", BSTR = 0x00478ec4 "Win32_ComputerSystem")
[51] ("SystemName", BSTR = 0x00478f0c "PHILIP-PC")
[52] ("SystemPaletteEntries", NULL)
[53] ("TimeOfLastReset", NULL)
[54] ("VideoArchitecture", I4 = 5)
[55] ("VideoMemoryType", I4 = 2)
[56] ("VideoMode", NULL)
[57] ("VideoModeDescription", NULL)
[58] ("VideoProcessor", BSTR = 0x00478f44 "Intel(R) HD Graphics Family")
so it's only seeing the Intel one. |
|||
| #999 | fixed | [PATCH] Healing | ||
| Description |
The Heal Action is used by the Healer unit to regenerate the health of the player's organic units. While the action is applied to a viable damaged target, his hitpoints increase until restored to maximum, while the entity performs his "Heal" animation. Note that as with most actions, multiple entities can be tasked to the same target to speed up the rate of regeneration. |
|||
| #1000 | fixed | Please consider enabling https on trac and forum | ||
| Description |
At least with a self signed certificate, but google reveals that at least a CA ( http://www.godaddy.com/ssl/ssl-open-source.aspx ) gives a 1 year free certificate to open source projects. There were too many security problems involving open source projects recently. Https is just a little step on improving security. |
|||
| #1001 | fixed | [PATCH] Attack Move | ||
| Description |
The attack-move command should be implemented. This is a move command where the units attack any enemies that come into sight along the route, once the enemies are destroyed the units continue walking to the destination. |
|||
| #1002 | wontfix | Unreasonably poor perfomance in main menu | ||
| Description |
I have recently installed fresh Arch Linux and latest 2D drivers on my notebook along with LLVM-backed Mesa 3D renderer. 3D perfomance is poor but 2D is nice - Teeworlds works with 20-30 fps, for example. The question is - why does pure 2D animation in main menu go with 3-5 fps? |
|||
| #1004 | fixed | [PATCH] ActorEditor fails to load libAtlasUI at runtime | ||
| Description |
DescriptionRunning ActorEditor, ArchiveViewer or FileConverter return this error on Linux/Mac systems when build with the generated makefiles or XCode: Linux: ./ArchiveViewer: error while loading shared libraries: ../../../binaries/system/libAtlasUI.so: cannot open shared object file: No such file or directory Mac: dyld: Library not loaded: ../../../binaries/system/libAtlasUI.dylib Referenced from: /Users/[User]/Projects/0ad/binaries/system/./ActorEditor Reason: image not found Trace/BPT trap Running "objdump -p ActorEditor | grep AtlasUI" on Linux returns NEEDED ../../../binaries/system/libAtlasUI.so This relative path is wrong when the binary is in binaries/system. Removing the path from LDDEPS in the makefile or replacing it by a correct one solves the problem on Linux. On OSX for both the makefiles and Xcode, there's an additional -install_name option required for linking libAtlasUI.
PATCH:I've created a patch to only add static library projects to LDDEPS in makefiles. Unfortunately I'm not sure if I fully understand the reason why some libraries are added with the -l flag and also with a full relative path as LDDEPS. Premake only does this with Projects defined in its scripts as "StaticLib" or "SharedLib" and not for external libraries. I've tried replacing "links" with "linkoptions" only for the action "gmake", but it doesn't work because build-order-dependencies get lost this way. The advantage of my solution is that it won't change anything for the other platforms (e.g. Visual Studio). For the Mac I've added an install_name option. It's probably not a very clean solution like I did it, but I didn't want to change too much and risk other bugs just to fix this one.
Question:What is ColourTester? It has the same problem but I couldn't find any sources or buildscripts for it. |
|||
| #1005 | invalid | Shadows look bad | ||
| Description |
Shadows look bad in 10288-release, but they were ok earlier (in betas). Os: Ubuntu 11.4 GPU: ATI RV770 [Radeon HD 4850] (Proprietary driver) |
|||
| #1006 | worksforme | glDrawElements crash in CPatchRData::RenderBases | ||
| Description |
Much to our regret we must report the program has encountered an error. Please let us know at http://trac.wildfiregames.com/ and attach the crashlog.txt and crashlog.dmp files. Details: unhandled exception (Access violation reading 0x2EC010A4) Location: unknown:0 (?) Call stack: (error while dumping stack: No stack frames found) errno = 0 (No error reported here) OS error = 0 (no error code was set) After playing just say a minute or so at most the above did appear in an error dialog. Using the latest autobuild (from 10409) and SVN version 10427, but according to Ben it's an error in the terrain rendering code so that shouldn't be the problem. |
|||
| #1007 | fixed | Female Citizens change clothes before dying | ||
| Description |
I noticed this strange bug when killing some female citizens with archers in oasis 2 map. Just when they are struck by the final arrow they change there look clothes , hair colour etc just before the death animation kicked in . Tested on alpha 7 . I played carthagian faction . Jubot played greek faction . |
|||
| #1008 | wontfix | Hide unexplored territory borders in FOW | ||
| Description |
Currently if any part of the map is in your FOW, you can see the territory borders, as well as new and existing buildings (#599). I think you should have to explore the map to discover territory border changes, except for your own borders of course. So perhaps similar to the concept of "mirage entities" suggested in #599, there could be "mirage borders". |
|||
| #1009 | fixed | JuBot doesn't understand territory limitations for mills | ||
| Description |
JuBot is trying to build mills close to resources outside it's territory (which isn't allowed due to build restrictions, see [10408]), but the influence map for building placement leads it to the edges of its territory and it keeps trying to place more and more mills during the game. I think it should do two things: not worry about trying to build mills for a resource far outside it's own territory, and more importantly, have some logic for territory expansion. But at least the broken mill placement should be fixed. |
|||
| #1010 | worksforme | Error in BuildingAI FireArrows when a player with a tower is defeated | ||
| Description |
When testing with qBot vs JuBot I encountered this error which appeared repeatedly as soon as the "You have Won" dialog appeared. ERROR: Error in timer on entity 3114, IID 38, function FireArrows: TypeError: Engine.QueryInterface(target, IID_Position) is null ("Ranged",3108)@simulation/components/Attack.js:160 ([object Object],0)@simulation/components/BuildingAI.js:162 ([object Object])@simulation/components/Timer.js:93 I have a test scenario which allows fairly rapid reproduction of this error which I could upload if it would be helpful, but I would guess any map with a tower of a defeated player with an enemy in range should reproduce this. |
|||
| #1012 | fixed | [PATCH] COLLADA: Support special vertex weight index on skinned models | ||
| Description |
For skinned models, the COLLADA 1.4.1 spec allows a special vertex weight index of -1, which indicates the weight applies to the bind-shape matrix* instead of a particular bone, as seen in this example: <skin>
<source id="joints"/>
<source id="weights"/>
<vertex_weights count="4">
<input semantic="JOINT" source="#joints"/>
<input semantic="WEIGHT" source="#weights"/>
<vcount>3 2 2 3</vcount>
<v>
-1 0 0 1 1 2
-1 3 1 4
-1 3 2 4
-1 0 3 1 2 2
</v>
</vertex_weights>
</skin>
(*The bind-shape matrix represents the transform of the bind-shape prior to skinning, it transforms the bind-shape from object space to bind-space. It's specified by a Currently if you try to add such a model to the game, it will fail to import since the PMD converter thinks there are more than 256 bones (the -1 index is typecast to an unsigned int). Apparently Blender 2.60a likes to export such models and seems to have made general improvements to animation exporting, so we should find a way to implement this. As a workaround, it may be possible to export animations with Blender 2.6 and the corresponding models with an older version. |
|||
| #1013 | fixed | Atlas will not run | ||
| Description |
When the user tries to go into the atlas editor, it crashes. As a result of one or more of the changes made, it seems that the editor is unable to locate some of the files needed for it to run. |
|||
| #1014 | fixed | Health Bar Bug on Cavalry | ||
| Description |
Health bar covers the face of cavalry; perhaps present on other units as well. |
|||
| #1015 | invalid | Game physics | ||
| Description |
I have noticed that when two ships are next to each other, the two models will overlap into the same physical space. This issue is particularly pronounced with larger ships. What should happen is that one ship should stop when blocked by another, or the larger ship should push the smaller ship out of the way. While this may not seem significant, it is in fact critical to the matter of naval strategy. At the Battle of Salamis, one of the reasons that the Persians were defeated is that the vastness of their navy made it impossible for their ships to maneuver, making them easy prey for the Athenians. This would not have been a problem if their ships had been able to overlap into the same physical space! Thus in order to ensure realistic naval strategy, we must adhere faithfully to the laws of physics. |
|||
| #1016 | fixed | [PATCH] Fix frame rate counter | ||
| Description |
The frame rate counter (Shift+F) jumps around too much, the implementation should be filtering the time between frames to produce a smooth average, but it's obviously not working as intended. |
|||
| #1018 | duplicate | Crash / Error | ||
| Description |
After my population went over 150, and I started engaging in battle with other civs the game play slowed down dramatically. I checked the task manager and the exe was using over a Gig of memory. My system setup is: Win 7 Pro (64 bit) Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz 8 GB RAM Intel(R) HD Graphics Family Eventually the game crashed and gave me this error: Much to our regret we must report the program has encountered an error. Please let us know at http://trac.wildfiregames.com/ and attach the crashlog.txt and crashlog.dmp files. Details: unhandled exception (Access violation reading 0x4FF87350) Location: unknown:0 (?) Call stack: (error while dumping stack: No stack frames found) errno = 42 (?) OS error = 487 (Attempt to access invalid address.) |
|||
| #1019 | fixed | [PATCH] AIProxy doesn't receive garrison updates. | ||
| Description |
AIProxy provides the .garrisoned property which holds the units garrisoned. This is not updated however so it is always empty. This patch adds an update message to GarrisonHolder and listens for it in AIProxy. |
|||
| #1020 | worksforme | Problem loading game data on Vista | ||
| Description |
System specs: User says that since Alpha 5 they have been unable to play the game and receive errors like this: ERROR: Could not load mesh 'art/meshes/structural/hele_civic_struct.dae' ERROR: CObjectEntry::BuildVariation(): Model art/meshes/structural/hele_civic_struct.dae failed to load ERROR: Could not load mesh 'art/meshes/structural/hele_civic_struct.dae' ERROR: CObjectEntry::BuildVariation(): Model art/meshes/structural/hele_civic_struct.dae failed to load I suggested uninstalling, deleting all game and cache folders, then reinstalling. This reduced the error frequency but they still occur. Report is from this forum topic. |
|||
| #1021 | fixed | Atlas crashes any time there is a change within the game's directory. | ||
| Description |
Open Atlas. Now SVN commit something. Atlas will crash upon completion of SVN commit. Open Atlas. Save a new texture anywhere in the art folder. Atlas will crash. Here is the error message: Much to our regret we must report the program has encountered an error.
Please let us know at http://trac.wildfiregames.com/ and attach the crashlog.txt and crashlog.dmp files.
Details: unhandled exception (__int64(""))
Location: unknown:0 (RtlInitializeExceptionChain)
Call stack:
(error while dumping stack: No stack frames found)
errno = 13 (Insufficient access rights to open file)
OS error = 0 (no error code was set)
|
|||
| #1022 | fixed | [PATCH] Changing selection in actor viewer should display correct player colour | ||
| Description |
If you change selections in the object panel with actor viewer open, the player colour of the displayed entity becomes grey, but it should match the colour of the selected player. Probably this involves sending a player ID in the |
|||
| #1023 | fixed | Wrong smoke position | ||
| Description |
It's happening since about 1-2 weeks on SVN: I also installed official alpha VII and it's ok (just to confirm the regression is not from a graphic driver update). |
|||
| #1025 | fixed | [PATCH] Add config option to toggle pause on window focus loss | ||
| Description |
If you're playing a single player game and the window loses focus, the game will be paused until you return, which is OK but not everyone wants this behavior. It seems trivial to fix this by adding a new option to pauseonfocusloss = true |
|||
| #1026 | fixed | Render preview entities regardless of LOS | ||
| Description |
Preview entities are used when placing a new building, but currently the renderer treats them like any other entity and they get shaded by FoW/SoD. Instead there should be a new flag <Philip`> (It's just something I've vaguely wanted to do, but vaguely think it'll need some non-trivial changes to the renderer to allow per-model flags that influence the shader selection) |
|||
| #1027 | fixed | [PATCH] [ATLAS] Assertion failure in CBrush::Slice while editing map | ||
| Description |
Assertion failed: "idx < si.newv.size()" Location: Brush.cpp:246 (CBrush::Slice) Call stack: (error while dumping stack: No stack frames found) errno = 0 (No error reported here) OS error = 0 (no error code was set) |
|||
| #1028 | fixed | [PATCH] UI Enhancement: Right Click selection removal | ||
| Description |
Currently, when multiple units are selected, the player can remove a unit (or group of like units) from the selection by ctrl+left clicking the icon portrait of that unit in the selection UI (center panel). An enhancement here would be to also allow removal of units from the selection via simply right-clicking their icons in the center panel (no Ctrl key necessary). This does not replace the ctrl-left click, but adds a redundant method. Currently right-clicking icons in the center panel does nothing. This is a GUI enhancement only/does not effect ctrl-clicking behavior in the game world. |
|||
| #1029 | fixed | [PATCH] Spell colour/color properly | ||
| Description |
Currently the code and data files use a random mixture of "colour" and "color". To minimise confusion, we should change everything to use one form of spelling consistently. (Which form?) (There may be some other words with similar spelling problems.) (I don't think spelling in comments is worth caring about; only class names, XML element/attribute names, etc.) |
|||
| #1030 | fixed | Bounding box changes broke farm selection | ||
| Description |
After the awesome changes to the bounding box selection, it seems farms are no longer selectable via single click. You need to drag select them. Bug in the code or just missing an XML on the entity? |
|||
| #1031 | fixed | Config option to render cursors with OpenGL | ||
| Description |
Add a config option to render cursors using OpenGL instead of native Windows cursors. This will allow 0AD cursors to appear in game video recordings, rather than showing the default windows cursor. |
|||
| #1033 | fixed | Profiler-related GL errors | ||
| Description |
Here is the first error and the associated call stack from gDEBugger: Breaked-on: glGetQueryiv(GL_CURRENT_TIME_NV , GL_QUERY_COUNTER_BITS , 0x0020E718) Error-Code: GL_INVALID_ENUM Error-Description: An unacceptable value is specified for an enumerated argument. The offending command is ignored, and has no other side effect than to set the error flag. ReportGLLimits - hwdetect.cpp, line 493 RunHardwareDetection - hwdetect.cpp, line 197 InitGraphics - gamesetup.cpp, line 892 RunGameOrAtlas - main.cpp, line 494 main - main.cpp, line 516 wmain - wseh.cpp, line 380 __tmainCRTStartup - crtexe.c, line 552 CallStartupWithinTryBlock - wseh.cpp, line 396 BaseThreadInitThunk - kernel32.dll RtlInitializeExceptionChain - ntdll.dll That error occurs during startup and is not reported. The next occurs when enabling the profiler (F11) and is reported: Breaked-on: glGenQueries(8 , 0x05A8B798) Error-Code: GL_INVALID_OPERATION Error-Description: The specified operation is not allowed in the current state. The offending function is ignored, having no side effect other than to set the error flag. CProfiler2GPU_ARB_timer_query::RecordRegion - profiler2gpu.cpp, line 198 CProfiler2GPU::RegionLeave - profiler2gpu.cpp, line 835 CProfileViewer::RenderProfile - profileviewer.cpp, line 292 Render - gamesetup.cpp, line 273 Frame - main.cpp, line 385 RunGameOrAtlas - main.cpp, line 497 main - main.cpp, line 516 wmain - wseh.cpp, line 380 __tmainCRTStartup - crtexe.c, line 552 CallStartupWithinTryBlock - wseh.cpp, line 396 BaseThreadInitThunk - kernel32.dll RtlInitializeExceptionChain - ntdll.dll |
|||
| #1034 | fixed | Make qBot the default AI | ||
| Description |
Import qBot into 0 A.D. and make it the default bot for Alpha 8. qBot development can (and probably should) still happen in the Git repo, and periodically, when features are completed and tested, pulled back into 0 A.D. Therefore, I suggest quantumstate bring qBot AI into as stable a release as possible for the next Alpha release. |
|||
| #1035 | fixed | Crash in JS_free when starting random map | ||
| Description |
When I try to start a random map sometimes I get this segmentation fault. Program received signal SIGSEGV, Segmentation fault. 0xb799ab01 in JS_free () from /usr/lib/libmozjs185.so.1.0 I am on Ubuntu 11.04 32 bit and I am compiling r10615 against Ubuntu version of libmozjs. |
|||
| #1036 | fixed | Path case-insensitivity causes problems with deleting files | ||
| Description |
The goal is to have file layout a bit like mods/
public/
public.zip
Carthage_Peace_2.ogg
update.zip
carthage_peace_2.ogg
Carthage_Peace_2.ogg.DELETED
so the result after loading
Apparently that doesn't work. I think the problem may be that VFS uses Do paths really need to be compared case insensitively? That seems invalid on Unix, and insufficient (therefore probably not necessary?) on Windows (the paths "foobarbaz" and "FOOBARBAZ" are equivalent, but so is "FOOBAR~1", and I don't think we check for that amount of equivalence). |
|||
| #1037 | fixed | CMapGeneratorWorker creates dangling JSContext pointers | ||
| Description |
The |
|||
| #1038 | wontfix | Make Ctrl+0 clear current control group | ||
| Description |
At the moment Ctrl+0 creates a new control group, which of course is nice in that you have ten control groups available. There might be reasons why you want to remove any control group from the selected units. One way to do it, while still keeping the ten control groups would be to do something involving the Alt key. That would also make it possible to remove a single control group if/once units are able to be part of multiple control groups. Even in that case it would be nice to have a "remove all control groups" key combination. I'm very open for suggestions though :) |
|||
| #1042 | fixed | Assertion failure in CCmpRallyPointRenderer::CreateMarker while using Atlas | ||
| Description |
Possibly a component initialization order bug? (some info about that here) To reproduce:
Assertion failed: "!cmpPlayerManager.null()"
Location: CCmpRallyPointRenderer.cpp:446 (CCmpRallyPointRenderer::CreateMarker)
Call stack:
CCmpRallyPointRenderer::CreateMarker (ccmprallypointrenderer.cpp:446)
this = (unavailable)
ownerId = 1 (0x00000001)
CCmpRallyPointRenderer::Init (ccmprallypointrenderer.cpp:413)
this = (unavailable)
paramNode = 0x0DFC7000 ->
m_Value = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
m_Childs = (unsupported map<basic_string<char,char_traits<char> >,CParamNode >)
m_IsOk = true
m_ScriptVal =
m_Val =
px = 0x00000000
pn =
pi_ = 0x00000000
texturePropsBase =
m_Path =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 47 ('/')
m_Filter = 9987 (0x00002703)
m_WrapS = 33069 (0x0000812D)
m_WrapT = 33071 (0x0000812F)
m_Aniso = 4.000000 (0x40800000)
texturePropsMask =
m_Path =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 47 ('/')
m_Filter = 9987 (0x00002703)
m_WrapS = 33069 (0x0000812D)
m_WrapT = 33071 (0x0000812F)
m_Aniso = 4.000000 (0x40800000)
CCmpProjectileManager::Deserialize (ccmpprojectilemanager.cpp:80)
this = (unavailable)
paramNode = 0x0DFC7000 (see above)
__formal = 0x039AFA80 -> (IDeserializer)
CComponentManager::DeserializeState (componentmanagerserialization.cpp:311)
this = (unavailable)
stream = 0x0CA618B0 -> (basic_istream<char,char_traits<char> >)
rng = (unsupported basic_string<char,char_traits<char> >)
deserializer =
(IDeserializer)
m_ScriptBackrefs = (unsupported map<size_t,JSObject * >)
m_ScriptInterface = 0x0053FE80 ->
m = (auto_ptr<ScriptInterface_impl>)
m_Stream = 0x0CA618B0 (see above)
noParam =
m_Value = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
m_Childs = (unsupported map<basic_string<char,char_traits<char> >,CParamNode >)
m_IsOk = true
m_ScriptVal =
m_Val =
px = 0x00000000
pn =
pi_ = 0x00000000
templateManager = 0x0DB0B1F8 ->
m_EntityId = 1 (0x00000001)
m_SimContext = 0x0053FE70 ->
m_ComponentManager = 0x0053FE80 (see above)
m_UnitManager = 0x00515BB8 ->
m_Units = (unsupported vector<CUnit * >)
m_ObjectManager = 0x0B527ED4 ->
m_MeshManager = 0x0B527E8C ->
m_MeshMap =
table_ =
buckets_ = 0x0D00CBA0 ->
next_ = 0x0B680EE0 ->
next_ = 0x0B680C40 ->
next_ = 0x00000000
bucket_count_ = 11 (0x0000000B)
allocators_ =
(unsupported )
(unsupported )
current_ = false
funcs_ = "s/i"
size_ = 8 (0x00000008)
mlf_ = 1.000000 (0x3F800000)
cached_begin_bucket_ = 0x0D00CBA0 (see above)
max_load_ = 11 (0x0000000B)
m_ColladaManager = 0x0B527E88 ->
m = 0x00515BF8 ->
dll =
m_Name = 0x015A288C -> "Collada"
m_Handle = 0x00000000
set_logger = 0x00000014
set_skeleton_definitions = 0x00000019
convert_dae_to_pmd = 0x0000001A
convert_dae_to_psa = 0x0000001D
m_SkeletonAnimManager = 0x0B527EB0 ->
m_Animations =
table_ =
buckets_ = 0x0DD105A8 ->
next_ = 0x00000000
bucket_count_ = 11 (0x0000000B)
allocators_ =
(unsupported )
(unsupported )
(too much output; skipping to next top-level symbol)
size_ = 1 (0x00000001)
mlf_ = 1.000000 (0x3F800000)
cached_begin_bucket_ = 0x0DD105C4 ->
next_ = 0x0D636AD0 ->
next_ = 0x00000000
max_load_ = 11 (0x0000000B)
m_ColladaManager = 0x0B527E88 (see above)
m_Simulation = 0x004F96B8 ->
m = 0x0053FE70 (see above)
m_Objects = (unsupported map<CObjectManager::ObjectKey,CObjectEntry * >)
m_ObjectBases = (unsupported map<CStrW,CObjectBase * >)
m_Terrain = 0x00515B98 ->
m_MapSize = 257 (0x00000101)
m_MapSizePatches = 16 (0x00000010)
m_Patches = 0x0A790024 ->
m_WorldBounds =
m_Data = [2]
X = 0.000000 (0x00000000)
Y = 0.000000 (0x00000000)
Z = 0.000000 (0x00000000)
X = 64.000000 (0x42800000)
Y = 22.382513 (0x41B30F63)
Z = 64.000000 (0x42800000)
m_Transform =
_11 = 1.000000 (0x3F800000)
_21 = 0.000000 (0x00000000)
_31 = 0.000000 (0x00000000)
_41 = 0.000000 (0x00000000)
_12 = 0.000000 (0x00000000)
_22 = 1.000000 (0x3F800000)
_32 = 0.000000 (0x00000000)
_42 = 0.000000 (0x00000000)
_13 = 0.000000 (0x00000000)
_23 = 0.000000 (0x00000000)
_33 = 1.000000 (0x3F800000)
_43 = 0.000000 (0x00000000)
_14 = 0.000000 (0x00000000)
_24 = 0.000000 (0x00000000)
_34 = 0.000000 (0x00000000)
_44 = 1.000000 (0x3F800000)
_data = [16]
1.000000 (0x3F800000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
1.000000 (0x3F800000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
1.000000 (0x3F800000)
0.000000 (0x00000000) ...
_data2d = [4]
[4] { 1.000000 (0x3F800000), 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), 1.000000 (0x3F800000), 0.000000 (0x00000000), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), 0.000000 (0x00000000), 1.000000 (0x3F800000), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000), 1.000000 (0x3F800000) }
m_InvTransform =
_11 = 0.000000 (0x00000000)
_21 = 0.000000 (0x00000000)
_31 = 0.000000 (0x00000000)
_41 = 0.000000 (0x00000000)
_12 = 0.000000 (0x00000000)
_22 = 0.000000 (0x00000000)
_32 = 0.000000 (0x00000000)
_42 = 0.000000 (0x00000000)
_13 = 0.000000 (0x00000000)
_23 = 0.000000 (0x00000000)
_33 = 0.000000 (0x00000000)
_43 = 0.000000 (0x00000000)
_14 = 0.000000 (0x00000000)
_24 = 0.000000 (0x00000000)
_34 = 0.000000 (0x00000000)
_44 = 0.000000 (0x00000000)
_data = [16]
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000) ...
_data2d = [4]
[4] { 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000) }
m_RenderData = 0x00000000
m_BoundsValid = true
m_bWillBeDrawn = false
m_MiniPatches = [16]
[16]
Tex = 0x0D835CB8 ->
m_Tag = { (unsupported basic_string<char,char_traits<char> >) }
m_pProperties =
px = 0x0D7EA718 ->
m_pParent =
px = 0x0D730B78 ->
m_pParent =
px = 0x00000000
pn =
pi_ = 0x00000000
m_BaseColor = 0 (0x00000000)
m_HasBaseColor = false
m_MovementClass = { (unsupported basic_string<char,char_traits<char> >) }
m_Groups = (unsupported vector<CTerrainGroup * >)
pn =
pi_ = 0x0B5301F8 ->
use_count_ = 20 (0x00000014)
weak_count_ = 1 (0x00000001)
m_BaseColor = 0 (0x00000000)
m_HasBaseColor = false
m_MovementClass = { (unsupported basic_string<char,char_traits<char> >) }
m_Groups = (unsupported vector<CTerrainGroup * >)
pn =
pi_ = 0x0D836698 ->
use_count_ = 16 (0x00000010)
weak_count_ = 1 (0x00000001)
m_Texture =
px = 0x0D8425E0 ->
m_Properties =
m_Path =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = "/r✃"
m_Filter = 9987 (0x00002703)
m_WrapS = 10497 (0x00002901)
m_WrapT = 10497 (0x00002901)
m_Aniso = 2.000000 (0x40000000)
m_Handle = 9502865 (0x0000000000910091)
m_BaseColour = 4287075159 (0xFF879357)
m_State = LOADED
m_TextureManager = 0x00503310 ->
m_VFS =
px = 0x0048DA40 -> (IVFS)
pn =
pi_ = 0x0048CDB8 ->
use_count_ = 4 (0x00000004)
weak_count_ = 1 (0x00000001)
m_CacheLoader =
m_VFS =
px = 0x0048DA40 (see above)
pn =
pi_ = 0x0048CDB8 (see above)
m_FileExtension = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
m_DisableGL = false
m_TextureConverter =
m_VFS =
px = 0x0048DA40 (see above)
pn =
pi_ = 0x0048CDB8 (see above)
m_HighQuality = false
m_WorkerThread = 952 (0x000003B8)
m_WorkerMutex = 0x005E09B0
m_WorkerSem = 0x000003B4
m_RequestQueue = (unsupported deque<boost::shared_ptr<CTextureConverter::ConversionRequest> >)
m_ResultQueue = (unsupported deque<boost::shared_ptr<CTextureConverter::ConversionResult> >)
m_Shutdown = false
m_DefaultHandle = 65537 (0x0000000000010001)
m_ErrorHandle = 131074 (0x0000000000020002)
m_ErrorTexture =
px = 0x0048BDB8 ->
m_Properties =
m_Path =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = "/f✃"
m_Filter = 9987 (0x00002703)
m_WrapS = 10497 (0x00002901)
m_WrapT = 10497 (0x00002901)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 131074 (0x0000000000020002)
m_BaseColour = 0 (0x00000000)
m_State = LOADED
m_TextureManager = 0x00503310 (see above)
m_Self =
px = 0x0048BDB8 (see above)
pn =
pi_ = 0x005173E8 ->
use_count_ = 1 (0x00000001)
weak_count_ = 2 (0x00000002)
pn =
pi_ = 0x005173E8 (see above)
m_TextureCache =
table_ =
buckets_ = 0x0D858F30 ->
next_ = 0x00000000
bucket_count_ = 769 (0x00000301)
allocators_ =
(unsupported )
(unsupported )
current_ = false
funcs_ = [2] { { data_ = { buf = [2] { [8] { 3, 3, 0, 0, 0, 0, 0, 183 }, 3 }, align_ =
t0 = 3
t1 = 3
t2 = 3
t3 = 3
t4 = 3
t5 = 3
t6 = 3
t7 = 3
t8 = 3
t9 = 3
t10 = 3
t11 = 3
t12 = 3
t13 = 3
t14 = 3
t15 = 3
t16 = 3
t17 = 3
t18 = 3
t19 = 3
t20 = 3
t21 = 3
t22 = 3
t23 = 3
} }, { data_ = { buf = [2] { [8] { 0, 0, 0, 0, 0, 183, 2, 0 }, 0 }, align_ =
t0 = 0
t1 = 0
t2 = 0
t3 = 0
t4 = 0
t5 = 0
t6 = 0
t7 = 0
t8 = 0
t9 = 0
t10 = 0
t11 = 0
t12 = 0
t13 = 0
t14 = 0
t15 = 0
t16 = 0
t17 = 0
t18 = 0
t19 = 0
t20 = 0
t21 = 0
t22 = 0
t23 = 0
} } }
size_ = 695 (0x000002B7)
mlf_ = 1.000000 (0x3F800000)
cached_begin_bucket_ = 0x0D858F34 ->
next_ = 0x0D8A21B0 ->
next_ = 0x0D78C838 ->
next_ = 0x00000000
max_load_ = 769 (0x00000301)
m_HotloadFiles =
table_ =
buckets_ = 0x0D859BB8 ->
next_ = 0x00000000
bucket_count_ = 769 (0x00000301)
allocators_ =
(unsupported )
(unsupported )
current_ = false
funcs_ = [2] { { data_ = { buf = [1] { [8] { 4, 0, 0, 214, 2, 0, 0, 0 } }, align_ =
t0 = 4
t1 = 4
t2 = 4
t3 = 4
t4 = 4
t5 = 4
t6 = 4
t7 = 4
t8 = 4
t9 = 4
t10 = 4
t11 = 4
t12 = 4
t13 = 4
t14 = 4
t15 = 4
t16 = 4
t17 = 4
t18 = 4
t19 = 4
t20 = 4
t21 = 4
t22 = 4
t23 = 4
} }, { data_ = { buf = [1] { [8] { 0, 0, 214, 2, 0, 0, 0, 0 } }, align_ =
t0 = 0
t1 = 0
t2 = 0
t3 = 0
t4 = 0
t5 = 0
t6 = 0
t7 = 0
t8 = 0
t9 = 0
t10 = 0
t11 = 0
t12 = 0
t13 = 0
t14 = 0
t15 = 0
t16 = 0
t17 = 0
t18 = 0
t19 = 0
t20 = 0
t21 = 0
t22 = 0
t23 = 0
} } }
size_ = 726 (0x000002D6)
mlf_ = 1.000000 (0x3F800000)
cached_begin_bucket_ = 0x0D859BBC ->
next_ = 0x0D8329A8 ->
next_ = 0x00000000
max_load_ = 769 (0x00000301)
m_SettingsFiles =
table_ =
buckets_ = 0x0B606B60 ->
next_ = 0x0B5D7BE8 ->
next_ = 0x00000000
bucket_count_ = 53 (0x00000035)
allocators_ =
(unsupported )
(unsupported )
current_ = false
funcs_ = [2] { { data_ = { buf = [1] { [8] { 0, 0, 0, 31, 0, 0, 0, 0 } }, align_ =
t0 = 0
t1 = 0
t2 = 0
t3 = 0
t4 = 0
t5 = 0
t6 = 0
t7 = 0
t8 = 0
t9 = 0
t10 = 0
t11 = 0
t12 = 0
t13 = 0
t14 = 0
t15 = 0
t16 = 0
t17 = 0
t18 = 0
t19 = 0
t20 = 0
t21 = 0
t22 = 0
t23 = 0
} }, { data_ = { buf = [1] { [8] { 0, 0, 31, 0, 0, 0, 0, 0 } }, align_ =
t0 = 0
t1 = 0
t2 = 0
t3 = 0
t4 = 0
t5 = 0
t6 = 0
t7 = 0
t8 = 0
t9 = 0
t10 = 0
t11 = 0
t12 = 0
t13 = 0
t14 = 0
t15 = 0
t16 = 0
t17 = 0
t18 = 0
t19 = 0
t20 = 0
t21 = 0
t22 = 0
t23 = 0
} } }
size_ = 31 (0x0000001F)
mlf_ = 1.000000 (0x3F800000)
cached_begin_bucket_ = 0x0B606B60 (see above)
max_load_ = 53 (0x00000035)
m_Self =
px = 0x0D8425E0 (see above)
pn =
pi_ = 0x0D836710 ->
use_count_ = 2 (0x00000002)
weak_count_ = 9 (0x00000009)
pn =
pi_ = 0x0D836710 (see above)
m_BaseColor = 4287075159 (0xFF879357)
m_BaseColorValid = true
m_Groups = (unsupported vector<CTerrainGroup * >)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
...
[16]
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
...
[16]
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
...
[16]
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
...
[16]
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
...
[16]
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
...
[16]
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
...
[16]
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
Tex = 0x0D835CB8 (see above)
Priority = 0 (0x00000000)
... ...
m_X = 0 (0x00000000)
m_Z = 0 (0x00000000)
m_Parent = 0x00515B98 (see above)
m_Heightmap = 0x0D8C1B88 -> 16384 (0x4000)
m_BaseColour =
R = [8] { 255 (0xFF), 255 (0xFF), 255 (0xFF), 255 (0xFF), 0 (0x00), 0 (0x00), 0 (0x00), 0 (0x00) }
G = 255 (0xFF)
B = 255 (0xFF)
A = 255 (0xFF)
numComponentTypes = 47 (0x0000002F)
i = 13 (0x0000000D)
ctid = 27 (0x0000001B)
ctname = (unsupported basic_string<char,char_traits<char> >)
numComponents = 1 (0x00000001)
j = 0 (0x00000000)
ent = 11 (0x0000000B)
SimState::Thaw (simstate.cpp:41)
this = (unavailable)
ViewGame::RestoreState (view.cpp:325)
this = (unavailable)
label = 0x039AFB60 -> (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
AtlasMessage::fSimStateRestore_wrapper (mischandlers.cpp:131)
msg = 0x0D2E4B28 -> (AtlasMessage::IMessage)
RunEngine (gameloop.cpp:171)
data = 0x003DF6B4
hooks =
override_gl_upload_caps = 0x00000000
get_log_dir = 0x00000000
bundle_logs = 0x00000000
translate = 0x00000000
translate_free = 0x00000000
log = 0x00000000
display_error = 0x01495AC0 -> (AtlasDisplayError)
msgPasser = 0x003DEC98 ->
(AtlasMessage::MessagePasser)
m_Mutex =
m_Mutex = 0x005951F0
m_SemaphoreName = { (unsupported basic_string<char,char_traits<char> >) }
m_Semaphore = 0x00427CA8 -> 540 (0x0000021C)
m_Queue = (unsupported queue<AtlasMessage::IMessage *,deque<AtlasMessage::IMessage * > >)
m_Trace = false
last_activity = 35.0672 (0x4041889A50029B49)
args =
m_Args = (unsupported vector<pair<CStr8,CStr8> >)
m_Arg0 =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 92 ('\')
recent_activity = true
time = 2.10768e-307 (0x0042F1E02C5814E4)
ev =
ev =
type = 10 (0x0A)
active = { type = 10 (0x0A), gain = 209 (0xD1), state = 130 (0x82) }
key =
type = 10 (0x0A)
keysym = { sym = 1076594528, unicode = 63328 (0xF760) }
motion = { type = 10 (0x0A), x = 3970 (0x0F82), y = 34656 (0x8760) }
button =
type = 10 (0x0A)
button = 209 (0xD1)
state = 130 (0x82)
x = 34656 (0x8760)
y = 16427 (0x402B)
resize = { type = 10 (0x0A), w = 1076594528 (0x402B8760), h = 5371744 (0x0051F760) }
expose = { type = 10 (0x0A) }
quit = { type = 10 (0x0A) }
user = { type = 10 (0x0A), code = 1076594528 (0x402B8760), data1 = 0x0051F760 }
length = 0.000000 (0x0D2E4B28)
last_time = 35.1173 (0x40418F05381DA643)
msg = 0x0D2E4B28 (see above)
name = (unsupported basic_string<char,char_traits<char> >)
sleepUntil = 2.10768e-307 (0x0042F1E02C5814E4)
thread_start (wpthread.cpp:624)
param = 0x005993E8
ret = 0x6B980350
endthreadex (:0)
endthreadex (:0)
RtlInitializeExceptionChain (:0)
RtlInitializeExceptionChain (:0)
errno = 0 (No error reported here)
OS error = 0 (no error code was set)
|
|||
| #1043 | fixed | Marker line to rally point still drawn after rally point is unset | ||
| Description |
Steps to reproduce:
Now the rally point is drawn as going to the point which you set initially. Units act properly by staying where they are spawned. |
|||
| #1044 | fixed | [PATCH] Autogarrison newly trained units in the production building | ||
| Description |
The player should be able to set the rally point of a building on itself so that trained units are automatically garrisoned. Units should not appear outside of the building at all and ungarrisoning should result in the units being ejected. Will also require a fix for the rally point line drawing code so that the rally point line is removed when the rally point position is set. |
|||
| #1046 | fixed | [PATCH] Setting rally point on attackable entities | ||
| Description |
Players may want to set the rally point on an enemy entity and have the trained/ungarrisoned units attack. How should this be implemented for mobile enemies? |
|||
| #1047 | fixed | Error on Game Startup | ||
| Description |
OS: Windows 7 Professional SP1 x32 Assertion failed: "period_fs <= 0x05F5E100" Location: hpet.cpp:72 (CounterHPET::Activate) Call stack: 013BE7C2 013B031E 013702BF errno = 0 (Unknown error (0, 0x0)) OS error = 0 (no error code was set) |
|||
| #1048 | fixed | Units can't attack goats | ||
| Description |
Goats trained from the Corral are no longer attackable. |
|||
| #1049 | fixed | Error when setting corral rally point on resource | ||
| Description |
To reproduce:
ERROR: Animal got moved into INDIVIDUAL.* state |
|||
| #1050 | fixed | [PATCH] Codeblocks not relinking after static libraries change | ||
| Description |
Changing something in the static libraries and running "build" does correctly recompile the changed files but does not relink pyrogenesis. The dependency-settings under "Project settings>Project's dependencies" are set correctly, but they only seem to affect the build order rather than the linking behaviour. According to the Codeblocks Wiki it looks like the dependencies for linking have to be specified separately under "Build targets>Dependencies...>External dependency files". After doing this, the linking worked correctly. Because our version of premake doesn't support this, another customization is required. |
|||
| #1051 | invalid | Civic centres can be built in Fog-of-war | ||
| Description |
Civic centres can currently be built anywhere on the map that is explored, probably due to the changes that allows buildings to be built anywhere in your territory (as enemy buildings cannot exist there, at least not yet, eventually the roman special siege fortress buildings will, but perhaps those could show up for the enemy or something to avoid having trouble with them?). Civic centres should not be buildable anywhere in FoW though as they can be built anywhere on the map (except enemy/ally territory of course). Hopefully it's an easy fix. |
|||
| #1052 | fixed | Rally points set on resource droppoff buildings/farms being constructed should allow for change of focus if building is completed | ||
| Description |
Not really a requirement, but it would be a nice improvement if units would e.g. start to gather from a farm if a rally point was set on it before it was finished and start looking for nearby resources if the rally point was set on a farmstead/mill. |
|||
| #1053 | fixed | Add queued / multiple orders to rally points | ||
| Description |
Units support queued orders (waypoints) which the player can use by holding down the shift key when assigning orders. So our rally points should also support queued orders, with the same hotkey. For instance if you want trained units to follow a specific path, you could give multiple rally points with the same shift hotkey. I guess this would require changes to the rally point line renderer to support connecting multiple way points (maybe it should share its implementation with #657) and instead of having a single rally point order, there would be an array with all orders after the first being queued. |
|||
| #1054 | fixed | [PATCH] multiplayer with no humans broken | ||
| Description |
It is possible to host a multiplayer game with only bots. When launched, gui/session/session.js fails because playerState is undefined. |
|||
| #1056 | duplicate | Trade Routes | ||
| Description |
An interesting feature to have. Similar to the trade routes in AOE 3. You build a trading post near the route and profit from it. In the game we could either build a market or create a trading post building for this purpose. From this building, you gain the resource of your choice. |
|||
| #1057 | fixed | Fauna animations | ||
| Description |
Since Blender works for getting animations in the game now, I'm going to start working on making fauna animations. |
|||
| #1058 | fixed | [PATCH] Refuse to run as root | ||
| Description |
Sometimes people try running the game as root (via sudo etc) on Linux. That's terribly insecure, and causes problems if the game tries creating directories like The game should probably detect on startup that the user is root, and print some error message (saying how it's terribly insecure) and terminate, to stop people doing dangerous things. |
|||
| #1059 | wontfix | Detailed documentation of default mod "public" files/filestructure | ||
| Description |
A major aspect of the game that I find lacking is documentation. The wiki currently contains descriptions of the source code and method descriptions, but a layout of the "public" mod cannot be found. This is all fine for current developers, but future developers need to find their way around the code. To help speed up the process, a map/list of file references would go a long way. My thought is an easy-to-search system where a person can jump in at, for example, the event handler for a mouse click and be given references to the points where a mouse click is processed. I probably have my head in the clouds here, but I'm going to look into documenting my exploration of the code and getting a start on this. For now, I'm going to start at function declarations and work out where they are used. Any suggestions on how to make the searchable references would be nice. |
|||
| #1060 | wontfix | [PATCH] The conditional expressions of the 'if' operators situated alongside each other are identical | ||
| Description |
There are two 'if' operators with identical conditional expressions close to each other. This is either a potential error or excessive code. |
|||
| #1061 | fixed | [PATCH] There are identical sub-expressions 'm_totalDeallocatedBytes' to the left and to the right of the '<=' operator. | ||
| Description |
There are identical sub-expressions to the left and to the right of the '<=' operator, likely a logic error. Proposed patch, based on the surrounding lines as context is attached. |
|||
| #1062 | fixed | [PATCH] It is odd that pointer to 'char' type is compared with the '\0' value. Probably meant: *ext == '\0'. | ||
| Description |
A potential error: a pointer to the char type is compared to value '\0'. It is highly probable that the pointer dereferencing operation is missing. Proposed patch attached. |
|||
| #1063 | fixed | [PATCH] The return value of function 'remove_if' is required to be utilized. | ||
| Description |
Calls of some functions are senseless if their results are not used. Example: The std::remove function does not remove elements from the container. It only shifts the elements and brings the iterator back to the beginning of the trash. Suppose we have the vector<int> container that contains elements 1,2,3,1,2,3,1,2,3. If we execute the code "remove( v.begin(), v.end(), 2 )", the container will contain elements 1,3,1,3,?,?,?, where ? is some trash. The function will bring the iterator back to the first senseless element, so if we want to remove these trash elements, we must write the code this way: "v.erase(remove(v.begin(), v.end(), 2), v.end())". Proposed code is attached. |
|||
| #1064 | fixed | [PATCH] Performance improvement. It is more effective to use the prefix form of ++iterator (vs iterator++) | ||
| Description |
An iterator is changed in the program code by the increment/decrement postfix operator. Since the previous iterator's value is not used, you may replace the postfix operator with the prefix one. In some cases, the prefix operator will work faster than the postfix one, especially in Debug-versions. The prefix increment operator changes the object's state and returns itself already changed. The situation with the postfix increment operator is more complicated. The object's state must change but it is the previous state which is returned. So an additional temporary object is created. Reference: Scott Meyers' Rule 6. Distinguish between prefix increment and decrement operators, in: Meyers, Scott. More Effective C++: 35 New Ways to Improve Your Programs and Designs. Addison-Wesley, Reading, Mass., 1996. ISBN-10: 020163371X. ISBN-13: 9780201633719. |
|||
| #1065 | fixed | [PATCH] Incorrect format on the third actual argument of the 'fprintf' function. The SIGNED integer type argument is expected. | ||
| Description |
Within the ScriptingInterface.cpp file, two occurrences of a format string expecting signed ints when the data itself is an unsigned int. Proposed fix attached for the two cases in this file. |
|||
| #1067 | fixed | Attack bonuses | ||
| Description |
Certain units are stronger against others and weaker against others. Change Attack.js to support this functinoality. |
|||
| #1068 | invalid | Error on load(?) in Windows 8 | ||
| Description |
Reported by Justin Jacoby on Facebook:
|
|||
| #1069 | worksforme | [NEEDS MORE INFO] Building Premake4 (release) fails | ||
| Description |
Just after os_getcwd.c Creating obj/Release path_isabsolute.c x86_64-pc-linux-gnu-gcc fails on not find amd64. I send you a copy of my running environment. |
|||
| #1071 | duplicate | [MAC OSX 10.7] Crash at startup | ||
| Description |
Process: pyrogenesis [37443] Path: /Users/USER/Documents/*/pyrogenesis.app/Contents/MacOS/pyrogenesis Identifier: pyrogenesis Version: ??? (???) Code Type: X86-64 (Native) Parent Process: launchd [368] Date/Time: 2011-12-27 16:29:09.427 +0100 OS Version: Mac OS X 10.7.2 (11C74) Report Version: 9 Sleep/Wake UUID: 790E9BEE-8F8B-4799-A052-E61DE57EFAA4 Interval Since Last Report: 59537 sec Crashes Since Last Report: 4 Per-App Crashes Since Last Report: 2 Anonymous UUID: 4485EB9E-FADD-4B9C-B91E-08AA8E06FDAA Crashed Thread: 0 Exception Type: EXC_BREAKPOINT (SIGTRAP) Exception Codes: 0x0000000000000002, 0x0000000000000000 Application Specific Information: dyld: launch, loading dependent libraries Dyld Error Message:
Binary Images:
Model: MacBookPro6,2, BootROM MBP61.0057.B0C, 2 processors, Intel Core i5, 2.4 GHz, 4 GB, SMC 1.58f16 Graphics: NVIDIA GeForce GT 330M, NVIDIA GeForce GT 330M, PCIe, 256 MB Graphics: Intel HD Graphics, Intel HD Graphics, Built-In, 288 MB Memory Module: BANK 0/DIMM0, 2 GB, DDR3, 1067 MHz, 0x802C, 0x384A53463235363634485A2D314731443120 Memory Module: BANK 1/DIMM0, 2 GB, DDR3, 1067 MHz, 0x802C, 0x384A53463235363634485A2D314731443120 |
|||
| #1072 | wontfix | SpiderMonkey does not compile on Mac OS Lion - patch attached | ||
| Description |
While update_workspaces was running, I got this error while it was configuring build for SpiderMonkey: configure: error: installation or configuration problem: C compiler cannot create executables. ERROR: SpiderMonkey build failed I was on the SpiderMonkey Mozilla build web page that it can be compiled on Mac OS with some tricks on the command line. I updated the build.sh file for that. It compiles. You can find attached to this ticket the patch to apply on build.sh to make it work on Mac OS Lion. |
|||
| #1073 | fixed | Mac OS Lion : compilation script forgets to move dylib files in .app package. | ||
| Description |
The produced .app folder is not usable as is because the .dylib files built are not copied or linked in the pyrogenesis folder. When trying to execute pyrogenesis, the following error occurs: dyld: Library not loaded: @executable_path/libmozjs185-ps-release.1.0.dylib Referenced from: <ad>/binaries/system/pyrogenesis.app/Contents/MacOS/./pyrogenesis Reason: image not found I managed to make it work by making a symbolic link of all dylib files in the pyrogenesis folder: cd <ad>/binaries/system/pyrogenesis.app/Contents/MacOS ln -s ../../../*.dylib . The executable launches (on the command line only by typing ./pyrogenesis, not by opening the .app folder) and works pretty well. I just miss the sound but this should be another problem. |
|||
| #1074 | fixed | [PATCH] Compile on GCC broken by r10815 | ||
| Description |
An addition in r10815 breaks compilation on GCC flavours with: source/lib/sysdep/arch/x86_x64/cache.cpp:643: error: explicit qualification in declaration of 'const x86_x64::Cache* x86_x64::Caches(size_t)' Fix attached. |
|||
| #1075 | fixed | Mac OS Lion: building with libSDL from MacPorts disable fullscreen | ||
| Description |
The wiki page for build process says to use the libSDL from MacPorts as it the easiest way to install. However, the current version (1.2.14) has a bug on Lion: it can't create fullscreen OpenGL screen (see bug report here). The bug is fixed in 1.2 development version. We should may be update the install Wiki page. |
|||
| #1076 | fixed | Boost spews excessive warnings | ||
| Description |
It can be frustrating to find actual errors among all of the boost output. I don't know if this is just an OSX 10.6.8, gcc 4.2.1 thing (since I see mentions of CLANG in the warnings), but it would be nice to get this cleaned up. |
|||
| #1077 | fixed | [PATCH] Add bool operator conversion to CmpPtr | ||
| Description |
Consider the elegance of |if (cmpVisual)| instead of |if (!cmpVisual.null())|. |
|||
| #1078 | fixed | [PATCH] Fix unreachable resources on random maps | ||
| Description |
Try to avoid placing resources on hills because of the pathfinding issues they cause. |
|||
| #1079 | worksforme | Add a hotkey to exit the program immediately | ||
| Description |
I get a little bit more annoyed every time I need to use the mouse to exit the current match, then quit the program by clicking too many dialog boxes. |
|||
| #1080 | wontfix | Sync logs from multiple local clients stomp on each other | ||
| Description |
When running multiple clients locally, if a sync error occurs then all clients attempt to write to the same file (oos_dump.txt). It would be nice to dump to a filename that includes the player ID to avoid data being stomped upon. |
|||
| #1081 | wontfix | Selection box draws in front of minimap | ||
| Description |
This looks pretty weird. |
|||
| #1082 | fixed | [PATCH] Add "Random" option for selecting civilizations in match setup. | ||
| Description |
All of the games have such option when player wants to choose a civ from dropbox. |
|||
| #1083 | fixed | Function call failed: wsysdep.cpp:357 and mahaf.cpp:300 | ||
| Description |
I just tried to build the latest revision (r10828) in Microsoft visual C++ 2010 Express (Administrator) I have windows 7 64 bit. The errors happen both in release and debug mode. This happens:
|
|||
| #1084 | fixed | qBot fails to handle not having a civ center | ||
| Description |
On map Gallic Fields, the Romans do not have a civ center. qBot throws errors because "myCivCentres.toEntityArray()[0]" returns a null value when a civ center is not present. I added a null check, but the error popped back up when the economy portion of qBot couldn't find "accessibility" because it wasn't defined due to my null check. I read something about the game slowing down excessively when a civ center is destroyed, don't know if it has been fixed or not but this is probably the issue. Assigning to quantumstate, pretty sure he's the developer of qBot. |
|||
| #1085 | fixed | [PATCH] It's odd that the argument of sizeof() operator is &freqMhz | ||
| Description |
Using the reference operator (&) is going to return the size of the pointer from sizeof(), rather than the size of the object. Should be using the dereference operator (*). |
|||
| #1086 | fixed | [PATCH] Incorrect format on the fourth actual argument of the 'swprintf_s' function. The SIGNED integer type argument is expected. | ||
| Description |
Within the ogl_tex.cpp file, an occurrence of a format string expecting signed int when the data itself is an unsigned int, GLuint. Proposed patch attached. |
|||
| #1087 | fixed | [PATCH] (snd_mgr) Incorrect format on the fourth actual argument of the 'swprintf_s' function. The SIGNED integer type argument is expected. | ||
| Description |
Within the snd_mgr.cpp file, two occurrences of a format string expecting signed int when the data itself is an unsigned int, ALuint. Proposed patch attached. |
|||
| #1089 | fixed | [PATCH] Properly serialize AI data in saved games | ||
| Description |
AIs require some serializer enhancements to properly save/load their data, unlike the rest of the simulation. We used a hack in Alpha 8, basically resetting the AIs to their initial state when loading a saved game. This is less than ideal because an AI might be in the middle of planning some task when the game was saved, information it would lose under the current system. |
|||
| #1090 | fixed | [PATCH] Improve load game UI | ||
| Description |
Currently when loading a saved game, it shows a list with timestamp and map name for each game. I would like to see at minimum:
Possible enhancements:
It doesn't all have to be shown on one line, but rather have a common UI panel to display details for the currently selected game. |
|||
| #1091 | fixed | Using Windows SDL libs results in manifest problem | ||
| Description |
While working on #935, I noticed the game wouldn't start due to an "application configuration" error after disabling wsdl. It turns out the prebuilt SDL static libs have a different VC80 manifest dependency (8.0.50727.762) than the rest of the game, this results in multiple VC80.CRT entries in the embedded manifest and the error. So the SDL libs should be rebuilt with VC 8.0.50727.4053, which is VC++ 2005 SP 1 with the July 2009 security update applied. Unless there's some other way of solving this :) |
|||
| #1092 | fixed | Crash saving games in debug-mode: Compartment mismatch | ||
| Description |
When saving a game in debug-mode it crashes. Apparently the reason is that SavedGames::Save tries calling "SetProperty" with a value returned by the GUI's scriptinterface using it's own instance of scriptinterface (simulation.GetScriptInterface()). simulation.GetScriptInterface().SetProperty(metadata.get(), "gui", gui->GetSavedGameData()); Each scriptinterface uses its own Spidermonkey runtime with an own compartment. the Value returned by gui->GetSavedGameData() "contains" another compartment than the one contained in the scriptinterface object of simulation. Spidermonkey checks if they match and raises an exception in debug mode because they don't. In release mode everything seems to work fine, but there are probably some hidden problems there too because the compartments don't match either. According to the Spidermonkey documentation objects of one compartment can't be used in another one by default, but there seem to be ways to interchange objects between compartments. I've started looking into spidermonkey a few hours ago, so I don't yet fully understand it. I'll need a bit more time before I know more details and what an appropriate solution would be. |
|||
| #1093 | fixed | Create multiple instances of WP | ||
| Description |
We need to create multiple instances of WordPress so that teams can work without fear of accidentally stepping on another team's toes. We need the following installations: Platform dev Content Skinning/Theme work plus an additional installation for bringing completed parts of the 3 dev instances together. |
|||
| #1094 | fixed | Move current WP installation in with the others | ||
| Description |
The database is full of stuff already. Instead of cluttering it with additional DBs, it would be nice if the current WP installation would move into the development database. |
|||
| #1095 | fixed | Identify and install WP plugins | ||
| Description |
The skinning and content folks will need some plugins to do some of their jobs, so plugin installation and testing needs to start. Once installed, others will need to verify that they work as expected and then get those plugins installed into their regions. |
|||
| #1096 | fixed | Clean out DB | ||
| Description |
Our DB has a lot of cruft in it. Cleaning it out makes DB development easier and saves us some much-needed disk space. |
|||
| #1097 | fixed | Clean out the web server's file system | ||
| Description |
Our web server has several directories that have fallen out of use and take up space. Some of them are past attempts at creating a new website. Some of them are of unknown origin. Cleaning them out would save space and make site development easier. |
|||
| #1098 | fixed | Garrisoned units heal instantly | ||
| Description |
If you garrison and eject a unit it will come out with full health, they should heal gradually over time instead. |
|||
| #1099 | fixed | Configure and eval the Musopress Discography WP plugin | ||
| Description |
This plugin is for Bandcamp integration. It's installed and needs to be set up and demo-ed. |
|||
| #1100 | fixed | Configure and eval the WPBandcamp plugin | ||
| Description |
The WPBandcamp plugin has been installed on our plugin-dev WP instance. It needs to be configured and demo-ed. |
|||
| #1101 | fixed | Configure and eval the TubePress plugin | ||
| Description |
The TubePress plugin was installed in the plugin-dev WP instance. It needs to be configured and evaluated. |
|||
| #1102 | fixed | Configure and eval the NextGEN plugin | ||
| Description |
The NextGEN gallery plugin was installed in the plugin-dev WP instance. It needs to be set up an eval-ed. |
|||
| #1103 | fixed | Configure and eval the Google Analytics plugin | ||
| Description |
This plugin was installed in our plugin-dev WP instance. It needs to be configured and evaluated. |
|||
| #1106 | fixed | Repair permission issues with the WP installs | ||
| Description |
File due to: http://www.wildfiregames.com/forum/index.php?showtopic=15524&view=findpost&p=232300 When WP was installed, write permissions weren't given to any of the subdirs. Some of these directories need write permissions in order to have files uploaded, etc. All instances within /0adwebdev must be repaired. |
|||
| #1107 | fixed | Identify, install, and eval a few syntax highlighting plugins | ||
| Description |
Filed due to: http://www.wildfiregames.com/forum/index.php?showtopic=15524&view=findpost&p=232300 If we're going to have a dev blog, then we definitely need a nice way to show code snippets. I'd like to install a few plugins, let people play with them, and then settle on one. |
|||
| #1109 | fixed | [PATCH] Atlas Enhancement: Map re-sizing position | ||
| Description |
In Atlas, I want to be able to choose from where to re-size a map--corners or center. Attached image may make it clearer. |
|||
| #1111 | fixed | [PATCH] aoe3ed - Support WxWidgets 2.9 for ArchiveViewer and FileConverter | ||
| Description |
I've discussed it with Philip and even though we've decided to remove those components from the repository, I'm uploading the Patch here. It's tested on Ubuntu with wxWidgets 2.8 and on Snow Leopard with wxWidgets 2.9. Maybe someone can use it sometime... |
|||


