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 |
|||
| #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 | ||||
| #23 | fixed | [PATCH] Buy/Sell Resources | ||
| Description |
|
|||
| #24 | fixed | Bug - Entity Order Lockup | ||
| 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 |
|
|||
| #34 | fixed | Entity Event - Graze | ||
| Description |
|
|||
| #35 | fixed | Entity Event - Town Bell | ||
| Description |
|
|||
| #37 | fixed | Entity Event - Charge | ||
| Description |
|
|||
| #41 | fixed | Provinces/Territories | ||
| Description |
|
|||
| #42 | fixed | Terrain - Elevation | ||
| Description |
|
|||
| #50 | fixed | Virtual File System | ||
| 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 |
|||
| #55 | fixed | Camera - Start Position | ||
| Description |
|
|||
| #56 | fixed | Camera - Cinematics | ||
| 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 |
|
|||
| #65 | fixed | Document GUI Engine Needs | ||
| Description |
|
|||
| #67 | fixed | [PATCH] Internationalization | ||
| Description |
|
|||
| #69 | fixed | Enhance Multiplayer Experience | ||
| Description |
|
|||
| #70 | fixed | Graphics - Shaders | ||
| Description |
|
|||
| #73 | fixed | Terrain Decals | ||
| Description |
|
|||
| #74 | fixed | Graphics - Particle Engine | ||
| Description |
|
|||
| #76 | fixed | Entity - Queuing Orders | ||
| 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. |
|||
| #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. |
|||
| #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 |
|
|||
| #113 | fixed | GUI - Grid Control | ||
| Description |
|
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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> > >) |
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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 ;-) |
|||
| #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 |
|||
| #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). |
|||
| #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 |
|
|||
| #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 |
|||
| #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 . |
|||
| #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. |
|||
| #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. |
|||
| #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). |
|||
| #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). |
|||
| #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. |
|||
| #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. |
|||
| #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 |
|
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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 |
|||
| #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. |
|||
| #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). |
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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
|
|||
| #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. |
|||
| #320 | fixed | Crackling Fire | ||
| Description |
Universal Fire Crackling Sound SDD# 177 Specifications MONO 5 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 |
|||
| #352 | fixed | Destruction - Generic | ||
| Description |
Destruction - Gate SDD# 399 Specifications MONO 2-Seconds Non-Looping 5 Sounds Req'd |
|||
| #400 | fixed | CStr should use wchar.h | ||
| Description |
|
|||
| #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. |
|||
| #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.) |
|||
| #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. |
|||
| #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.. |
|||
| #467 | fixed | Make Math.random() network-synchronised | ||
| Description |
In the simulation code, |
|||
| #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). |
|||
| #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 |
|||
| #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 |
|||
| #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 |
|||
| #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). |
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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 |
|||
| #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)". |
|||
| #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:
|
|||
| #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. |
|||
| #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 |
|||
| #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. |
|||
| #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 |
|||
| #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. |
|||
| #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 |
|||
| #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. |
|||
| #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. |
|||
| #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 |
|||
| #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) |
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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
|
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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 |
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #678 | fixed | [PATCH] [Atlas] Improve unit selection options | ||
| Description |
Copy over unit selection methods from simulation to the editor.
|
|||
| #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. |
|||
| #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. |
|||
| #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" /> |
|||
| #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. |
|||
| #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)) |
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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 |
|||
| #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. |
|||
| #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) |
|||
| #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! |
|||
| #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) |
|||
| #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 |
|||
| #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. |
|||
| #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... |
|||
| #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 |
|||
| #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. |
|||
| #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 = ? |
|||
| #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. |
|||
| #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 :) |
|||
| #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. |
|||
| #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".
|
|||
| #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. |
|||
| #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. |
|||
| #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" |
|||
| #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. |
|||
| #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. |
|||
| #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:
|
|||
| #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.)
|
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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). |
|||
| #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. |
|||
| #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
|
|||
| #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 |
|||
| #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. |
|||
| #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. |
|||
| #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 . |
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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 . |
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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 |
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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. |
|||
| #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... |
|||
| #1112 | fixed | Script to build OS X dependencies | ||
| Description |
Developing the game on OS X is a pain, because not only does Xcode need to be installed to get a Unix build environment, but we currently need Mac Ports or equivalent to acquire all the dependencies, since OS X doesn't have a real package manager. This also has the side effect of making the game more difficult to distribute, as it's unknown what versions of the dependencies Mac Ports might have pulled in or how they were built. For Windows developers we already provide prebuilt libraries, the same can be achieved on OS X.
It's proposed to eliminate the Mac Ports requirement by having a script that downloads (optionally) and builds the game's dependencies from source. I'm working on a script now that does just that. This script is only for developers, not the end users. Currently it builds static libs (.a) which get linked into the engine. This avoids the need for We can even go so far as to distribute the prebuilt libraries on separate SVN directories, arranged by OS, similar to what Blender does. This would greatly speed the development process as most have no need or desire to build the dependencies. |
|||
| #1113 | fixed | changeset 10895 breaks compilation on mac | ||
| Description |
Commit 10895 introduced the use of std::map in globals.h. With my setup the header for map does not seem to be included. adding the one include did solve the issue |
|||
| #1114 | fixed | LLVM warning: Value stored to '*' is never read | ||
| Description |
LLVM compiler warnings of the form -- Value stored to '*' is never read -- have been highlighted in the attached patch. Each line marked is an assignment to a variable which is then never subsequently read. Some appear redundant, whereas others like ok = JS_CallFunctionValue() are valid function calls where there is no need to save the return value, if we aren't using it later in the codebase. Any concerns against adjusting or removing each dead store variable accordingly? |
|||
| #1117 | fixed | Replace unifont interface with CFontManager | ||
| Description |
Font textures and associated data are currently handled by unifont, which is a low-level C style wrapper around the h_mgr system. It would be better if we had a CFontManager instead to abstract this and provide a central point for loading and reloading fonts (useful for fixing #741). It would mirror other managers we have like CTextureManager and CShaderManager. gDEBugger also indicates we're leaking font textures, maybe implementing this would provide a better means of cleaning them up? |
|||
| #1118 | fixed | Identify, install, and eval a twitter plugin | ||
| Description |
Discussion thread: http://www.wildfiregames.com/forum/index.php?showtopic=15563 |
|||
| #1121 | fixed | Flat actors cause problems with new selection boxes | ||
| Description |
Some actors like props/flora/water_lillies.xml which are not decals but flat models, can cause selection problems in Atlas. They have a selection box, but the calculation of the box and/or the the algorithm in
It's easy to test on a blank map. I put a breakpoint in the selection code and found the m_Center = {X=298.17743 Y=22.402514 Z=378.40604 }
m_HalfSizes = {X=1.8804212 Y=0.00000000 Z=1.8804319 }
m_Basis
[0] = {X=0.70711076 Y=0.00000000 Z=0.70710266 }
[1] = {X=-1.#IND000 Y=-1.#IND000 Z=-1.#IND000 }
[2] = {X=-0.70709860 Y=0.00000000 Z=0.70711488 }
compared with the data for m_Center = {X=297.05060 Y=22.391361 Z=382.82440 }
m_HalfSizes = {X=10.045100 Y=9.5367432e-007 Z=9.4280548 }
m_Basis
[0] = {X=0.70711213 Y=0.00000000 Z=0.70710146 }
[1] = {X=0.00000000 Y=1.0000000 Z=0.00000000 }
[2] = {X=-0.70710194 Y=0.00000000 Z=0.70711166 }
Notice the first example has |
|||
| #1122 | fixed | [PATCH] Add terrain eyedropper tool / show current texture | ||
| Description |
Patch to add an eyedropper tool to Atlas, like what most paint programs have. It samples the terrain texture under the brush and makes it the currently selected texture. It's very handy for expanding texture areas. The patch also adds a box in the terrain panel to show current brush texture. |
|||
| #1124 | fixed | [PATCH] Deposit resources when garrisoned in a dropsite | ||
| Description |
When you garrison units in a dropsite (e.g. Civil Centre) they should deposit any resources which they are carrying. |
|||
| #1128 | fixed | WP Theming - Rough Body | ||
| Description |
This ticket is for modifying index.php, home.php, and style.css to create a rough version of our theme. index.php handles things like the page width, background, etc. Once basic CSS, HTML, and PHP are put into place, artwork needs to be identified and requested. |
|||
| #1129 | fixed | WP Theming - Rough Header | ||
| Description |
This ticket is for modifying header.php and style.css to create a rough version of our theme's header. Once basic CSS, HTML, and PHP are put into place, artwork needs to be identified and requested. |
|||
| #1130 | fixed | WP Theming - Rough Footer | ||
| Description |
This ticket is for modifying footer.php and style.css to create a rough version of our theme. Once basic CSS, HTML, and PHP are put into place, artwork needs to be identified and requested. |
|||
| #1131 | fixed | WP Theming - Theme boilerplate | ||
| Description |
In order to create a theme, we need to create some boilerplate. It was suggested that we base our theme off of the WP default theme. We need to make a copy of a base theme, rename it, change the license and other information in the comments of each file within the theme, and check it into GitHub so that others can begin work. |
|||
| #1132 | fixed | WP Theming - Rough Page | ||
| Description |
This ticket is for modifying page.php and style.css to create a rough version of our theme. Once basic CSS, HTML, and PHP are put into place, artwork needs to be identified and requested. |
|||
| #1134 | fixed | Install WP jQuery UI Plugin | ||
| Description |
The jQuery User Interface library is now easier to integrate with WordPress via this plugin. Very customizable and a time saver. |
|||
| #1136 | fixed | SSE skinning bug (seen on sheep) | ||
| Description |
There's a problem with the SSE skinning code, which is most noticeable on sheep: the upper back part of the sheep model "flashes" when animated and it looks bad. The problem is not noticeable when using the non-SSE path. |
|||
| #1137 | fixed | WP Theming - Rough Sidebar | ||
| Description |
This ticket is for modifying sidebar.php (to include all widgets and plugins) and call it it in all pages. |
|||
| #1138 | fixed | [PATCH] Resolve GLSL shader support compile errors | ||
| Description |
Changeset r10978 introduced GLSL support (http://trac.wildfiregames.com/changeset/10978) There is a mistake in the way the class CShaderProgramGLSL implements pglCreateShaderObjectARB(). pglCreateShaderObjectARB()'s return type is GLhandleARB, and thus m_Program, m_VertexShader and m_FragmentShader should be variables of type GLhandleARB. Patch attached to fix this. |
|||
| #1140 | fixed | Signed/unsigned comparison warning on FreeBSD | ||
| Description |
This warning occurs almost constantly when building on FreeBSD: ../../../source/lib/os_path.h: In function 'std::string OsString(const OsPath&)': ../../../source/lib/os_path.h:48: warning: comparison between signed and unsigned integer expressions
I checked the system headers and |
|||
| #1141 | fixed | SEO Plugin | ||
| Description |
Should test and install SEO plugins to:
|
|||
| #1142 | fixed | [PATCH] TestCLogger::test_unicode() failure on FreeBSD | ||
| Description |
Running 258 tests............................................................................................................APIC: all zero
..............................................................................................................
In TestCLogger::test_unicode:
../../../source/ps/tests/../../../source/ps/tests/test_CLogger.h:100: Error: Expected (lines[0] == "\xC3\xA2 \xC4\xA7"), found ("" != �� ��)
.......................................
Failed 1 of 258 tests
Success rate: 99%
|
|||
| #1143 | fixed | Assertion failed: "p" Location: trace.cpp:218 (Trace::Allocate) | ||
| Description |
People are starting to report this error and I'm encountering it too, both in Atlas and in-game. Not sure how to reproduce it yet, but it seems to occur when loading cached shader effects (with pathnames like Assertion failed: "p" Location: trace.cpp:218 (Trace::Allocate) pyrogenesis.exe!Trace::NotifyLoad(const Path & pathname, unsigned int size) Line 160 + 0x39 bytes C++ pyrogenesis.exe!VFS::LoadFile(const Path & pathname, boost::shared_ptr<unsigned char> & fileContents, unsigned int & size) Line 187 C++ pyrogenesis.exe!CXeromyces::ReadXMBFile(const boost::shared_ptr<IVFS> & vfs, const Path & filename) Line 162 + 0x1c bytes C++ pyrogenesis.exe!CXeromyces::Load(const boost::shared_ptr<IVFS> & vfs, const Path & filename) Line 90 + 0x10 bytes C++ pyrogenesis.exe!CShaderManager::LoadEffect(const char * name, const std::map<CStr8,CStr8,std::less<CStr8>,std::allocator<std::pair<CStr8 const ,CStr8> > > & baseDefines) Line 259 C++ pyrogenesis.exe!CGUI::DrawText(SGUIText & Text, const CColor & DefaultColor, const CPos & pos, const float & z, const CRect & clipping) Line 907 + 0x86 bytes C++ pyrogenesis.exe!IGUITextOwner::DrawText(int index, const CColor & color, const CPos & pos, float z, const CRect & clipping) Line 97 + 0x1c bytes C++ pyrogenesis.exe!CButton::Draw() Line 120 C++ pyrogenesis.exe!GUI<int>::RecurseObject(int RR, IGUIObject * pObject, void (void)* pFunc) Line 324 C++ pyrogenesis.exe!GUI<int>::RecurseObject(int RR, IGUIObject * pObject, void (void)* pFunc) Line 326 + 0xd bytes C++ pyrogenesis.exe!GUI<int>::RecurseObject(int RR, IGUIObject * pObject, void (void)* pFunc) Line 326 + 0xd bytes C++ pyrogenesis.exe!GUI<int>::RecurseObject(int RR, IGUIObject * pObject, void (void)* pFunc) Line 326 + 0xd bytes C++ pyrogenesis.exe!GUI<int>::RecurseObject(int RR, IGUIObject * pObject, void (void)* pFunc) Line 326 + 0xd bytes C++ pyrogenesis.exe!GUI<int>::RecurseObject(int RR, IGUIObject * pObject, void (void)* pFunc) Line 326 + 0xd bytes C++ pyrogenesis.exe!GUI<int>::RecurseObject(int RR, IGUIObject * pObject, void (void)* pFunc) Line 326 + 0xd bytes C++ pyrogenesis.exe!CGUI::Draw() Line 453 + 0x17 bytes C++ pyrogenesis.exe!CGUIManager::Draw() Line 278 + 0x8 bytes C++ pyrogenesis.exe!Render() Line 253 C++ pyrogenesis.exe!Frame() Line 391 C++ pyrogenesis.exe!RunGameOrAtlas(int argc, const char * * argv) Line 501 + 0x5 bytes C++ pyrogenesis.exe!main(int argc, char * * argv) Line 536 + 0xc bytes C++ pyrogenesis.exe!wmain(int argc, wchar_t * * argv) Line 380 + 0xa bytes C++ pyrogenesis.exe!__tmainCRTStartup() Line 552 + 0x17 bytes C pyrogenesis.exe!CallStartupWithinTryBlock() Line 397 C++ kernel32.dll!7651339a() [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll] ntdll.dll!77b89ef2() ntdll.dll!77b89ec5() |
|||
| #1144 | fixed | [PATCH] Add PreferredClasses and RestrictedClasses to Attack component | ||
| Description |
This is an idea to solve the following problems:
The classes would come from those specified in the Identity component ("Unit", "Structure", "Cavalry", etc.) |
|||
| #1145 | fixed | [PATCH] Improve game data paths in OS X and Windows | ||
| Description |
Paths could be greatly improved for usability and to follow OS conventions on Windows and OS X. The current vision is something like this table with a few tweaks as I go along. To summarize discussions to this point:
|
|||
| #1148 | fixed | Problem building Objective-C/C++ with Premake | ||
| Description |
While working on #1145, I noticed there are problems building Objective-C/C++ code, used for the Cocoa API on OS X. Until now this hasn't been a problem, but I do need to write some Obj-C to solve that ticket. Premake supports Obj-C source files (
The first issue is
|
|||
| #1150 | fixed | Units don't autohunt animals over 10 HP | ||
| Description |
Since [9046] units tasked to hunt are allowed to hunt any animals but afterward they will filter out remaining nearby animals over 10HP as "unhuntable", which excludes most animals except chickens at 5HP. This is a workaround for AIs, which have no clue what their units are doing if not idle. It's proposed to remove this hack entirely: let units autohunt everything and fix the real bug on the AI side, by providing UnitAI state info (at least current order and target entity). Then the AI can monitor it's own entities and keep them from doing what it considers a waste of time. |
|||
| #1152 | fixed | [PATCH] Rome support, defense tower fix for Jubot | ||
| Description |
The attached patch does: Adds support for Rome Fixes scout_tower/defense_tower naming issues Improves documentation tweaks some internal values |
|||
| #1153 | fixed | WP Theming - Rough Post | ||
| Description |
Our rough page is in place, but we now need to make sure that posts display correctly. |
|||
| #1154 | fixed | WP Theming - Rough Donation Widget | ||
| Description |
Our front page is supposed to have a donation widget. We need to figure out how to get this moving and to request any needed artwork. |
|||
| #1155 | fixed | WP Widget Dev - Community Activity | ||
| Description |
We have a widget on our page that is supposed to scrape an RSS feed from our forum to show some of the latest activity. We need to figure out how to make this work (eg, setting parameters and configurations). |
|||
| #1156 | fixed | WP Widget Dev - YouTube Widget | ||
| Description |
We want to be able to put a YT video right into the side bar. |
|||
| #1157 | fixed | WP Theming - Rough Menus | ||
| Description |
The menus described in the prototype image are pretty complex. Time to whip out some CSS-FU! |
|||
| #1158 | fixed | WP Theming - Rough image carrousel | ||
| Description |
The top of our prototype has an image carrousel before the rest of the page content. This needs to be implemented and styled. |
|||
| #1159 | fixed | WP Theming - header image | ||
| Description |
We need to get our artwork for the header down. We can simply make that "download" button into an image map. |
|||
| #1160 | fixed | WP Theming - Menu header backgrounds | ||
| Description |
We need the image for the background on the menu bar underneath the header image. In order to make things more maintainable, it'd be nice if we were told which color to make the div and we were supplied with a texture PNG to layer over top. That way, we could easily change parts of our theme without requesting new art. |
|||
| #1161 | fixed | WP Theming - Menu item mouse-over arg | ||
| Description |
We need the art work for what should appear when a user mouses over a menu item. It would be nice if we were supplied with a texture that we could apply a solid color underneath via CSS, allowing us to change colors without requesting new art. |
|||
| #1162 | fixed | WP Theming - Arrow images for image carrousel | ||
| Description |
The image carrousel in our prototype has some fancy-dancy arrows used to scroll through the images. We need art for these arrows so that we can appropriately style the gallery on the front page. |
|||
| #1163 | fixed | [PATCH][ATLAS] Object placement constraints | ||
| Description |
I think this would be a good addition to Atlas, to prevent problems like #656, where entities can be placed on the very fringe of the map circle, but because of pathfinder passability they get stuck. Of course it should still be possible to place objects anywhere on the map for unusual circumstances, but as an option, we can add placement constraints. For instance boats shouldn't be built on land, most buildings shouldn't be built in water. I think this can all be done by adding some logic to the create object handler to make it check pathfinding classes, similar to what building restrictions and unit spawning already do in-game. Though that wouldn't work for gaia objects like trees unless we assign them some default passability, maybe there's a better way to handle it. As a visual indicator, we can apply some shading to the entity preview if it's hovering an invalid location, like we do for building previews. |
|||
| #1164 | fixed | [PATCH] Add garrison related functions to AI common API | ||
| Description |
While sorting through the changes that Rootbot made to entity.js, I came across a few garrison related changes that I think could be useful for inclusion in the official common API. |
|||
| #1165 | fixed | [PATCH] remaining rootbot modifications | ||
| Description |
I've finished digging through rootbot's modifications to entity.js. These are the last of the changes I think should be considered for inclusion in the mainline common api. |
|||
| #1166 | fixed | [PATCH] Add <RubbleActor> tag in <VisualActor> Element for Building Templates | ||
| Description |
It would be nice to have a <RubbleActor> tag added for the <VisualActor> element in building entity templates, like so: <VisualActor>
<FoundationActor>structures/fndn_2x2.xml</FoundationActor>
<Actor>props/special/palisade_rocks_outpost.xml</Actor>
<RubbleActor>structures/rubble_2x2.xml</RubbleActor>
</VisualActor>
The specified Rubble actor would appear on the ground when a building dies and collapses. It would then "decay" sink or fade at some specified rate. Perhaps with another new element, like: <RubbleDecay>
<DelayTime>30.0</DelayTime>
<SinkRate>0.5</SinkRate>
<SinkAccel>0.5</SinkAccel>
</RubbleDecay>
The above is similar to the <Decay> element, but specifically for the <RubbleActor>. Like animal or human corpses, these "Rubble" actors can be built over. They have no obstruction or footprint. This ticket has been split off from ticket #131. Ticket #819 (Destruction dust) is related, but will possibly need a different solution. |
|||
| #1167 | fixed | [PATCH] Improve COLLADA caching and add to archive builder | ||
| Description |
Problems solved in this patch:
|
|||
| #1168 | fixed | [PATCH] civ typos | ||
| Description |
Just fixed some typos in the civ history folder. == History section -under Romans->heroes->Sulla
-Iberian heroes change to B.C. instead of BCE for consistency == sorry if I made any mistakes! |
|||
| #1169 | fixed | [PATCH] BCE/BC consistency | ||
| Description |
On the pregame tips screen, the Variato had "BCE". I just changed this to B.C. for consistency's sake. |
|||
| #1170 | fixed | [PATCH] Granicus river map minor typo | ||
| Description |
Another minor typo. Thefirst --> The first. Edited the XML file. |
|||
| #1172 | fixed | Rally lines take circuitous routes for non-square buildings | ||
| Description |
Rally lines sometimes look goofy. "Goofy" is defined by looking at the attached image. This looks like mostly an issue with round buildings, though rectangular or non-square buildings have goofiness as well (see image). |
|||
| #1173 | fixed | [PATCH] Make rally points work for trade | ||
| Description |
When setting the rally point for a market on another market, any trained traders should automatically start a trade route between the two markets. |
|||
| #1174 | fixed | Buildings rise into place as they are constructed | ||
| Description |
As creating multiple instances of buildings in various states of construction would be cost prohibitive in manpower, a good alternative would be to have the buildings rise into place as they are being constructed. Their position would be relative to their percentage complete. They would rise up through the foundation and through the construction dust into place. |
|||
| #1175 | fixed | WP Theming - Rough Download Button | ||
| Description |
http://www.wildfiregames.com/forum/index.php?showtopic=15688 |
|||
| #1176 | fixed | [PATCH] Fix Atlas starting canvas resolution on OS X | ||
| Description |
Looks like the Atlas canvas init problem is back on OS X, the resolution is stuck on the default 320x240 instead of being updated to the full window size. I remember fixing this at some point but it's broken again. If you resize the window, the resolution gets updated properly, so it's just a matter of getting the initialization correct, I remember there's a specific init order that needs to be followed with our combination of SDL and wxWidgets. |
|||
| #1177 | fixed | WP Themeing - Download Button Art | ||
| Description |
An image overlay for the download button. |
|||
| #1178 | fixed | precompiled.h: clang warnings about c-header | ||
| Description |
Building on OS X with their Command Line Tools for Xcode - February 2012 package, I get warnings like the following related to precompiled.h clang: warning: treating 'c-header' input as 'c++-header' when in C++ mode, this behavior is deprecated Compiler info:
Philip noticed this last year and mentioned a possible solution. |
|||
| #1179 | fixed | Warnings building Premake on OS X | ||
| Description |
I get the following warnings running Linking Premake4 clang: warning: argument unused during compilation: '-rdynamic' ld: warning: option -s is obsolete and being ignored
The -s Completely strip the output, including removing the sym-
bol table. This file format variant is no longer sup-
ported. This option is obsolete.
Doesn't seem like an especially useful option anyway :)
Is it possible to generate the contents of |
|||
| #1180 | fixed | h_mgr crashes with "Not enough memory" | ||
| Description |
Build: r11165 Visual C++ 2010 EE To reproduce:
I understand this happens on other maps as well and seems to be triggered by sounds during battle. Full error message: Function call failed: return value was -100033 (Not enough memory) Location: h_mgr.cpp:464 (alloc_new_handle) Call stack: alloc_new_handle (h_mgr.cpp:464)
type = 0x01A2FA80 ->
init = 0x01466760 -> (VSrc_init)
reload = 0x014667F0 -> (VSrc_reload)
dtor = 0x01466780 -> (VSrc_dtor)
validate = 0x01466D60 -> (VSrc_validate)
to_string = 0x01466F70 -> (VSrc_to_string)
user_size = 80 (0x00000050)
name = 0x019000C4 -> "VSrc"
vfs = 0x01A31908 ->
px = 0x00611858 -> (IVFS)
pn =
pi_ = 0x005F8E90 ->
use_count_ = 6 (0x00000006)
weak_count_ = 1 (0x00000001)
pathname = 0x048FF2BC ->
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), (uninitialized), (uninitialized), (uninitialized), (uninitialized), (uninitialized), (uninitialized), (uninitialized) }
key = 1061576240 (0x3F465E30)
flags = 17 (0x00000011)
init_args = 0x048FF208 -> 0x048FF25C -> [8] { 68 ('D'), 243, 143, 4, 230, 47 ('/'), 24, 1 }
hd = 0x00000000
err = (uninitialized)
idx = (uninitialized)
tag = (uninitialized)
h = (uninitialized)
h_alloc (h_mgr.cpp:536)
type = 0x01A2FA80 (see above)
vfs = 0x01A31908 (see above)
pathname = 0x048FF2BC (see above)
flags = 17 (0x00000011)
key = 1061576240 (0x3F465E30)
s = (H_ScopedLock)
h = 0 (0x0000000000000000)
args = 0x048FF25C (see above)
snd_open (snd_mgr.cpp:1333)
vfs = 0x01A31908 (see above)
pathname = 0x048FF2BC (see above)
CSoundGroup::PlayNext (soundgroup.cpp:157)
pathname =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 47 ('/')
hs = (uninitialized)
this = 0x0DE30638 ->
m_index = 9 (0x00000009)
m_hReplacement = -3617008641903833651 (0xCDCDCDCDCDCDCDCD)
snd_group = (unsupported vector<__int64 >)
filenames = (unsupported vector<basic_string<wchar_t,char_traits<wchar_t> > >)
playtimes = (unsupported vector<float >)
m_filepath =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = "/췍ꉘⅧ㭐✜췍췍췍췍췍췍"
m_intensity_file = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
m_CurTime = 0.000000 (0x00000000)
m_TimeWindow = -431602080.000000 (0xCDCDCDCD)
m_IntensityThreshold = 100 (0x00000064)
m_Intensity = 100 (0x00000064)
m_Decay = 3.000000 (0x40400000)
m_Flags = [8] { 7 (0x07), 205 (0xCD), 205 (0xCD), 205 (0xCD), 154 (0x9A), 153 (0x99), 153 (0x99), 62 (0x3E) }
m_Gain = 0.300000 (0x3E99999A)
m_Pitch = 1.000000 (0x3F800000)
m_Priority = 100.000000 (0x42C80000)
m_ConeOuterGain = 1.000000 (0x3F800000)
m_PitchUpper = 1.100000 (0x3F8CCCCD)
m_PitchLower = 0.900000 (0x3F666666)
m_GainUpper = 0.500000 (0x3F000000)
m_GainLower = 0.400000 (0x3ECCCCCD)
m_ConeInnerAngle = 360.000000 (0x43B40000)
m_ConeOuterAngle = 360.000000 (0x43B40000)
position = 0x048FF3E0 ->
X = 211.190659 (0x435330CF)
Y = 22.381821 (0x41B30DF8)
Z = 330.809692 (0x43A567A4)
CCmpSoundManager::PlaySoundGroup (ccmpsoundmanager.cpp:130)
this = 0x09921878 ->
m_EntityId = 1 (0x00000001)
m_SimContext = 0x097FCC20 ->
m_ComponentManager = 0x097FCC30 ->
m_ScriptInterface =
m = (auto_ptr<ScriptInterface_impl>)
m_SimContext = 0x097FCC20 (see above)
m_CurrentComponent = 0 (0x00000000)
m_CurrentlyHotloading = false
m_ComponentTypesById = (unsupported map<int,CComponentManager::ComponentType >)
m_ComponentsByInterface = (unsupported vector<boost::unordered_map<size_t,IComponent *,boost::hash<size_t>,equal_to<size_t> > >)
m_ComponentsByTypeId = (unsupported map<int,map<size_t,IComponent * > >)
m_LocalMessageSubscriptions = (unsupported map<int,vector<int > >)
m_GlobalMessageSubscriptions = (unsupported map<int,vector<int > >)
m_ComponentTypeIdsByName = (unsupported map<basic_string<char,char_traits<char> >,int >)
m_MessageTypeIdsByName = (unsupported map<basic_string<char,char_traits<char> >,int >)
m_MessageTypeNamesById = (unsupported map<int,basic_string<char,char_traits<char> > >)
m_InterfaceIdsByName = (unsupported map<basic_string<char,char_traits<char> >,int >)
m_DestructionQueue = (unsupported vector<size_t >)
m_NextScriptComponentTypeId = 78 (0x0000004E)
m_NextEntityId = 1300 (0x00000514)
m_NextLocalEntityId = 536870946 (0x20000022)
m_RNG =
lcf =
_x = 160475196953485 (0x000091F38B1C138D)
m_UnitManager = 0x006A1EE8 ->
m_Units = (unsupported vector<CUnit * >)
m_ObjectManager = 0x0986A8A4 ->
m_MeshManager = 0x0986A85C ->
m_MeshMap =
table_ =
buckets_ = 0x005F1978 ->
next_ = 0x00000000
bucket_count_ = 29 (0x0000001D)
allocators_ =
(unsupported )
(unsupported )
current_ = false
funcs_ = [2] { (too much output; skipping to next top-level symbol), }
size_ = 27 (0x0000001B)
mlf_ = 1.000000 (0x3F800000)
cached_begin_bucket_ = 0x005F197C ->
next_ = 0x20C87D80 ->
next_ = 0x00000000
max_load_ = 29 (0x0000001D)
m_ColladaManager = 0x0986A850 ->
m = 0x09851A58 ->
dll =
m_Name = 0x01873018 -> "Collada"
m_Handle = 0x00000000
set_logger = 0xCDCDCDCD ->
set_skeleton_definitions = 0xCDCDCDCD (see above)
convert_dae_to_pmd = 0xCDCDCDCD (see above)
convert_dae_to_psa = 0xCDCDCDCD (see above)
m_VFS =
px = 0x00611858 (see above)
pn =
pi_ = 0x005F8E90 (see above)
m_VFS =
px = 0x00611858 (see above)
pn =
pi_ = 0x005F8E90 (see above)
m_SkeletonAnimManager = 0x0986A880 ->
m_Animations =
table_ =
buckets_ = 0x005EAFD0 ->
next_ = 0x0B86B010 ->
next_ = 0x0B86AF60 ->
next_ = 0x00000000
bucket_count_ = 29 (0x0000001D)
allocators_ =
(unsupported )
(unsupported )
current_ = false
funcs_ = [2] { { data_ = { buf = [1] { [8] { 205, 205, 205, 21, 0, 0, 0, 0 } }, align_ =
t0 = 205
t1 = 205
t2 = 205
t3 = 205
t4 = 205
t5 = 205
t6 = 205
t7 = 205
t8 = 205
t9 = 205
t10 = 205
t11 = 205
t12 = 205
t13 = 205
t14 = 205
t15 = 205
t16 = 205
t17 = 205
t18 = 205
t19 = 205
t20 = 205
t21 = 205
t22 = 205
t23 = 205
} }, { data_ = { buf = [1] { [8] { 205, 205, 21, 0, 0, 0, 0, 0 } }, align_ =
t0 = 205
t1 = 205
t2 = 205
t3 = 205
t4 = 205
t5 = 205
t6 = 205
t7 = 205
t8 = 205
t9 = 205
t10 = 205
t11 = 205
t12 = 205
t13 = 205
t14 = 205
t15 = 205
t16 = 205
t17 = 205
t18 = 205
t19 = 205
t20 = 205
t21 = 205
t22 = 205
t23 = 205
} } }
size_ = 21 (0x00000015)
mlf_ = 1.000000 (0x3F800000)
cached_begin_bucket_ = 0x005EAFD0 (see above)
max_load_ = 29 (0x0000001D)
m_ColladaManager = 0x0986A850 (see above)
m_Simulation = 0x097E20A8 ->
m = 0x097FCC20 (see above)
m_Objects = (unsupported map<CObjectManager::ObjectKey,CObjectEntry * >)
m_ObjectBases = (unsupported map<CStrW,CObjectBase * >)
m_Terrain = 0x097FFB10 ->
m_MapSize = 145 (0x00000091)
m_MapSizePatches = 9 (0x00000009)
m_Patches = 0x0E0CF7C4 ->
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 = -431602080.000000 (0xCDCDCDCD)
_21 = -431602080.000000 (0xCDCDCDCD)
_31 = -431602080.000000 (0xCDCDCDCD)
_41 = -431602080.000000 (0xCDCDCDCD)
_12 = -431602080.000000 (0xCDCDCDCD)
_22 = -431602080.000000 (0xCDCDCDCD)
_32 = -431602080.000000 (0xCDCDCDCD)
_42 = -431602080.000000 (0xCDCDCDCD)
_13 = -431602080.000000 (0xCDCDCDCD)
_23 = -431602080.000000 (0xCDCDCDCD)
_33 = -431602080.000000 (0xCDCDCDCD)
_43 = -431602080.000000 (0xCDCDCDCD)
_14 = -431602080.000000 (0xCDCDCDCD)
_24 = -431602080.000000 (0xCDCDCDCD)
_34 = -431602080.000000 (0xCDCDCDCD)
_44 = -431602080.000000 (0xCDCDCDCD)
_data = [16]
-431602080.000000 (0xCDCDCDCD)
-431602080.000000 (0xCDCDCDCD)
-431602080.000000 (0xCDCDCDCD)
-431602080.000000 (0xCDCDCDCD)
-431602080.000000 (0xCDCDCDCD)
-431602080.000000 (0xCDCDCDCD)
-431602080.000000 (0xCDCDCDCD)
-431602080.000000 (0xCDCDCDCD)
-431602080.000000 (0xCDCDCDCD)
-431602080.000000 (0xCDCDCDCD)
-431602080.000000 (0xCDCDCDCD)
-431602080.000000 (0xCDCDCDCD) ...
_data2d = [4]
[4] { -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD) }
[4] { -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD) }
[4] { -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD) }
[4] { -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD) }
m_RenderData = 0x24017758 ->
m_UpdateFlags = 0 (0x00000000)
m_BoundsValid = true
m_bWillBeDrawn = false
m_MiniPatches = [16]
[16]
Tex = 0x0BA83E80 ->
m_Tag = { (unsupported basic_string<char,char_traits<char> >) }
m_pProperties =
px = 0x0D004520 ->
m_pParent =
px = 0x0D0044A8 ->
m_pParent =
px = 0x0D3504C8 ->
m_pParent =
px = 0x00000000
pn =
pi_ = 0x00000000
m_BaseColor = 0 (0x00000000)
m_HasBaseColor = false
m_MovementClass = { (unsupported basic_string<char,char_traits<char> >) }
m_TextureAngle = 0.785398 (0x3F490FDB)
m_TextureSize = 32.000000 (0x42000000)
m_Groups = (unsupported vector<CTerrainGroup * >)
pn =
pi_ = 0x0E0CD718 ->
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_TextureAngle = 0.785398 (0x3F490FDB)
m_TextureSize = 32.000000 (0x42000000)
m_Groups = (unsupported vector<CTerrainGroup * >)
pn =
pi_ = 0x0E0CEE18 ->
use_count_ = 21 (0x00000015)
weak_count_ = 1 (0x00000001)
m_BaseColor = 4278190080 (0xFF000000)
m_HasBaseColor = true
m_MovementClass = { (unsupported basic_string<char,char_traits<char> >) }
m_TextureAngle = 0.785398 (0x3F490FDB)
m_TextureSize = 32.000000 (0x42000000)
m_Groups = (unsupported vector<CTerrainGroup * >)
pn =
pi_ = 0x0E0CEE58 ->
use_count_ = 1 (0x00000001)
weak_count_ = 1 (0x00000001)
m_Texture =
px = 0x0DF30800 ->
m_Properties =
m_Path =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 52685, 9987, 0, 10497, 0, 10497, 0 }
m_Filter = 9987 (0x00002703)
m_WrapS = 10497 (0x00002901)
m_WrapT = 10497 (0x00002901)
m_Aniso = 2.000000 (0x40000000)
m_Handle = 22282429 (0x00000000015400BD)
m_BaseColour = 3422552064 (0xCC000000)
m_State = LOADED
m_TextureManager = 0x097F94E0 ->
m_VFS =
px = 0x00611858 (see above)
pn =
pi_ = 0x005F8E90 (see above)
m_CacheLoader =
m_VFS =
px = 0x00611858 (see above)
pn =
pi_ = 0x005F8E90 (see above)
m_FileExtension = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
m_DisableGL = false
m_TextureConverter =
m_VFS =
px = 0x00611858 (see above)
pn =
pi_ = 0x005F8E90 (see above)
m_HighQuality = false
m_WorkerThread = 956 (0x000003BC)
m_WorkerMutex = 0x00775ED8
m_WorkerSem = 0x000003B8
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 = 0x097E2410 ->
m_Properties =
m_Path =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 52685, 9987, 0, 10497, 0, 10497, 0 }
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 = 0x097F94E0 (see above)
m_Self =
px = 0x097E2410 (see above)
pn =
pi_ = 0x097FEB90 ->
use_count_ = 1 (0x00000001)
weak_count_ = 2 (0x00000002)
pn =
pi_ = 0x097FEB90 (see above)
m_TextureCache =
table_ =
buckets_ = 0x0DED4A28 ->
next_ = 0x00000000
bucket_count_ = 769 (0x00000301)
allocators_ =
(unsupported )
(unsupported )
current_ = false
funcs_ = [2] { { data_ = { buf = [2] { (uninitialized), (uninitialized) }, align_ =
t0 = (uninitialized)
t1 = (uninitialized)
t2 = (uninitialized)
t3 = (uninitialized)
t4 = (uninitialized)
t5 = (uninitialized)
t6 = (uninitialized)
t7 = (uninitialized)
t8 = (uninitialized)
t9 = (uninitialized)
t10 = (uninitialized)
t11 = (uninitialized)
t12 = (uninitialized)
t13 = (uninitialized)
t14 = (uninitialized)
t15 = (uninitialized)
t16 = (uninitialized)
t17 = (uninitialized)
t18 = (uninitialized)
t19 = (uninitialized)
t20 = (uninitialized)
t21 = (uninitialized)
t22 = (uninitialized)
t23 = (uninitialized)
} }, { data_ = { buf = [2] { [8] { 205, 205, 205, 205, 205, 125 ('}'), 2, 0 }, 205 }, align_ =
t0 = 205
t1 = 205
t2 = 205
t3 = 205
t4 = 205
t5 = 205
t6 = 205
t7 = 205
t8 = 205
t9 = 205
t10 = 205
t11 = 205
t12 = 205
t13 = 205
t14 = 205
t15 = 205
t16 = 205
t17 = 205
t18 = 205
t19 = 205
t20 = 205
t21 = 205
t22 = 205
t23 = 205
} } }
size_ = 637 (0x0000027D)
mlf_ = 1.000000 (0x3F800000)
cached_begin_bucket_ = 0x0DED4A2C ->
next_ = 0x0DF3F1E8 ->
next_ = 0x0DE583E8 ->
next_ = 0x00000000
max_load_ = 769 (0x00000301)
m_HotloadFiles =
table_ =
buckets_ = 0x0DF46D48 ->
next_ = 0x00000000
bucket_count_ = 769 (0x00000301)
allocators_ =
(unsupported )
(unsupported )
current_ = false
funcs_ = [2] { { data_ = { buf = [1] { [8] { 205, 205, 205, 157, 2, 0, 0, 0 } }, align_ =
t0 = 205
t1 = 205
t2 = 205
t3 = 205
t4 = 205
t5 = 205
t6 = 205
t7 = 205
t8 = 205
t9 = 205
t10 = 205
t11 = 205
t12 = 205
t13 = 205
t14 = 205
t15 = 205
t16 = 205
t17 = 205
t18 = 205
t19 = 205
t20 = 205
t21 = 205
t22 = 205
t23 = 205
} }, { data_ = { buf = [1] { [8] { 205, 205, 157, 2, 0, 0, 0, 0 } }, align_ =
t0 = 205
t1 = 205
t2 = 205
t3 = 205
t4 = 205
t5 = 205
t6 = 205
t7 = 205
t8 = 205
t9 = 205
t10 = 205
t11 = 205
t12 = 205
t13 = 205
t14 = 205
t15 = 205
t16 = 205
t17 = 205
t18 = 205
t19 = 205
t20 = 205
t21 = 205
t22 = 205
t23 = 205
} } }
size_ = 669 (0x0000029D)
mlf_ = 1.000000 (0x3F800000)
cached_begin_bucket_ = 0x0DF46D4C ->
next_ = 0x0DF074B0 ->
next_ = 0x00000000
max_load_ = 769 (0x00000301)
m_SettingsFiles =
table_ =
buckets_ = 0x097F63E0 ->
next_ = 0x0DEDC8B0 ->
next_ = 0x00000000
bucket_count_ = 53 (0x00000035)
allocators_ =
(unsupported )
(unsupported )
current_ = false
funcs_ = [2] { { data_ = { buf = [1] { [8] { 205, 205, 205, 32 (' '), 0, 0, 0, 0 } }, align_ =
t0 = 205
t1 = 205
t2 = 205
t3 = 205
t4 = 205
t5 = 205
t6 = 205
t7 = 205
t8 = 205
t9 = 205
t10 = 205
t11 = 205
t12 = 205
t13 = 205
t14 = 205
t15 = 205
t16 = 205
t17 = 205
t18 = 205
t19 = 205
t20 = 205
t21 = 205
t22 = 205
t23 = 205
} }, { data_ = { buf = [1] { [8] { 205, 205, 32 (' '), 0, 0, 0, 0, 0 } }, align_ =
t0 = 205
t1 = 205
t2 = 205
t3 = 205
t4 = 205
t5 = 205
t6 = 205
t7 = 205
t8 = 205
t9 = 205
t10 = 205
t11 = 205
t12 = 205
t13 = 205
t14 = 205
t15 = 205
t16 = 205
t17 = 205
t18 = 205
t19 = 205
t20 = 205
t21 = 205
t22 = 205
t23 = 205
} } }
size_ = 32 (0x00000020)
mlf_ = 1.000000 (0x3F800000)
cached_begin_bucket_ = 0x097F63E0 (see above)
max_load_ = 53 (0x00000035)
m_Self =
px = 0x0DF30800 (see above)
pn =
pi_ = 0x0DF176A0 ->
use_count_ = 2 (0x00000002)
weak_count_ = 9 (0x00000009)
pn =
pi_ = 0x0DF176A0 (see above)
m_TextureMatrix =
_11 = 0.022097 (0x3CB504F3)
_21 = -0.022097 (0xBCB504F3)
_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.022097 (0xBCB504F3)
_23 = -0.022097 (0xBCB504F3)
_33 = 0.000000 (0x00000000)
_43 = 0.000000 (0x00000000)
_14 = 0.000000 (0x00000000)
_24 = 0.000000 (0x00000000)
_34 = 0.000000 (0x00000000)
_44 = 1.000000 (0x3F800000)
_data = [16]
0.022097 (0x3CB504F3)
-0.022097 (0xBCB504F3)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
-0.022097 (0xBCB504F3)
-0.022097 (0xBCB504F3)
0.000000 (0x00000000)
0.000000 (0x00000000) ...
_data2d = [4]
[4] { 0.022097 (0x3CB504F3), -0.022097 (0xBCB504F3), 0.000000 (0x00000000), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000) }
[4] { -0.022097 (0xBCB504F3), -0.022097 (0xBCB504F3), 0.000000 (0x00000000), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000), 1.000000 (0x3F800000) }
m_BaseColor = 4278190080 (0xFF000000)
m_BaseColorValid = true
m_Groups = (unsupported vector<CTerrainGroup * >)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
...
[16]
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
...
[16]
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
...
[16]
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
...
[16]
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
...
[16]
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
...
[16]
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
...
[16]
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
Tex = 0x0BA83E80 (see above)
Priority = 0 (0x00000000)
... ...
m_X = 0 (0x00000000)
m_Z = 0 (0x00000000)
m_Parent = 0x097FFB10 (see above)
m_Heightmap = 0x0B7AB178 -> 16384 (0x4000)
m_BaseColour =
R = [8] { 255 (0xFF), 255 (0xFF), 255 (0xFF), 255 (0xFF), 253 (0xFD), 253 (0xFD), 253 (0xFD), 253 (0xFD) }
G = 255 (0xFF)
B = 255 (0xFF)
A = 255 (0xFF)
m_SoundGroups = (unsupported map<basic_string<wchar_t,char_traits<wchar_t> >,CSoundGroup * >)
name = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
source = 948 (0x000003B4)
cmpRangeManager =
m = 0x097F4808 ->
m_EntityId = 1 (0x00000001)
m_SimContext = 0x097FCC20 (see above)
vis = VIS_VISIBLE
group = 0x0DE30638 (see above)
CUnitAnimation::Update (unitanimation.cpp:193)
animDef = 0x20D88500 ->
m_FrameTime = 33.000000 (0x42040000)
m_NumKeys = 29 (0x0000001D)
m_NumFrames = 311 (0x00000137)
m_Keys = 0x20DAB968 ->
m_Translation =
X = -0.158727 (0xBE228942)
Y = 1.941809 (0x3FF88D2F)
Z = -0.642303 (0xBF246DFC)
m_Rotation =
m_V =
X = -0.000000 (0x80000000)
Y = -0.973917 (0xBF7952A6)
Z = -0.000000 (0x80000000)
m_W = -0.226903 (0xBE685940)
duration = 10263.000000 (0x46205C00)
hasLoadPos = true
actionPos = 8620.919922 (0x4606B3AE)
hasActionPos = true
speed = 5.131500 (0x40A4353F)
advance = 375480.218750 (0x48B75707)
loadPos = 1642.079956 (0x44CD428F)
it = (_Vector_iterator<_Vector_val<CUnitAnimation::SModelAnimState > >)
this = 0x225E8540 ->
m_AnimStates = (vector<CUnitAnimation::SModelAnimState >)
m_Entity = 948 (0x000003B4)
m_Model = 0x277CD250 ->
m_WorldBounds =
m_Data = [2]
X = 208.543396 (0x43508B1C)
Y = 22.410460 (0x41B3489F)
Z = 330.337708 (0x43A52B3A)
X = 211.407562 (0x43536856)
Y = 26.773624 (0x41D63062)
Z = 332.683350 (0x43A65778)
m_Transform =
_11 = -0.047295 (0xBD41B8D2)
_21 = 0.000000 (0x00000000)
_31 = -0.998881 (0xBF7FB6A9)
_41 = 0.000000 (0x00000000)
_12 = 0.000000 (0x00000000)
_22 = 1.000000 (0x3F800000)
_32 = 0.000000 (0x00000000)
_42 = 0.000000 (0x00000000)
_13 = 0.998881 (0x3F7FB6A9)
_23 = 0.000000 (0x00000000)
_33 = -0.047295 (0xBD41B8D2)
_43 = 0.000000 (0x00000000)
_14 = 211.190659 (0x435330CF)
_24 = 22.382513 (0x41B30F63)
_34 = 330.809692 (0x43A567A4)
_44 = 1.000000 (0x3F800000)
_data = [16]
-0.047295 (0xBD41B8D2)
0.000000 (0x00000000)
-0.998881 (0xBF7FB6A9)
0.000000 (0x00000000)
0.000000 (0x00000000)
1.000000 (0x3F800000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.998881 (0x3F7FB6A9)
0.000000 (0x00000000)
-0.047295 (0xBD41B8D2)
0.000000 (0x00000000) ...
_data2d = [4]
[4] { -0.047295 (0xBD41B8D2), 0.000000 (0x00000000), -0.998881 (0xBF7FB6A9), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), 1.000000 (0x3F800000), 0.000000 (0x00000000), 0.000000 (0x00000000) }
[4] { 0.998881 (0x3F7FB6A9), 0.000000 (0x00000000), -0.047295 (0xBD41B8D2), 0.000000 (0x00000000) }
[4] { 211.190659 (0x435330CF), 22.382513 (0x41B30F63), 330.809692 (0x43A567A4), 1.000000 (0x3F800000) }
m_InvTransform =
_11 = -0.047295 (0xBD41B8D4)
_21 = 0.000000 (0x00000000)
_31 = 0.998881 (0x3F7FB6AB)
(too much output; skipping to next top-level symbol)
m_RenderData = 0x229D9748 ->
m_UpdateFlags = 0 (0x00000000)
m_BoundsValid = true
m_Parent = 0x00000000
m_PositionValid = false
m_PlayerID = 2 (0x00000002)
m_ShadingColor =
r = 1.000000 (0x3F800000)
g = 1.000000 (0x3F800000)
b = 1.000000 (0x3F800000)
a = 1.000000 (0x3F800000)
m_SelectionBox =
m_Center =
X = 209.969635 (0x4351F83A)
Y = 24.592041 (0x41C4BC80)
Z = 331.387024 (0x43A5B18A)
m_HalfSizes =
X = 1.232382 (0x3F9DBEB2)
Y = 2.181582 (0x400B9F0C)
Z = 1.381192 (0x3FB0CAE5)
m_Basis = [3]
X = -0.047297 (0xBD41BB02)
Y = 0.000000 (0x00000000)
Z = -0.998881 (0xBF7FB6A7)
X = 0.000000 (0x00000000)
Y = 1.000000 (0x3F800000)
Z = 0.000000 (0x00000000)
X = 0.998881 (0x3F7FB6AA)
Y = 0.000000 (0x00000000)
Z = -0.047295 (0xBD41B7F4)
m_SelectionBoxValid = false
m_CustomSelectionShape = 0x00000000
m_Flags = 5 (0x00000005)
m_Texture =
px = 0x0DEB70E0 ->
m_Properties =
m_Path =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 52685, 9987, 0, 33071, 0, 33071, 0 }
m_Filter = 9987 (0x00002703)
m_WrapS = 33071 (0x0000812F)
m_WrapT = 33071 (0x0000812F)
m_Aniso = 1.000000 (0x3F800000)
m_Handle = 22151355 (0x00000000015200BB)
m_BaseColour = 2679807625 (0x9FBA9E89)
m_State = LOADED
m_TextureManager = 0x097F94E0 (see above)
m_Self =
px = 0x0DEB70E0 (see above)
pn =
pi_ = 0x20D88300 ->
use_count_ = 359 (0x00000167)
weak_count_ = 8 (0x00000008)
pn =
pi_ = 0x20D88300 (see above)
m_Material =
m_Texture = { (unsupported basic_string<char,char_traits<char> >) }
m_Alpha = false
m_PlayerID = 2 (0x00000002)
m_TextureColor =
r = 1.000000 (0x3F800000)
g = 1.000000 (0x3F800000)
b = 1.000000 (0x3F800000)
a = 1.000000 (0x3F800000)
m_UsePlayerColor = true
m_UseTextureColor = false
m_pModelDef =
px = 0x203417A0 ->
m_NumVertices = 302 (0x0000012E)
m_pVertices = 0x0BAF9178 ->
m_Coords =
X = 0.507903 (0x3F0205F2)
Y = 1.466088 (0x3FBBA8C2)
Z = 0.157111 (0x3E20E1AC)
m_Norm =
X = 0.788361 (0x3F49D206)
Y = 0.047649 (0x3D432B98)
Z = 0.613365 (0x3F1D057C)
m_U = 0.810705 (0x3F4F8A5D)
m_V = 0.125270 (0x3E0046C7)
m_Blend =
m_Bone = [4] { [8] { 19 (0x13), 255 (0xFF), 255 (0xFF), 255 (0xFF), 0 (0x00), 0 (0x00), 128 (0x80), 63 (0x3F) }, 255 (0xFF), 255 (0xFF), 255 (0xFF) }
m_Weight = [4] { 1.000000 (0x3F800000), 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000) }
m_NumFaces = 390 (0x00000186)
m_pFaces = 0x0B92DAE0 ->
m_Verts = [3] { 0 (0x0000), 1 (0x0001), 2 (0x0002) }
m_NumBones = 29 (0x0000001D)
m_Bones = 0x0D350C38 ->
m_Translation =
X = 0.000000 (0x00000000)
Y = 0.000000 (0x00000000)
Z = 0.000000 (0x00000000)
m_Rotation =
m_V =
X = 0.000000 (0x00000000)
Y = 0.000000 (0x00000000)
Z = 0.000000 (0x00000000)
m_W = -1.000000 (0xBF800000)
m_NumBlends = 91 (0x0000005B)
m_pBlends = 0x0D2C7780 ->
m_Bone = [4] { [8] { 19 (0x13), 20 (0x14), 255 (0xFF), 255 (0xFF), 249 (0xF9), 162 (0xA2), 121 (0x79), 63 (0x3F) }, 20 (0x14), 255 (0xFF), 255 (0xFF) }
m_Weight = [4] { 0.975143 (0x3F79A2F9), 0.024857 (0x3CCBA0E8), 0.000000 (0x00000000), 0.000000 (0x00000000) }
m_pBlendIndices = 0x0993AE20 -> 19 (0x00000013)
m_PropPoints = (unsupported vector<SPropPoint >)
m_Name =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 52685, 48224, 3377, 52685, 52685, 8488, 3575 }
m_RenderData = (unsupported map<void const *,CModelDefRPrivate * >)
pn =
pi_ = 0x0D2CD708 ->
use_count_ = 2712 (0x00000A98)
weak_count_ = 3 (0x00000003)
m_ObjectBounds =
m_Data = [2]
X = -1.751325 (0xBFE02B6B)
Y = 0.027947 (0x3CE4F097)
Z = -2.628159 (0xC02833C0)
X = 0.466159 (0x3EEEAC59)
Y = 4.391111 (0x408C83FC)
Z = 0.134224 (0x3E0971EA)
m_Anim = 0x27454E38 ->
m_Name = { (unsupported basic_string<char,char_traits<char> >) }
m_AnimDef = 0x20D88500 (see above)
m_Speed = 0.900000 (0x3F666666)
m_ActionPos = 8620.919922 (0x4606B3AE)
m_ActionPos2 = 1642.079956 (0x44CD428F)
m_ObjectBounds =
m_Data = [2]
X = -1.751325 (0xBFE02B6B)
Y = 0.027947 (0x3CE4F097)
Z = -2.628159 (0xC02833C0)
X = 0.466159 (0x3EEEAC59)
Y = 4.391111 (0x408C83FC)
Z = 0.134224 (0x3E0971EA)
m_AnimTime = 3856.812500 (0x45710D00)
m_BoneMatrices = 0x278A9DF0 ->
_11 = -0.341745 (0xBEAEF940)
_21 = 0.182973 (0x3E3B5D60)
_31 = 0.921808 (0x3F6BFBA1)
_41 = 0.000000 (0x00000000)
_12 = 0.063582 (0x3D823782)
_22 = 0.983118 (0x3F7BAD9D)
_32 = -0.171571 (0xBE2FB041)
_42 = 0.000000 (0x00000000)
_13 = -0.937639 (0xBF70091E)
_23 = -0.000023 (0xB7BE7000)
_33 = -0.347610 (0xBEB1F9EB)
_43 = 0.000000 (0x00000000)
_14 = 210.503586 (0x435280EB)
_24 = 24.324539 (0x41C298A8)
_34 = 331.029633 (0x43A583CB)
_44 = 1.000000 (0x3F800000)
_data = [16]
-0.341745 (0xBEAEF940)
0.182973 (0x3E3B5D60)
0.921808 (0x3F6BFBA1)
0.000000 (0x00000000)
0.063582 (0x3D823782)
0.983118 (0x3F7BAD9D)
-0.171571 (0xBE2FB041)
0.000000 (0x00000000)
-0.937639 (0xBF70091E)
-0.000023 (0xB7BE7000)
-0.347610 (0xBEB1F9EB)
0.000000 (0x00000000) ...
_data2d = [4]
[4] { -0.341745 (0xBEAEF940), 0.182973 (0x3E3B5D60), 0.921808 (0x3F6BFBA1), 0.000000 (0x00000000) }
[4] { 0.063582 (0x3D823782), 0.983118 (0x3F7BAD9D), -0.171571 (0xBE2FB041), 0.000000 (0x00000000) }
[4] { -0.937639 (0xBF70091E), -0.000023 (0xB7BE7000), -0.347610 (0xBEB1F9EB), 0.000000 (0x00000000) }
[4] { 210.503586 (0x435280EB), 24.324539 (0x41C298A8), 331.029633 (0x43A583CB), 1.000000 (0x3F800000) }
m_InverseBindBoneMatrices = 0x27721B40 ->
_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_Props = (vector<CModel::Prop >)
m_AmmoPropPoint = 0x0B92EC30 ->
m_Name = { (unsupported basic_string<char,char_traits<char> >) }
m_Position =
X = 0.111625 (0x3DE49BA6)
Y = -0.022327 (0xBCB6E71D)
Z = 0.047914 (0x3D444178)
m_Rotation =
m_V =
X = -0.017978 (0xBC9345CF)
Y = 0.689260 (0x3F307356)
Z = -0.014345 (0xBC6B058A)
m_W = -0.724149 (0xBF3961D4)
m_Transform =
_11 = 0.049430 (0x3D4A773A)
_21 = -0.004007 (0xBB834F80)
_31 = 0.998769 (0x3F7FAF5B)
_41 = 0.000000 (0x00000000)
_12 = -0.045558 (0xBD3A9AC0)
_22 = 0.998942 (0x3F7FBAAB)
_32 = 0.006263 (0x3BCD370C)
_42 = 0.000000 (0x00000000)
_13 = -0.997738 (0xBF7F6BC1)
_23 = -0.045811 (0xBD3BA492)
_33 = 0.049195 (0x3D4980F6)
_43 = 0.000000 (0x00000000)
_14 = 0.111625 (0x3DE49BA6)
_24 = -0.022327 (0xBCB6E71D)
_34 = 0.047914 (0x3D444178)
_44 = 1.000000 (0x3F800000)
_data = [16]
0.049430 (0x3D4A773A)
-0.004007 (0xBB834F80)
0.998769 (0x3F7FAF5B)
0.000000 (0x00000000)
-0.045558 (0xBD3A9AC0)
0.998942 (0x3F7FBAAB)
0.006263 (0x3BCD370C)
0.000000 (0x00000000)
-0.997738 (0xBF7F6BC1)
-0.045811 (0xBD3BA492)
0.049195 (0x3D4980F6)
0.000000 (0x00000000) ...
_data2d = [4]
[4] { 0.049430 (0x3D4A773A), -0.004007 (0xBB834F80), 0.998769 (0x3F7FAF5B), 0.000000 (0x00000000) }
[4] { -0.045558 (0xBD3A9AC0), 0.998942 (0x3F7FBAAB), 0.006263 (0x3BCD370C), 0.000000 (0x00000000) }
[4] { -0.997738 (0xBF7F6BC1), -0.045811 (0xBD3BA492), 0.049195 (0x3D4980F6), 0.000000 (0x00000000) }
[4] { 0.111625 (0x3DE49BA6), -0.022327 (0xBCB6E71D), 0.047914 (0x3D444178), 1.000000 (0x3F800000) }
m_BoneIndex = [8] { 16 (0x10), 205 (0xCD), 205 (0xCD), 205 (0xCD), 232 (0xE8), 224 (0xE0), 49 (0x31), 13 (0x0D) }
m_AmmoLoadedProp = 3 (0x00000003)
m_SkeletonAnimManager = 0x0986A880 (see above)
m_Object = 0x2411A590 ->
m_Base = 0x0D2A3040 ->
m_Pathname =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 52685, 64144, 8408, 23296, 8392, 52685, 52685 }
m_ShortName = { (unsupported basic_string<wchar_t,char_traits<wchar_t> >) }
m_Properties = { m_AutoFlatten = false, m_CastShadows = true , m_FloatOnWater = false }
m_Material =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 52685, 64256, 8408, 57936, 8397, 57976, 8397 }
m_VariantGroups = (unsupported vector<vector<CObjectBase::Variant > >)
m_ObjectManager = 0x0986A8A4 (see above)
m_UsedFiles =
table_ =
buckets_ = 0x20C84BA0 ->
next_ = 0x20CDE1F8 ->
next_ = 0x00000000
bucket_count_ = 11 (0x0000000B)
allocators_ =
(unsupported )
(unsupported )
current_ = false
funcs_ = [2] { { data_ = { buf = [1] { [8] { 205, 205, 205, 4, 0, 0, 0, 0 } }, align_ =
t0 = 205
t1 = 205
t2 = 205
t3 = 205
t4 = 205
t5 = 205
t6 = 205
t7 = 205
t8 = 205
t9 = 205
t10 = 205
t11 = 205
t12 = 205
t13 = 205
t14 = 205
t15 = 205
t16 = 205
t17 = 205
t18 = 205
t19 = 205
t20 = 205
t21 = 205
t22 = 205
t23 = 205
} }, { data_ = { buf = [1] { [8] { 205, 205, 4, 0, 0, 0, 0, 0 } }, align_ =
t0 = 205
t1 = 205
t2 = 205
t3 = 205
t4 = 205
t5 = 205
t6 = 205
t7 = 205
t8 = 205
t9 = 205
t10 = 205
t11 = 205
t12 = 205
t13 = 205
t14 = 205
t15 = 205
t16 = 205
t17 = 205
t18 = 205
t19 = 205
t20 = 205
t21 = 205
t22 = 205
t23 = 205
} } }
size_ = 4 (0x00000004)
mlf_ = 1.000000 (0x3F800000)
cached_begin_bucket_ = 0x20C84BA0 (see above)
max_load_ = 11 (0x0000000B)
m_TextureName =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 52685, 8064, 8427, 15104, 10032, 52685, 52685 }
m_ModelName =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), 52685, 0, 16256, 0, 16256, 0, 16256 }
m_Color =
r = 1.000000 (0x3F800000)
g = 1.000000 (0x3F800000)
b = 1.000000 (0x3F800000)
a = 1.000000 (0x3F800000)
m_ProjectileModelName = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
m_Model = 0x23088290 ->
m_WorldBounds =
m_Data = [2]
X = 340282346638528860000000000000000000000.000000 (0x7F7FFFFF)
Y = 340282346638528860000000000000000000000.000000 (0x7F7FFFFF)
Z = 340282346638528860000000000000000000000.000000 (0x7F7FFFFF)
X = -340282346638528860000000000000000000000.000000 (0xFF7FFFFF)
Y = -340282346638528860000000000000000000000.000000 (0xFF7FFFFF)
Z = -340282346638528860000000000000000000000.000000 (0xFF7FFFFF)
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 = -431602080.000000 (0xCDCDCDCD)
_21 = -431602080.000000 (0xCDCDCDCD)
_31 = -431602080.000000 (0xCDCDCDCD)
_41 = -431602080.000000 (0xCDCDCDCD)
_12 = -431602080.000000 (0xCDCDCDCD)
_22 = -431602080.000000 (0xCDCDCDCD)
_32 = -431602080.000000 (0xCDCDCDCD)
_42 = -431602080.000000 (0xCDCDCDCD)
_13 = -431602080.000000 (0xCDCDCDCD)
_23 = -431602080.000000 (0xCDCDCDCD)
_33 = -431602080.000000 (0xCDCDCDCD)
_43 = -431602080.000000 (0xCDCDCDCD)
_14 = -431602080.000000 (0xCDCDCDCD)
_24 = -431602080.000000 (0xCDCDCDCD)
_34 = -431602080.000000 (0xCDCDCDCD)
_44 = -431602080.000000 (0xCDCDCDCD)
_data = [16]
-431602080.000000 (0xCDCDCDCD)
-431602080.000000 (0xCDCDCDCD)
-431602080.000000 (0xCDCDCDCD)
-431602080.000000 (0xCDCDCDCD)
-431602080.000000 (0xCDCDCDCD)
-431602080.000000 (0xCDCDCDCD)
-431602080.000000 (0xCDCDCDCD)
-431602080.000000 (0xCDCDCDCD)
-431602080.000000 (0xCDCDCDCD)
-431602080.000000 (0xCDCDCDCD)
-431602080.000000 (0xCDCDCDCD)
-431602080.000000 (0xCDCDCDCD) ...
_data2d = [4]
[4] { -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD) }
[4] { -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD) }
[4] { -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD) }
[4] { -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD), -431602080.000000 (0xCDCDCDCD) }
m_RenderData = 0x00000000
m_BoundsValid = false
m_Parent = 0x00000000
m_PositionValid = true
m_PlayerID = 4294967295 (0xFFFFFFFF)
m_ShadingColor =
r = 1.000000 (0x3F800000)
g = 1.000000 (0x3F800000)
b = 1.000000 (0x3F800000)
a = 1.000000 (0x3F800000)
m_SelectionBox =
m_Center =
X = 0.000000 (0x00000000)
Y = 0.000000 (0x00000000)
Z = 0.000000 (0x00000000)
m_HalfSizes =
X = 0.000000 (0x00000000)
Y = 0.000000 (0x00000000)
Z = 0.000000 (0x00000000)
m_Basis = [3]
X = 0.000000 (0x00000000)
Y = 0.000000 (0x00000000)
Z = 0.000000 (0x00000000)
X = 0.000000 (0x00000000)
Y = 0.000000 (0x00000000)
Z = 0.000000 (0x00000000)
X = 0.000000 (0x00000000)
Y = 0.000000 (0x00000000)
Z = 0.000000 (0x00000000)
m_SelectionBoxValid = false
m_CustomSelectionShape = 0x00000000
m_Outdated = false
m_Animations = (unsupported multimap<CStr8,CSkeletonAnim * >)
m_State = { (unsupported basic_string<char,char_traits<char> >) }
m_Looping = true
m_OriginalSpeed = 1.000000 (0x3F800000)
m_Speed = 1.047635 (0x3F8618EB)
m_SyncRepeatTime = 2000.000000 (0x44FA0000)
m_Desync = 0.049988 (0x3D4CC000)
m_ActionSound = { (unsupported basic_string<wchar_t,char_traits<wchar_t> >) }
time = 73171.632813 (0x478EE9D1)
CUnit::UpdateModel (unit.cpp:71)
this = 0x23149440 ->
m_Object = 0x2411A590 (see above)
m_Model = 0x277CD250 (see above)
m_Animation = 0x225E8540 (see above)
m_ID = 948 (0x000003B4)
m_ActorSelections = (unsupported set<CStr8 >)
m_EntitySelections = (unsupported set<CStr8 >)
m_ObjectManager = 0x0986A8A4 (see above)
frameTime = 73.171631 (0x429257E0)
CCmpVisualActor::Interpolate (ccmpvisualactor.cpp:629)
this = 0x22E88058 ->
m_EntityId = 948 (0x000003B4)
m_SimContext = 0x097FCC20 (see above)
m_ActorName = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
m_Unit = 0x23149440 (see above)
m_R =
value = 65536 (0x00010000)
m_G =
value = 65536 (0x00010000)
m_B =
value = 65536 (0x00010000)
m_Visibility = VIS_VISIBLE
m_AnimRunThreshold =
value = 0 (0x00000000)
m_AnimName = (unsupported basic_string<char,char_traits<char> >)
m_AnimOnce = false
m_AnimSpeed =
value = 65536 (0x00010000)
m_SoundGroup = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
m_AnimDesync =
value = 3276 (0x00000CCC)
m_AnimSyncRepeatTime =
value = 131072000 (0x07D00000)
frameTime = 73.171631 (0x429257E0)
frameOffset = 1.000000 (0x3F800000)
transform =
_11 = -0.047295 (0xBD41B8D2)
_21 = 0.000000 (0x00000000)
_31 = -0.998881 (0xBF7FB6A9)
_41 = 0.000000 (0x00000000)
_12 = 0.000000 (0x00000000)
_22 = 1.000000 (0x3F800000)
_32 = 0.000000 (0x00000000)
_42 = 0.000000 (0x00000000)
_13 = 0.998881 (0x3F7FB6A9)
_23 = 0.000000 (0x00000000)
_33 = -0.047295 (0xBD41B8D2)
_43 = 0.000000 (0x00000000)
_14 = 211.190659 (0x435330CF)
_24 = 22.382513 (0x41B30F63)
_34 = 330.809692 (0x43A567A4)
_44 = 1.000000 (0x3F800000)
_data = [16]
-0.047295 (0xBD41B8D2)
0.000000 (0x00000000)
-0.998881 (0xBF7FB6A9)
0.000000 (0x00000000)
0.000000 (0x00000000)
1.000000 (0x3F800000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.998881 (0x3F7FB6A9)
0.000000 (0x00000000)
-0.047295 (0xBD41B8D2)
0.000000 (0x00000000) ...
_data2d = [4]
[4] { -0.047295 (0xBD41B8D2), 0.000000 (0x00000000), -0.998881 (0xBF7FB6A9), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), 1.000000 (0x3F800000), 0.000000 (0x00000000), 0.000000 (0x00000000) }
[4] { 0.998881 (0x3F7FB6A9), 0.000000 (0x00000000), -0.047295 (0xBD41B8D2), 0.000000 (0x00000000) }
[4] { 211.190659 (0x435330CF), 22.382513 (0x41B30F63), 330.809692 (0x43A567A4), 1.000000 (0x3F800000) }
model = 0x277CD250 (see above)
cmpVision =
m = 0x23229718 ->
m_EntityId = 948 (0x000003B4)
m_SimContext = 0x097FCC20 (see above)
cmpPosition =
m = 0x230E2558 ->
m_EntityId = 948 (0x000003B4)
m_SimContext = 0x097FCC20 (see above)
floating = false
CCmpVisualActor::HandleMessage (ccmpvisualactor.cpp:265)
this = 0x22E88058 (see above)
msg = 0x048FF728 ->
m_Cached =
m_Val =
px = 0x00000000
pn =
pi_ = 0x00000000
__formal = false
CComponentManager::BroadcastMessage (componentmanager.cpp:826)
emap = (unsupported _Tree_const_iterator<_Tree_val<<int,map<size_t,IComponent * >> >)
eit = (unsupported _Tree_const_iterator<_Tree_val<<size_t,IComponent *> >)
ctit = (unsupported _Vector_const_iterator<_Vector_val<int > >)
this = 0x097FCC30 (see above)
msg = 0x048FF728 (see above)
it = (unsupported _Tree_const_iterator<_Tree_val<<int,vector<int >> >)
CSimulation2Impl::Interpolate (simulation2.cpp:525)
this = 0x097FCC20 (see above)
frameLength = 73.171631 (0x429257E0)
frameOffset = 1.000000 (0x3F800000)
msg =
m_Cached =
m_Val =
px = 0x00000000
pn =
pi_ = 0x00000000
frameTime = 73.171631 (0x429257E0)
offset = 1.000000 (0x3F800000)
profile2__ =
m_Name = 0x017B9758 -> "sim interpolate"
CSimulation2::Interpolate (simulation2.cpp:658)
this = 0x097E20A8 (see above)
frameLength = 73.171631 (0x429257E0)
frameOffset = 1.000000 (0x3F800000)
CNetTurnManager::Interpolate (netturnmanager.cpp:257)
this = 0x098713C0 ->
m_Simulation2 = 0x097E20A8 (see above)
m_CurrentTurn = 178 (0x000000B2)
m_ReadyTurn = 179 (0x000000B3)
m_TurnLength = 200 (0x000000C8)
m_QueuedCommands = (unsupported deque<map<size_t,vector<SimulationCommand > > >)
m_PlayerId = 1 (0x00000001)
m_ClientId = 0 (0x00000000)
m_DeltaTime = 1038.073975 (0x4481C25E)
m_HasSyncError = false
m_Replay = 0x0E026C98 -> (IReplayLogger)
m_TimeWarpNumTurns = 0 (0x00000000)
m_TimeWarpStates = (unsupported list<basic_string<char,char_traits<char> > >)
m_QuickSaveState = (unsupported basic_string<char,char_traits<char> >)
frameLength = 73.171631 (0x429257E0)
offset = 1.000000 (0x3F800000)
CGame::Interpolate (game.cpp:319)
this = 0x09864818 ->
m_World = 0x097FFAD0 ->
m_pGame = 0x09864818 (see above)
m_Terrain = 0x097FFB10 (see above)
m_UnitManager = 0x006A1EE8 (see above)
m_TerritoryManager = 0x00000000
m_Simulation2 = 0x097E20A8 (see above)
m_GameView = 0x0E0270F8 ->
(Scene)
m = 0x0986A800 ->
(IJSObject)
m_JS = 0x00000000
m_NonsharedProperties =
table_ =
buckets_ = 0x00000000
bucket_count_ = 11 (0x0000000B)
allocators_ =
(unsupported )
(unsupported )
current_ = false
funcs_ = [2] { { data_ = { buf = [1] { [8] { 205, 205, 205, 0, 0, 0, 0, 0 } }, align_ =
t0 = 205
t1 = 205
t2 = 205
t3 = 205
t4 = 205
t5 = 205
t6 = 205
t7 = 205
t8 = 205
t9 = 205
t10 = 205
t11 = 205
t12 = 205
t13 = 205
t14 = 205
t15 = 205
t16 = 205
t17 = 205
t18 = 205
t19 = 205
t20 = 205
t21 = 205
t22 = 205
t23 = 205
} }, { data_ = { buf = [1] { [8] { 205, 205, 0, 0, 0, 0, 0, 0 } }, align_ =
t0 = 205
t1 = 205
t2 = 205
(too much output; skipping to next top-level symbol)
} } }
size_ = 0 (0x00000000)
mlf_ = 1.000000 (0x3F800000)
cached_begin_bucket_ = 0x00000000
max_load_ = 0 (0x00000000)
m_ScriptProperties =
table_ =
buckets_ = 0x00000000
bucket_count_ = 11 (0x0000000B)
allocators_ =
(unsupported )
(unsupported )
current_ = false
funcs_ = [2] { { data_ = { buf = [1] { [8] { 205, 205, 205, 0, 0, 0, 0, 0 } }, align_ =
t0 = 205
t1 = 205
t2 = 205
t3 = 205
t4 = 205
t5 = 205
t6 = 205
t7 = 205
t8 = 205
t9 = 205
t10 = 205
t11 = 205
t12 = 205
t13 = 205
t14 = 205
t15 = 205
t16 = 205
t17 = 205
t18 = 205
t19 = 205
t20 = 205
t21 = 205
t22 = 205
t23 = 205
} }, { data_ = { buf = [1] { [8] { 205, 205, 0, 0, 0, 0, 0, 0 } }, align_ =
t0 = 205
t1 = 205
t2 = 205
t3 = 205
t4 = 205
t5 = 205
t6 = 205
t7 = 205
t8 = 205
t9 = 205
t10 = 205
t11 = 205
t12 = 205
t13 = 205
t14 = 205
t15 = 205
t16 = 205
t17 = 205
t18 = 205
t19 = 205
t20 = 205
t21 = 205
t22 = 205
t23 = 205
} } }
size_ = 0 (0x00000000)
mlf_ = 1.000000 (0x3F800000)
cached_begin_bucket_ = 0x00000000
max_load_ = 0 (0x00000000)
m_EngineOwned = true
Game = 0x09864818 (see above)
ColladaManager =
m = 0x09851A58 (see above)
m_VFS =
px = 0x00611858 (see above)
pn =
pi_ = 0x005F8E90 (see above)
MeshManager =
m_MeshMap =
table_ =
buckets_ = 0x005F1978 (see above)
bucket_count_ = 29 (0x0000001D)
allocators_ =
(unsupported )
(unsupported )
current_ = false
funcs_ = [2] { { data_ = { buf = [1] { [8] { 205, 205, 205, 27, 0, 0, 0, 0 } }, align_ =
t0 = 205
t1 = 205
t2 = 205
t3 = 205
t4 = 205
t5 = 205
t6 = 205
t7 = 205
t8 = 205
t9 = 205
t10 = 205
t11 = 205
t12 = 205
t13 = 205
t14 = 205
t15 = 205
t16 = 205
t17 = 205
t18 = 205
t19 = 205
t20 = 205
t21 = 205
t22 = 205
t23 = 205
} }, { data_ = { buf = [1] { [8] { 205, 205, 27, 0, 0, 0, 0, 0 } }, align_ =
t0 = 205
t1 = 205
t2 = 205
t3 = 205
t4 = 205
t5 = 205
t6 = 205
t7 = 205
t8 = 205
t9 = 205
t10 = 205
t11 = 205
t12 = 205
t13 = 205
t14 = 205
t15 = 205
t16 = 205
t17 = 205
t18 = 205
t19 = 205
t20 = 205
t21 = 205
t22 = 205
t23 = 205
} } }
size_ = 27 (0x0000001B)
mlf_ = 1.000000 (0x3F800000)
cached_begin_bucket_ = 0x005F197C (see above)
max_load_ = 29 (0x0000001D)
m_ColladaManager = 0x0986A850 (see above)
SkeletonAnimManager =
m_Animations =
table_ =
buckets_ = 0x005EAFD0 (see above)
bucket_count_ = 29 (0x0000001D)
allocators_ =
(unsupported )
(unsupported )
current_ = false
funcs_ = [2] { { data_ = { buf = [1] { [8] { 205, 205, 205, 21, 0, 0, 0, 0 } }, align_ =
t0 = 205
t1 = 205
t2 = 205
t3 = 205
t4 = 205
t5 = 205
t6 = 205
t7 = 205
t8 = 205
t9 = 205
t10 = 205
t11 = 205
t12 = 205
t13 = 205
t14 = 205
t15 = 205
t16 = 205
t17 = 205
t18 = 205
t19 = 205
t20 = 205
t21 = 205
t22 = 205
t23 = 205
} }, { data_ = { buf = [1] { [8] { 205, 205, 21, 0, 0, 0, 0, 0 } }, align_ =
t0 = 205
t1 = 205
t2 = 205
t3 = 205
t4 = 205
t5 = 205
t6 = 205
t7 = 205
t8 = 205
t9 = 205
t10 = 205
t11 = 205
t12 = 205
t13 = 205
t14 = 205
t15 = 205
t16 = 205
t17 = 205
t18 = 205
t19 = 205
t20 = 205
t21 = 205
t22 = 205
t23 = 205
} } }
size_ = 21 (0x00000015)
mlf_ = 1.000000 (0x3F800000)
cached_begin_bucket_ = 0x005EAFD0 (see above)
max_load_ = 29 (0x0000001D)
m_ColladaManager = 0x0986A850 (see above)
ObjectManager =
m_MeshManager = 0x0986A85C (see above)
m_SkeletonAnimManager = 0x0986A880 (see above)
m_Simulation = 0x097E20A8 (see above)
m_Objects = (unsupported map<CObjectManager::ObjectKey,CObjectEntry * >)
m_ObjectBases = (unsupported map<CStrW,CObjectBase * >)
LOSTexture =
m_Simulation = 0x097E20A8 (see above)
m_Dirty = true
m_Texture = 192 (0x000000C0)
m_MapSize = 145 (0x00000091)
m_TextureSize = 256 (0x00000100)
m_TextureMatrix =
_11 = 0.000977 (0x3A800000)
_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.000977 (0x3A800000)
_33 = 0.000000 (0x00000000)
_43 = 0.000000 (0x00000000)
_14 = 0.001953 (0x3B000000)
_24 = 0.001953 (0x3B000000)
_34 = 0.000000 (0x00000000)
_44 = 1.000000 (0x3F800000)
_data = [16]
0.000977 (0x3A800000)
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.000977 (0x3A800000)
0.000000 (0x00000000)
0.000000 (0x00000000) ...
_data2d = [4]
[4] { 0.000977 (0x3A800000), 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.000977 (0x3A800000), 0.000000 (0x00000000), 0.000000 (0x00000000) }
[4] { 0.001953 (0x3B000000), 0.001953 (0x3B000000), 0.000000 (0x00000000), 1.000000 (0x3F800000) }
m_MinimapTextureMatrix =
_11 = 0.566406 (0x3F110000)
_21 = 0.000000 (0x00000000)
_31 = 0.000000 (0x00000000)
_41 = 0.000000 (0x00000000)
_12 = 0.000000 (0x00000000)
_22 = 0.566406 (0x3F110000)
_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 = 1.000000 (0x3F800000)
_data = [16]
0.566406 (0x3F110000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.566406 (0x3F110000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000) ...
_data2d = [4]
[4] { 0.566406 (0x3F110000), 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), 0.566406 (0x3F110000), 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), 1.000000 (0x3F800000) }
TerritoryTexture =
m_Simulation = 0x097E20A8 (see above)
m_DirtyID = 2 (0x00000002)
m_Texture = 213 (0x000000D5)
m_MapSize = 144 (0x00000090)
m_TextureSize = 256 (0x00000100)
m_TextureMatrix =
_11 = 0.000977 (0x3A800000)
_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.000977 (0x3A800000)
_33 = 0.000000 (0x00000000)
_43 = 0.000000 (0x00000000)
_14 = 0.000000 (0x00000000)
_24 = 0.000000 (0x00000000)
_34 = 0.000000 (0x00000000)
_44 = 1.000000 (0x3F800000)
_data = [16]
0.000977 (0x3A800000)
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.000977 (0x3A800000)
0.000000 (0x00000000)
0.000000 (0x00000000) ...
_data2d = [4]
[4] { 0.000977 (0x3A800000), 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.000977 (0x3A800000), 0.000000 (0x00000000), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000), 1.000000 (0x3F800000) }
m_MinimapTextureMatrix =
_11 = 0.562500 (0x3F100000)
_21 = 0.000000 (0x00000000)
_31 = 0.000000 (0x00000000)
_41 = 0.000000 (0x00000000)
_12 = 0.000000 (0x00000000)
_22 = 0.562500 (0x3F100000)
_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 = 1.000000 (0x3F800000)
_data = [16]
0.562500 (0x3F100000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.562500 (0x3F100000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000) ...
_data2d = [4]
[4] { 0.562500 (0x3F100000), 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), 0.562500 (0x3F100000), 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), 1.000000 (0x3F800000) }
ViewCamera =
m_Orientation =
_11 = 1.000000 (0x3F800000)
_21 = 0.000000 (0x00000000)
_31 = 0.000000 (0x00000000)
_41 = 0.000000 (0x00000000)
_12 = 0.000000 (0x00000000)
_22 = 0.819152 (0x3F51B3F3)
_32 = 0.573576 (0x3F12D5E8)
_42 = 0.000000 (0x00000000)
_13 = 0.000000 (0x00000000)
_23 = -0.573576 (0xBF12D5E8)
_33 = 0.819152 (0x3F51B3F3)
_43 = 0.000000 (0x00000000)
_14 = 192.000000 (0x43400000)
_24 = 189.792526 (0x433DCAE3)
_34 = -37.425148 (0xC215B35A)
_44 = 1.000000 (0x3F800000)
_data = [16]
1.000000 (0x3F800000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.000000 (0x00000000)
0.819152 (0x3F51B3F3)
0.573576 (0x3F12D5E8)
0.000000 (0x00000000)
0.000000 (0x00000000)
-0.573576 (0xBF12D5E8)
0.819152 (0x3F51B3F3)
0.000000 (0x00000000) ...
_data2d = [4]
[4] { 1.000000 (0x3F800000), 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), 0.819152 (0x3F51B3F3), 0.573576 (0x3F12D5E8), 0.000000 (0x00000000) }
[4] { 0.000000 (0x00000000), -0.573576 (0xBF12D5E8), 0.819152 (0x3F51B3F3), 0.000000 (0x00000000) }
[4] { 192.000000 (0x43400000), 189.792526 (0x433DCAE3), -37.425148 (0xC215B35A), 1.000000 (0x3F800000) }
m_ProjMat =
_11 = 2.008842 (0x400090DD)
_21 = 0.000000 (0x00000000)
_31 = 0.000000 (0x00000000)
|
|||
| #1181 | fixed | BOM in intro.txt | ||
| Description |
Fixed the BOM that appears in the very beginning of the intro.txt file. In-game, it got rendered as a '?' Patch attached. |
|||
| #1182 | fixed | Forum upgrade | ||
| Description |
A forum upgrade is in order and is being scheduled. |
|||
| #1184 | fixed | [PATCH] Changing stance on garrisoning units causes instant garrison | ||
| Description |
As reported on the forum, units will garrison instantly regardless of location when ordering them to garrison, then setting their stance to Passive, Defensive, or Stand. For some reason other stances don't cause this problem. This can be considered a fairly serious cheat. |
|||
| #1185 | fixed | Save game crash: unhandled exception PSERROR_Serialize_InvalidScriptValue | ||
| Description |
Reproducible crash when saving a game, as reported on in this thread: http://www.wildfiregames.com/forum/index.php?showtopic=15712. A debug build produces this error message: Unhandled exception at 0x7690fc56 in pyrogenesis_dbg.exe: Microsoft C++ exception: PSERROR_Serialize_InvalidScriptValue at memory location 0x0024c6fc.. Attaching crashlogs. VS 2010 stack trace: kernel32.dll!7690fc56()
[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
kernel32.dll!7690fc56()
msvcr100d.dll!_CxxThrowException(void * pExceptionObject=0x002ac41c, const _s__ThrowInfo * pThrowInfo=0x01605b98) Line 157 C++
> pyrogenesis_dbg.exe!CBinarySerializerScriptImpl::HandleScriptVal(unsigned __int64 val=18446462628992422368) Line 140 C++
pyrogenesis_dbg.exe!CBinarySerializerScriptImpl::HandleScriptVal(unsigned __int64 val=18446462628992479680) Line 129 C++
pyrogenesis_dbg.exe!CBinarySerializerScriptImpl::HandleScriptVal(unsigned __int64 val=18446462628992436984) Line 129 C++
pyrogenesis_dbg.exe!CBinarySerializerScriptImpl::HandleScriptVal(unsigned __int64 val=18446462628992436696) Line 129 C++
pyrogenesis_dbg.exe!CBinarySerializerScriptImpl::HandleScriptVal(unsigned __int64 val=18446462628992436408) Line 129 C++
pyrogenesis_dbg.exe!CBinarySerializerScriptImpl::HandleScriptVal(unsigned __int64 val=18446462629361138496) Line 129 C++
pyrogenesis_dbg.exe!CBinarySerializerScriptImpl::HandleScriptVal(unsigned __int64 val=18446462629355963160) Line 129 C++
pyrogenesis_dbg.exe!CBinarySerializerScriptImpl::HandleScriptVal(unsigned __int64 val=18446462628992436624) Line 129 C++
pyrogenesis_dbg.exe!CBinarySerializerScriptImpl::HandleScriptVal(unsigned __int64 val=18446462629358874912) Line 129 C++
pyrogenesis_dbg.exe!CBinarySerializer<CStdSerializerImpl>::PutScriptVal(const char * __formal=0x01415b50, unsigned __int64 value=18446462629358874912) Line 180 C++
pyrogenesis_dbg.exe!ISerializer::ScriptVal(const char * name=0x01415b50, CScriptVal value={...}) Line 102 + 0x22 bytes C++
pyrogenesis_dbg.exe!CAIWorker::SerializeState(ISerializer & serializer={...}) Line 401 C++
pyrogenesis_dbg.exe!CAIWorker::Serialize(std::basic_ostream<char,std::char_traits<char> > & stream={...}, bool isDebug=false) Line 372 C++
pyrogenesis_dbg.exe!CCmpAIManager::Serialize(ISerializer & serialize={...}) Line 553 C++
pyrogenesis_dbg.exe!CComponentManager::SerializeState(std::basic_ostream<char,std::char_traits<char> > & stream={...}) Line 254 + 0x30 bytes C++
pyrogenesis_dbg.exe!CSimulation2::SerializeState(std::basic_ostream<char,std::char_traits<char> > & stream={...}) Line 765 C++
pyrogenesis_dbg.exe!SavedGames::Save(const std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > & prefix="quicksave", CSimulation2 & simulation={...}, CGUIManager * gui=0x036a1288, int playerID=1) Line 62 + 0x34 bytes C++
pyrogenesis_dbg.exe!`anonymous namespace'::SaveGame(void * cbdata=0x036a1288) Line 239 + 0x39 bytes C++
pyrogenesis_dbg.exe!ScriptInterface_NativeWrapper<void>::call<void (__cdecl*)(void *)>(JSContext * cx=0x03f17810, unsigned __int64 & __formal=18446462607322775552, void (void *)* fptr=0x00ff9f00) Line 45 + 0x16 bytes C++
pyrogenesis_dbg.exe!ScriptInterface::call<void,&`anonymous namespace'::SaveGame>(JSContext * cx=0x03f17810, unsigned int argc=0, unsigned __int64 * vp=0x04000068) Line 104 + 0x13d bytes C++
|
|||
| #1186 | fixed | [PATCH] Hotkey to toggle silhouettes | ||
| Description |
Silhouettes are the player-colored shape of a unit when it's obstructed by something else. Sometimes they can be distracting, so a hotkey to turn this feature on/off would be nice :) |
|||
| #1187 | fixed | [PATCH] Hotkey to display all health bars | ||
| Description |
A hotkey pressed to show health bars for all units on screen at once. This would be handy during battles so you could quickly see the health of all units without needing to select them. The hotkey could be either a toggle or active only when held down. Related and perhaps unnecessary feature: show health of units with recently changed hitpoints, i.e. those being healed or damaged. If implemented, it should be a config option and separate from the "show all" feature. |
|||
| #1188 | fixed | "Idle warrior button" doesn't get all idle warriors | ||
| Description |
When I press the idle warrior button to cycle through the idle warriors I only seem to be able to get to some of the idle warriors. As far as I can tell from some quick testing it could have something to do with the naming change from super units to champion units? I'll investigate further, but someone with more knowledge of the code could probably find out if that is indeed the case pretty quickly :) (And thus fix it if it indeed is the case ;) ) |
|||
| #1189 | fixed | WP Theming- Rough Home Page | ||
| Description |
Lay out the foundations of this page. Discussion: http://www.wildfiregames.com/forum/index.php?showtopic=15719 |
|||
| #1190 | fixed | [PATCH] Selected stances and formations need to be more obvious. | ||
| Description |
The stances buttons currently have a little color if selected, but that color is hardly enough. Currently they have a nice border around them which turns a lighter grey when the mouse is over the button. I thin there needs to be a consistency and the border should also change for the selected stance. See my attached screenshot, and modification. |
|||
| #1194 | fixed | Rejoin caused some kind of selection bug | ||
| Description |
While playing with Mythos_Ruler, I got disconnected, and when I rejoined, it spat out a bunch of errors and stopped allowing me to select nearly all my units. The effected units seemed to be all the buildings except the civil center, all the military units but a few, and seemingly all the citizens were selectable. mainlog.html has been attached. Edit: mainlog.html was too large, so interestinglog.html is attached instead. |
|||
| #1198 | fixed | [PATCH] Add "Skirmish" map type | ||
| Description |
Discussion here:http://www.wildfiregames.com/forum/index.php?showtopic=15756&st=20 A map similar to scenarios. Difference is that Players can choose their faction, team and if they like, their start location (the latter based on the preexisting "start location" entities). If they didn't choose their start location, it is randomly chosen. Game engine then creates the starting entities (better to use the scheme that is used in random maps). |
|||
| #1199 | fixed | Barter.js error when exchanging resources | ||
| Description |
This is the error message: ERROR: Failed to call ProcessCommand() global script function ERROR: JavaScript error: simulation/components/Barter.js line 60
ERROR: Failed to call ProcessCommand() global script function To replicate - on the new Istmus map, as player 1 hele, build a market and try to exchange resources |
|||
| #1201 | fixed | [PATCH] Replace isUnit, isAnimal, ... with calls to hasClass | ||
| Description |
input.js, unit_commands.js and utility_functions.js use functions like isUnit that duplicate the functionality of hasClass introduced by [11279]. |
|||
| #1202 | fixed | nvtt doesn't build with gcc 4.7 | ||
| Description |
unistd.h is no longer included by some other include files and needs to be included separately. Including it should break building under earlier versions of gcc. --- a/libraries/nvtt/src/src/nvcore/Debug.cpp +++ b/libraries/nvtt/src/src/nvcore/Debug.cpp @@ -1,5 +1,6 @@
+#include <unistd.h>
|
|||
| #1203 | fixed | Shadow related visual artifacts | ||
| Description |
Example: http://i.imgur.com/TAZdt.jpg When the sun is at low angles and shadows are enabled, there are faint box-shaped artifacts on the terrain. They change with the camera orientation, you might see them clearly or not at all. They are most easily noticed in actor viewer, because the terrain is white, but also visible if you paint a lighter colored terrain in the normal game view. |
|||
| #1204 | fixed | Upgrade IPB to 3.3 | ||
| #1206 | fixed | [PATCH] Garrison UI Enhancement: Shift-Click Removal | ||
| Description |
Shift-Click the unit icons in Garrison UI panel to unload all of that type. Be sure to make this distinction known in the tooltip: "Single-click to unload 1. Shift-click to unload all of this type." |
|||
| #1207 | fixed | [PATCH] Trading Waypoints (2-parter) | ||
| Description |
|
|||
| #1209 | fixed | [PATCH] Set the traded goods for every Trader in a selected group of Traders | ||
| Description |
Set the traded goods for every Trader in a selected group of Traders. Eliminates having to do it one at a time. Currently, you can only set the trade goods on one trader at a time. It would be best if this could be done with multiple selected traders at once. |
|||
| #1210 | fixed | [PATCH] Player should be able to train units over all buildings in a selection. | ||
| Description |
Players should be able to train units in multiple buildings in a selection at the same time. For instance, if multiple Barracks are selected (usually via double click), then if the player clicks the "train spearman" button, a spearman should be added to the queues of all of the selected barracks. This removes unnecessary clicks and helps prevent carpal tunnel and tendonitis in players (known from experience). |
|||
| #1211 | fixed | Waypoint enhancements for Rally Points | ||
| Description |
Rally Points can have waypoints, via shift-click. |
|||
| #1213 | fixed | [PATCH] [ATLAS] Multi-Selection object rotation | ||
| Description |
Multi-Selection object rotation. Right-click rotation (as with single objects). Just rough calculate a center point of the selection and use that as a center for rotation. |
|||
| #1214 | fixed | [PATCH] Barter Button Removal, Bartering UI Tweak | ||
| Description |
Remove the 'Barter' button from the bartering panel in the Market UI. Just select the 'Sell' resource in the top row, then begin clicking the desired 'Buy' resource in the bottom row. No need for the 'Barter' button. This space can be used for the 'trade tax'. I know we went back and forth about this prior to adding bartering, but after some playtesting I feel the button is completely unnecessary. Tooltips completely suffice. Later we can add an option to turn on/off tooltips. |
|||
| #1215 | fixed | [PATCH] Trade can occur between two incomplete buildings | ||
| Description |
When setting up a trade route, it is possible to trade between two incomplete structures. Place two Market foundations, but do not build them. Attempt to establish a trade route between the two Trade will happen successfully. |
|||
| #1217 | fixed | 'hele_wall_tower' templates visual entrance differs from drop point | ||
| Description |
The 'hele_wall_tower' entities template has a visual entrance but it is on the opposite side of the drop point (where the units are placed when un-garrisoned). The drop point is placed correct (as fortresses and civil center drop points are) so only the visual part of the template has to be rotated by 180° (or PI). |
|||
| #1220 | fixed | [PATCH] Units stick to idle animation after destination target is constructed before reaching it | ||
| Description |
When a building construction is finished, units that are walking to build it continue to move towards it while idle animation is being played. |
|||
| #1221 | fixed | WP Widget Dev - Revision Log | ||
| Description |
Concept has a revision log for the sidebar. Similar to Community Updates. Forum discussion: http://www.wildfiregames.com/forum/index.php?showtopic=15803 |
|||
| #1222 | fixed | [PATCH] Add Option to Disable Particles | ||
| Description |
Either in game (dev overlay) or in local.cfg as a |
|||
| #1223 | fixed | [PATCH] Redesign Sound System | ||
| Description |
Redesign the sound engine. Current one is broken and full of hacks.
|
|||
| #1224 | fixed | Shadows are offset for units and buildings | ||
| Description |
I have seen that in both units and buildings the shadows appear offset about 1 m (in the world's scale) offset away from the entity's base, in the line traced between the entity and the sun. |
|||
| #1225 | fixed | Atlas editor resets player options when unable to load map | ||
| Description |
If a map cannot be loaded the map settings remain as chosen but the player options are unnecessarily reset. |
|||
| #1226 | fixed | [PATCH] Queue train units via hotkeys | ||
| Description |
It would be nice if it would be possible to train multiple units from all selected units/building that can produce units via a simple keypress (eventually with SHIFT to batch queue). I have a patch that enables that in a probably naive way. |
|||
| #1228 | fixed | Add bird animations / AI | ||
| Description |
Birds' animation doesn't play on all maps in Alpha 9 Ides of March. Screenshot attached. |
|||
| #1232 | fixed | Error with qBot pathing when no enemies are left | ||
| Description |
Screenshot attached. |
|||
| #1234 | fixed | [PATCH] Read formations from json files | ||
| Description |
As noted in GetCivFormations in utility_functions.js the formations should probably be read from json files. The patch also checks if a unit can actually be moved in a formation. If a unit doesn't support a specific formation it just executes the task as if it is walking alone. This removes the use of scatter and the use of formations for female citizens as in #601. Formations like Wedge, Testudo, Syntagma, Phalanx (and others) that are only supported by some units should be removed from template_unit.xml and added to the respective units only. |
|||
| #1236 | fixed | WP Theming - Fine Footer | ||
| Description |
Finalize the universal footer with all art and content. |
|||
| #1238 | fixed | Fix our theme to work with IPB 3.2.3 | ||
| Description |
The upgrade to IPB 3.2.3 breaks out theme pretty bad. We need to rework the theme so that it doesn't look horribly broken. |
|||
| #1239 | fixed | Add plugins and current theme to integration instance | ||
| Description |
It's time to make sure that our plugins and theme play nicely together. We need to start using our integration region to make sure all's well. |
|||
| #1240 | fixed | WP THeming - Final Menus | ||
| Description |
It's time to finish polishing the menus! We need to add art work, etc. |
|||
| #1241 | fixed | WP Theming - Final Image Carousel | ||
| Description |
Time to polish the image carrousel. Final art adjustments, size adjustments, etc. |
|||
| #1242 | fixed | WP Theming - Final Sidebar | ||
| Description |
Time to firm up the side-bar and it's widgets! We need to make sure that the side bar looks alright on all pages. This is more for testing than it is enhancing. |
|||
| #1243 | fixed | WP Theming - Final Page/Post | ||
| Description |
This is for making sure that he pages/posts match our vision document. This story is more for testing than enhancements. |
|||
| #1244 | fixed | WP Theming - Final Header/Footer | ||
| Description |
Time to add that last little bit of art work and to take care of any quarks! |
|||
| #1245 | fixed | Theme Finalization - Review current theme with the team | ||
| Description |
Once we close the majority of our theming tickets, it's time to show off our handy work and to ask for feed back. Once we fix any minor defects or enhancements that come out of this, we'll label the theme 1.0 in all of our documentation, GitHub, etc. |
|||
| #1246 | fixed | Theme Finalization - Documentation and code cleanup | ||
| Description |
Once we get towards the end of our 1.0 theme journey, we need to start doing some documentation and cleanup. A wiki page exists for our theme and we should work to populate it. We should also review any code we wrote and make sure that it's fit for public consumption. |
|||
| #1247 | fixed | Website Content Creation - Image gallery | ||
| Description |
It's time to start using the content dev instance. A dev and one other person should work to port over the image gallery from the legacy-attempt instance. The web dev can use some database tricks to make this go much faster. New images (those on the current website that aren't in the legacy-attempt) should also be ported over. |
|||
| #1248 | fixed | Website Content Creation - Music page | ||
| Description |
A web dev and one other person should team up to create the Media-> Music page. This will require choosing one of the plugins from the plugin-dev instance, installing it into the content-dev instance, and configuring it in the appropriate place. |
|||
| #1249 | fixed | Website Content Creation - Video Gallery | ||
| Description |
A web dev and one other person should team up to create the Media-> Videos page. One of the plugins from the plugin-dev instance should be chosen and installed on the content-dev region. The dev and the other person need to work together to style, configure, and position the plugin. |
|||
| #1250 | fixed | Create regular backups of the website development work | ||
| Description |
Versioning content is a tad silly since WordPress already does that. Instead, we need to protect our development database and file structure. There are backups that are already carried out on a regular basis, but they need to be evaluated to make sure that they cover the website development effort. If they do not, then we will implement something. |
|||
| #1251 | fixed | WP Theming - Error page | ||
| Description |
I just noticed that the error pages aren't pretty. We need to fix that. |
|||
| #1252 | fixed | WP Theming - News Template | ||
| Description |
Create a template for displaying news, archives, etc as defined here. Modifications to functions.php; style.css; news-page.php; |
|||
| #1253 | fixed | Can't use the "Post moderation" options | ||
| Description |
At the bottom of the topics there is the topic moderation options to the left, and the post moderation options to the right. I can't seem to be able to use the latter, the dropdown menu, and selecting the posts works fine, but nothing happens when I click the "With selected (#)" button. I've tried both in Chrome and Firefox without any luck. |
|||
| #1254 | fixed | Spawn point (SPQR Banner) stays if Building (Temple; Aedes) gets deleted | ||
| Description |
Build a temple, set a spawn point with a right click somewhere, delete (why is this not called destroy?!) the temple. The banner does not get deleted and stays visible all time. Other buildings were not tested. |
|||
| #1255 | fixed | [PATCH] Wrong units move if the same number of units is selected | ||
| Description |
I select two units and make them move. While they move, i select one of this units and another one, and make them move. In this case, will move those units, which I originally select. This happens only while the units are moved. And the number of newly selected units is the same as before. Game version: Alpha 9 Ides of March. My PC: Windows 7 Ultimate, 64-bit (Service Pack 1), AMD Phenom(tm) 9850 Quad-Core Processor 2.49 GHz, GeForce GTX 260 (driver version 295.73), (two monitors 1920x1200, 1440x900), 4 Gb RAM. |
|||
| #1256 | fixed | [PATCH] My units and other units can be selected together | ||
| Description |
If I select unit (or building), I can not additionally select with Shift another enemy or neutral, but not my unit (or building). If i select enemy or neutral unit, building or another not my object (resource for example), I can additionally select with Shift any my units (or building), but they do not execute my orders. Game version: Alpha 9 Ides of March. My PC: Windows 7 Ultimate, 64-bit (Service Pack 1), AMD Phenom(tm) 9850 Quad-Core Processor 2.49 GHz, GeForce GTX 260 (driver version 295.73), (two monitors 1920x1200, 1440x900), 4 Gb RAM. |
|||
| #1257 | fixed | [PATCH] move the banner of spawn point along with the unit | ||
| Description |
If I set a spawn point of any buildings on unit that can transport people(like Aries), and move this units, the banner of spawn point not move, but people from this buildings will continue to go to the Aries. This can be confusing. Need to move the banner along with the Aries. |
|||
| #1258 | fixed | qbot goes into endless loop on Death Canyon | ||
| Description |
When playing on Death Canyon - Invasion Force, qbot suddenly went into an endless loop, rendering the game effectively frozen and pinning one CPU to 100%. Philip did some investigation on irc: [22:26:30] <@Philip`> quantumstate: qbot is looping infinitely, with a pattern of function entries like [22:26:35] <@Philip`> (resources.js:25) [22:26:38] <@Philip`> (resources.js:43) [22:26:39] <@Philip`> repeating forever [22:26:42] <@Philip`> (queue.js:15) [22:26:44] <@Philip`> (plan-building.js:46) [22:26:47] <@Philip`> (queue-manager.js:127) I have attached my commands.txt which reproduces the problem 100% of the time. |
|||
| #1259 | fixed | Selected units that can't reach each other won't move when tasked | ||
| Description |
In some cases (as in the screenshot) units do not move anywhere, if I give them order to move. This occurs when the difficult terrain between the units. Sometimes the units begin to move (when they are closer), but only after a few seconds (up to ten). If I give order to attack (or gather resources), they immediately move towards the enemy (or resource). Screenshot: http://i.imgur.com/qBZW6.jpg Game version: Alpha 9 Ides of March. My PC: Windows 7 Ultimate, 64-bit
|
|||
| #1260 | fixed | [PATCH] The resource carrying animation is not displayed, or displayed when not needed | ||
| Description |
If the worker has a 20/20 resources, his bag shows only when he goes to drop resource. In all other cases (if worker stands or goes somewhere) the bag is missing. If many workers will stand with the resources, but without the bags, then you might think that they are without resources. This is confusing. I think the bag should be displayed always, if worker have at least 1/20 resources. Happens that a worker has a 0/20 resources (it is if when he began to extract resources, you interrupt this), in which case the bag with him if you tell him to go to the building where he can drop resource. Like on screenshot: http://i.imgur.com/s3BEZ.jpg I think in this case bag and icon of resource on the panel should not be. Game version: Alpha 9 Ides of March. My PC: Windows 7 Ultimate, 64-bit (Service Pack 1), AMD Phenom(tm) 9850 Quad-Core Processor 2.49 GHz, GeForce? GTX 260 (driver version 295.73), (two monitors 1920x1200, 1440x900), 4 Gb RAM. |
|||
| #1261 | fixed | [PATCH] Control groups are removed after load game | ||
| Description |
If I create (you known crtl+1,2,3...) several (or only one) control groups of units and save game, then load this save file all the control groups are removed. And why the game can be loaded only came out to the main menu? It is not convenient. |
|||
| #1262 | fixed | [PATCH] Make it easy to select multiple control groups | ||
| Description |
If for example I have 50 horsemen. They are divided into two groups (Ctrl+1 and Ctrl+2) to more quickly find the enemy. But when the enemy found I need to select all horsemen immediately and order the attack. I would like to assign all the horsemen in the group number three, but if i do this the group number one and two will removed. I think the units should be allowed to be in different groups simultaneously. Or allow the player select several groups as a several unit by pressing Shift. It will be good, if in my example, instead of keys 3, I could press 1 and Shift+2. |
|||
| #1263 | fixed | Disable CUDA in bundled NVTT's CMake build script | ||
| Description |
The bundled |
|||
| #1264 | fixed | [PATCH] Hotkey ALT+F doesn't work in Match Setup | ||
| Description |
Hotkey ALT+F doesn't work in Match Setup, but it works in all other cases. Also FPS counter disappears after loading Match. OS: Windows 7 Ultimate SP1 x64; CPU: i5-2400; Video: nVidia GeForce 210 |
|||
| #1278 | fixed | Hotkey F11 doesn't fixed in help | ||
| Description |
This hotkey provides profiling information. |
|||
| #1279 | fixed | Mistake in manual | ||
| Description |
There are following mistake in manual: Ctrl + 1 (and so on up to Ctrl + 9). Create control group, but it needs to be Ctrl + 1 (and so on up to Ctrl + 0) |
|||
| #1287 | fixed | [PATCH] Add random map 'Deep Forest' | ||
| Description |
A map of a deep forest area near the baltic sea. Somehow differing from the existing ones so nice to have IMO. Compatible to the actual svn version (11426). Not sure if this is the right way to do this but I don't know how to do otherwise. None of the available 'component' seams to fit. |
|||
| #1289 | fixed | [PATCH] Change placement for random maps to default 2d (x/y plane) | ||
| Description |
Changed the placement of entities in random map scripts to default 2d behavior. A unit placed with the angle 0 faces right now (towards positive x) and rotates counter clockwise when the angle is risen (mathematical positive rotation). BUILDING_ANGlE is now -PI/4 so all random map scripts had to be changed. Also the function 'createStartingPlayerEntities' had to be changed for that in 'misc.js'. (There you can see WHY it's changed! Unit placement angle is now the same as the direction they are placed with the civil center centered) The resource bunches at the start locations in the random map 'fortress' are swapped but I think that doesn't matter. If Spahbod insists I will fix that. Still no propper 'Component' to choose... |
|||
| #1290 | fixed | Female citizens have no attack animation | ||
| Description |
Process of killing an animal is not animated: a female citizen approaches an animal, the animals life starts to drain and after it reaches zero animation of meat harvesting is played. The melee animation is missing. |
|||
| #1291 | fixed | [PATCH] Menu doesn't disappear automatically | ||
| Description |
Menu doesn't disappear automatically: after you open it, even if you click anywhere on the map, it will not turn off. |
|||
| #1299 | fixed | Page up in console doesn't scroll up | ||
| Description |
In the in-game console, pressing PageUp doesn't scroll the message log up properly. What happens is that all lines stay on the same position, and every keypress of PageUp merely hides an extra line from view. Attached is a screenshot that (hopefully) clarifies the issue. This is after pressing PageUp about 9 times with a full message log. |
|||
| #1305 | fixed | Add some informations about current game problems inside the game | ||
| Description |
So that users won't complain again and again about them in the forum (e.g. "the game lags"). A list of problems was already reported on the forum, see http://www.wildfiregames.com/forum/index.php?showtopic=15796&st=0&p=236295&fromsearch=1&#entry236295 . Ideally there should be a brief list of major problems and a TODO list (as it was available in past releases announce). A page similar to the help screen should be enough. Even better the list should be shown automatically every time the game get an update. |
|||
| #1311 | fixed | [PATCH] Update wall_builder and add wall_demo random map | ||
| Description |
Updated rmgen lib wall_builder.js:
Fix random map fortress:
Added wall_demo random map as an code example I still don't know what component to choose... |
|||
| #1313 | fixed | r11488 does not compile with "--without-pch" | ||
| Description |
latest svn won't compile with "--without-pch" set: ./update-workspaces.sh \
relevant lines:
../../../source/ps/PreprocessorWrapper.h:35:29: error: ‘CStr’ does not name a type
../../../source/ps/PreprocessorWrapper.h:35:35: error: ISO C++ forbids declaration of ‘expr’ with no type
../../../source/ps/PreprocessorWrapper.h:37:2: error: ‘CStr’ does not name a type
CCmpFootprint.cpp
x86_64-pc-linux-gnu-g++ -march=native -O2 -pipe -march=native -O2 -pipe -MMD -MP -DNDEBUG -DCONFIG_FINAL=1 -DCONFIG2_FAM=0 -DLIB_STATIC_LINK -DINSTALLED_BINDIR=/usr/games/bin -DINSTALLED_DATADIR=/usr/share/games/0ad -DINSTALLED_LIBDIR=/usr/games/lib64/0ad -DWITH_SYSTEM_MOZJS185 -I/usr/X11R6/include/X11 -I/usr/X11R6/include -I/usr/include/X11 -I../../../source/pch/simulation2 -I../../../source -g -Wall -O3 -Wno-switch -Wno-reorder -Wno-invalid-offsetof -Wextra -Wno-missing-field-initializers -Wunused-parameter -Wredundant-decls -Wnon-virtual-dtor -Wundef -fstack-protector-all -D_FORTIFY_SOURCE=2 -fstrict-aliasing -fpch-preprocess -fno-omit-frame-pointer -msse -fvisibility=hidden workaround: don't set "--without-pch" desired behavior: compiles both ways |
|||
| #1314 | fixed | Set color in forum css for text_input and input_text | ||
| Description |
The css classes text_input (used by the search box) and input_text (used when creating a new topic and probably used by login and new user) don't set the color attribute. This is a problem on systems with a dark system theme and a white (or some other light) text colour. On such systems we have a white textbox with white text and it would be nice if we could explicitly set the text colour. |
|||
| #1316 | fixed | [PATCH] Use inotify instead of FAM/Gamin on Linux | ||
| Description |
Currently we use the FAM API (usually implemented by Gamin, not the original FAM) to detect file and directory changes, so we can reload resources at run-time (useful for developers and modders). Gamin doesn't seem to be actively maintained (last release was 3.5 years ago) and is a pretty heavyweight library for our needs. It'd probably be cleaner and more future-compatible to use the Linux kernel's inotify API directly, instead of using Gamin as an unnecessary wrapper around it. We don't need to support ancient pre-inotify Linux kernel versions, or non-Linux OSes. I haven't looked into the details of inotify to see if it actually would work easily, or if there's any substantial trickiness required. Gamin has the advantage of generally working today, so it's probably not worth a huge amount of effort to change to inotify. dir_watch_fam.cpp is the current implementation of the dir_watch API. |
|||
| #1319 | fixed | "Are you sure" dialog for deleting entities should accept a return keypress to mean "yes" | ||
| Description |
The "are you sure?" dialog for deleting entities should accept a return keypress to mean "yes". It's annoying to have to reach for your mouse and point and click "Yes" when you want to quickly delete an entity. Alternatively (or additionally), as proposed by Mythos_Ruler, we could also have another press of the Delete key to accept the dialog. |
|||
| #1322 | fixed | [PATCH] FTBFS on Debian GNU/kfreebsd | ||
| Description |
On Debian GNU/kfreebsd, 0 A.D. fails to build from source while building premake (Debian buildd logs can be found at --- a/build/premake/premake4/src/host/premake.h +++ b/build/premake/premake4/src/host/premake.h @@ -15,7 +15,7 @@ #if defined(__linux__) #define PLATFORM_LINUX (1) #define PLATFORM_STRING "linux" -#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) +#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__) #define PLATFORM_BSD (1) #define PLATFORM_STRING "bsd" #elif defined(__APPLE__) && defined(__MACH__) |
|||
| #1324 | fixed | Camera should be preserved when loading a saved game | ||
| Description |
Currently your view is set to the Civil Centre when you load a saved game--I don't see any reason why not to make it an even more seamless resume by restoring your viewpoint. |
|||
| #1325 | fixed | [PATCH] Replace ecvt() in FCollada with something else | ||
| Description |
FCollada uses the deprecated POSIX function ecvt to convert floats to strings, but it's not available on FreeBSD and it would be nice to have a portable replacement. The result needs to be compatible with the COLLADA schema which uses XML's xs:double type for floats. Possible solutions:
It's a good idea to avoid |
|||
| #1326 | fixed | Implement copy/paste on OS X | ||
| Description |
Pasteboards seem the way to go, as in NSPasteboard. We only need to worry about the 10.6+ API for now. |
|||
| #1327 | fixed | Weird "GetCarryingStatus" behavior: appears to be lazily computed | ||
| Description |
Fooling around with the new AI API, I noticed the "ResourceCarrying" function does not work: it returns an empty array. Tracing this back, it appears to call "GetCarryingStatus" in ResourceGatherer.js, which happens to loop through "this.carry", which is empty. However, when I activate "Display Selection State" and click on a specific unit, this functions works for that unit. This leads me to believe "this.carry" is not always updated/active, which seems like a bug. I'm unsure if it's only a problem with the AIs or other things too. Factually, this mainly unallows the AIs to check if a unit is carrying something, to make it return the resources before doing something else. |
|||
| #1333 | fixed | [PATCH] Add map name and size to game summary screen | ||
| #1334 | fixed | [PATCH] Make allies visible on map and minimap | ||
| Description |
Each player still maintains their own LoS calculations. But when the game renders the LoS onscreen, combine Ally LoS (that is, LoS of all players on the same team) at render time to give one big LoS for same team members. Eventually LoS techs will be implemented. So keep that in mind when implementing this (make sure any LoS tech would only affect the current players LoS - it shouldn't expand the LoS of allies). |
|||
| #1338 | fixed | [PATCH] Add 'learn to play' item to in-game menu | ||
| #1343 | fixed | Add minimap screenshot to map info section (match setup screen) | ||
| Description |
Spahbod has been working on adding map previews to game setup, it should be completed for Alpha 11. |
|||
| #1345 | fixed | [PATCH] Shift-clicking control group GUI buttons should also add to selection | ||
| Description |
#1262 has already been committed, but I realized now that clicking and double clicking the GUI buttons is equivalent to pressing and double-pressing the number keys. Shift-clicking buttons should work the same as shift-pressing number keys. |
|||
| #1347 | fixed | Game does not exit properly after a game | ||
| Description |
Start 0 A.D. from a shell, start a game and then try to exit. The window close but it doesn't completely exit to the shell, you must press CTRL-C. Works OK on alpha 9. Tested on current SVN on Ubuntu 12.04. |
|||
| #1349 | fixed | [PATCH] change instances of "Citizen" class to "Worker" | ||
| Description |
Currently, the plough tech doesn't improve the gather rate for citizensoliders. Either the tooltip should be updated to reflect this, or the tech should be expanded to affect citizensoliders. The attached patch takes the later approach |
|||
| #1351 | fixed | Attack Value Bug | ||
| Description |
This bug surfaced on 4/21/2012. The game is now taking the Attack/Hack value and applying it to Attack/Pierce and Attack/Crush, even if those units aren't supposed to have Pierce and Crush values (they are '0'in the unit's template). e.g. A hero that's only supposed to have 30 Hack attack, now has 30 Hack, 30 Pierce, and 30 Crush. |
|||
| #1352 | fixed | WP Theming - Typography | ||
| Description |
Identify and install fonts. Forum discussion: http://www.wildfiregames.com/forum/index.php?showtopic=15974 |
|||
| #1353 | fixed | [PATCH] Only one woman can gather from a tree | ||
| Description |
See http://www.wildfiregames.com/forum/index.php?showtopic=15971 |
|||
| #1355 | fixed | [PATCH] Hardware cursors should be disabled before SDL shutdown | ||
| Description |
Since #748, I get this error on Linux when shutting down the game: TIMER| shutdown SDL: 3.27935 ms TIMER| shutdown UserReporter: 308.556 us TIMER| shutdown ScriptingHost: 1.77063 ms TIMER| shutdown ConfigDB: 0.207 us SDL_GetWMInfo is not implemented on this platform TIMER| resource modules: 2.98616 ms We shouldn't be using SDL_* functions after it's shut down, instead we should free and disable hardware cursors before SDL. Here's the call stack: #0 get_wminfo (wminfo=...) at ../../../source/lib/sysdep/os/unix/x/x.cpp:422
ret = 0
#1 0x0000000000c3b658 in sys_cursor_free (cursor=0x23e07e0)
at ../../../source/lib/sysdep/os/unix/x/x.cpp:504
impl = 0x23e07e0
wminfo = {version = {major = 1 '\001', minor = 2 '\002',
patch = 14 '\016'}, subsystem = SDL_SYSWM_X11, info = {x11 = {
display = 0x8bf2b8, window = 20, lock_func = 0x23cefb0,
unlock_func = 0xd34ad4, fswindow = 12841884,
wmwindow = 140737184310608, gfxdisplay = 0x1112990}}}
#2 0x0000000000be5b7d in Cursor_dtor (c=0x7fffede0a850)
at ../../../source/lib/res/graphics/cursor.cpp:187
__func__ = "Cursor_dtor"
#3 0x0000000000bddba0 in h_free_hd (hd=0x7fffede0a810)
at ../../../source/lib/res/h_mgr.cpp:561
vtbl = 0x110b240
#4 0x0000000000bde5b6 in Shutdown () at ../../../source/lib/res/h_mgr.cpp:784
hd = 0x7fffede0a810
s = {<No data fields>}
#5 0x0000000000bb88a4 in ModuleShutdown (initState=0x11129e8,
shutdown=0xbde53c <Shutdown()>) at ../../../source/lib/module_init.cpp:71
latchedInitState = 17947872
__func__ = "ModuleShutdown"
#6 0x0000000000bde696 in h_mgr_shutdown ()
at ../../../source/lib/res/h_mgr.cpp:798
No locals.
#7 0x000000000090ee1a in Shutdown ()
at ../../../source/ps/GameSetup/GameSetup.cpp:699
LINE_692_ = {m_t0 = 15.855938576,
m_description = 0xcc3fa8 L"resource modules"}
#8 0x00000000006fe6ae in RunGameOrAtlas (argc=1, argv=0x7fffffffe238)
at ../../../source/main.cpp:527
args = {
m_Args = {<std::_Vector_base<std::pair<CStr8, CStr8>, std::allocator<std::pair<CStr8, CStr8> > >> = {
_M_impl = {<std::allocator<std::pair<CStr8, CStr8> >> = {<__gnu_cxx::new_allocator<std::pair<CStr8, CStr8> >> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0,
_M_end_of_storage = 0x0}}, <No data fields>}, m_Arg0 = {
path = {static npos = <optimized out>,
_M_dataplus = {<std::allocator<wchar_t>> = {<__gnu_cxx::new_allocator<wchar_t>> = {<No data fields>}, <No data fields>},
_M_p = 0x111b7b8 L"/home/ben/0ad/binaries/system/pyrogenesis_dbg"}}, separator = 47 L'/'}}
ran_atlas = false
res = 1.0000000000000001e-09
#9 0x00000000006fe97c in main (argc=1, argv=0x7fffffffe238)
at ../../../source/main.cpp:569
No locals.
|
|||
| #1356 | fixed | Clarify tech pairs in the UI | ||
| Description |
Currently tech pairs look like this, with the pairs on top/bottom rows and the single techs on the top row: Which is confusing because you might mistake the separate rows as simple a wrapped continuation (like other parts of the UI), so here are some ideas for a different design:
Other suggestions are welcome :) |
|||
| #1358 | fixed | [PATCH] Extend technology manager for template data | ||
| Description |
The new tech system currently supports applying stat modifications to existing entities. But we often need the stats prior to creating the entity, for information/UI or e.g. using costs to calculate if we have sufficient resources to create the entity. See below for discussion. |
|||
| #1360 | fixed | [PATCH] Drop unused libboost dependencies | ||
| Description |
The attached patch remove unneded link-only dependencies on boost_system and boost_filesystem. Tested on Linux. |
|||
| #1361 | fixed | Qbot hangs ~2s into custom-made map | ||
| Description |
While developing the wall placement system, I created the attached map to do some basic testing. At some point during approximately the last two weeks (call it roughly between [11494] and [11672]), something changed that caused the game to go into what looks like an infinite JS loop about 2 seconds into the map, when using qbot as the AI. This happens only when the window has focus but regardless of the user's activity, and I haven't seen this happen on other maps, nor does it happen for other AIs like Jubot. By "hangs", I mean becomes unresponsive and takes up 100% CPU, requiring to be killed from the process monitor. I've observed this happening for revision [11683], the most recent revision at the time of writing.
Attaching WinDbg in a debug build during the hang shows that it's hanging somewhere in SpiderMonkey as a result of a call to WARNING: Stack unwind information not available. Following frames may be wrong. mozjs185_ps_debug_1_0!JS_StrictPropertyStub+0x41210 mozjs185_ps_debug_1_0!JS_StrictPropertyStub+0x84e55 mozjs185_ps_debug_1_0!JS_StrictPropertyStub+0xe488f mozjs185_ps_debug_1_0!JS_StrictPropertyStub+0xd0306 mozjs185_ps_debug_1_0!JS_StrictPropertyStub+0xd0977 mozjs185_ps_debug_1_0!JS_StrictPropertyStub+0xd1a34 mozjs185_ps_debug_1_0!JS_StrictPropertyStub+0x2f889 pyrogenesis_dbg!ScriptInterface::CallFunction_(unsigned int64 val = 0xffff0007`0ed263f0, char * name = 0x011c7564 "HandleMessage", unsigned int argc = 1, unsigned int64 * argv = 0x0030e428, unsigned int64 * ret = 0x0030e438)+0xbf pyrogenesis_dbg!ScriptInterface::CallFunctionVoid<CScriptVal>(unsigned int64 val = 0xffff0007`0ed263f0, char * name = 0x011c7564 "HandleMessage", class CScriptVal * a0 = 0x0030e46c)+0x62 pyrogenesis_dbg!CAIWorker::CAIPlayer::Run(class CScriptVal state = class CScriptVal)+0x3a pyrogenesis_dbg!CAIWorker::PerformComputation(void)+0x1cd pyrogenesis_dbg!CAIWorker::WaitToFinishComputation(void)+0x24 pyrogenesis_dbg!CAIWorker::GetCommands(class std::vector<CAIWorker::SCommandSets,std::allocator<CAIWorker::SCommandSets> > * commands = 0x0030e548)+0x20 pyrogenesis_dbg!CCmpAIManager::PushCommands(void)+0x6a pyrogenesis_dbg!CSimulation2Impl::UpdateComponents(class CSimContext * simContext = 0x0ca83990, class CFixed<int,2147483647,32,15,16,65536> turnLengthFixed = class CFixed<int,2147483647,32,15,16,65536>, class std::vector<SimulationCommand,std::allocator<SimulationCommand> > * commands = 0x0030f0ac)+0xe3 pyrogenesis_dbg!CSimulation2Impl::Update(int turnLength = 0n200, class std::vector<SimulationCommand,std::allocator<SimulationCommand> > * commands = 0x0030f0ac)+0x23a pyrogenesis_dbg!CSimulation2::Update(int turnLength = 0n200, class std::vector<SimulationCommand,std::allocator<SimulationCommand> > * commands = 0x0030f0ac)+0x20 pyrogenesis_dbg!CNetTurnManager::Update(float frameLength = 0.1439294964, unsigned int maxTurns = 1)+0x430 pyrogenesis_dbg!CGame::Update(double deltaTime = 0.14392949640750885, bool doInterpolate = true)+0xed pyrogenesis_dbg!Frame(void)+0x2b3 pyrogenesis_dbg!RunGameOrAtlas(int argc = 0n1, char ** argv = 0x02846fb0)+0x637 pyrogenesis_dbg!main(int argc = 0n1, char ** argv = 0x02846fb0)+0x15 pyrogenesis_dbg!wmain(int argc = 0n1, wchar_t ** argv = 0x02845c20)+0xfa pyrogenesis_dbg!__tmainCRTStartup(void)+0x1bf pyrogenesis_dbg!wmainCRTStartup(void)+0xf pyrogenesis_dbg!CallStartupWithinTryBlock(void)+0x54 pyrogenesis_dbg!wseh_EntryPoint(void)+0xd kernel32!BaseThreadInitThunk+0x12 ntdll!RtlInitializeExceptionChain+0x63 ntdll!RtlInitializeExceptionChain+0x36
The code at m_ScriptInterface.CallFunctionVoid(m_Obj.get(), "HandleMessage", state); Indicating that some AI computation in qbot is going into a loop.
Attaching to a release build shows similar results: also in SpiderMonkey, after a result to a script interface call with the |
|||
| #1362 | fixed | Twitter Activation | ||
| Description |
We already have a neat plugin for integrating Twitter; however, one with the credentials must make changes to allow access to the play0ad account. Forum Discussion: http://www.wildfiregames.com/forum/index.php?showtopic=15997 |
|||
| #1364 | fixed | Call to the Arms - Button | ||
| Description |
A Button in GUI that call all citizen units are working forces to fight if your press that button in GUI order to select all Soldiers or citizen soldiers to attack. All of the soldiers who are gathering will drop their resources off at the nearest dropsite, ready to defend against attackers. this are Already discussed in forum and asked for many users http://www.wildfiregames.com/forum/index.php?showtopic=15951&st=0 |
|||
| #1365 | fixed | [PATCH] Always show hero selection rings | ||
| Description |
To make heroes stand out more with the new selection rings, they should have a variation of their selection ring always shown (faded color or 50% alpha?). Because we might want this behavior for more than heroes, it seems better to make this a general property of the Selectable component rather than special casing heroes. |
|||
| #1366 | fixed | [PATCH] Unit deaths inside the Fog of War | ||
| Description |
It would be nice to be able to see your soldier(s) die in the Fog of War (FoW), instead of the current behavior where they instantly disappear when they die. |
|||
| #1367 | fixed | Ошибка HTTP 500 (Internal Server Error) | ||
| Description |
http://wildfiregames.com/0ad/login.php - on registration. Chrome v18. |
|||
| #1370 | fixed | Implement defeat music | ||
| Description |
See attached screenshot |
|||
| #1372 | fixed | Minimap issue: need to lose focus to click again | ||
| Description |
If you click somewhere in the minimap, you cannot click anywhere else, unless you move the mouse outside the minimap, and move it back in again. Steps to reproduce:
Expected result: The camera moves to each of the places clicked in the minimap without the need to move the mouse in and out |
|||
| #1373 | fixed | Unit counter does not update when units are garrisoned | ||
| Description |
When you select a bunch of units, in the middle section of the bottom panel, you get the portrait of the unit with the number of units of that type. Let's call this "Unit count" when you select a bunch of units, say 10, the "Unit count" correctly displays the number "10". If you now send those 10 units to gather in some tower (or anywhere else), 5 will enter the structure, but the "Unit count" still displays a 10, when, in fact you only have 5. The only moment when the "Unit count" gets updated, is when you have only 1 unit left without gathering. |
|||
| #1374 | fixed | [PATCH] JSON parsing error messages should be more helpful. | ||
| Description |
JSON parsing error messages should be more helpful. Would help use code monkeys debug our technologies. :) |
|||
| #1375 | fixed | Technologies should support UTF-8 characters | ||
| Description |
The specific names of a lot of techs will need support for UTF-8 characters. The GUI already supports these characters for specific unit names. |
|||
| #1377 | fixed | Error when using healers | ||
| Description |
Please note that it could very well be due to me using an autobuilt .exe, I don't have time to get everything setup to compile at the moment, but on the other hand I can't remember there being any healer related commits since the last autobuild. Either way here's the error message/s:
As far as I can tell there shouldn't be anything weird in what I'm doing, or rather not doing as the above does appear when the healers automatically move from target to target. As said before I'm using the autobuilt .exe, and revision 11725 |
|||
| #1380 | fixed | [PATCH] Water reflections bug on Mac w/ Intel HD 3000 graphics | ||
| Description |
Black border of rect move with camera. Disappear after off water reflection. HW: Macbook pro 13" 2011 year. Latest Mac OS |
|||
| #1381 | fixed | Alt+enter on Mac OS | ||
| Description |
HW: MacBook Pro 13" 2011 (hd 3000) Mac OS 10.7.3 all updates include After alt+enter critical error Process: pyrogenesis [35503]
Path: /Applications/0ad.app/Contents/MacOS/pyrogenesis
Identifier: com.wildfiregames.0ad
Version: 0.0.0 (0.0.0)
Code Type: X86-64 (Native)
Parent Process: launchd [110]
Date/Time: 2012-05-03 23:20:08.040 +0800
OS Version: Mac OS X 10.7.3 (11D50b)
Report Version: 9
Interval Since Last Report: 685415 sec
Crashes Since Last Report: 2
Per-App Interval Since Last Report: 69 sec
Per-App Crashes Since Last Report: 1
Anonymous UUID: 61127360-A7BD-48AD-A6DF-91C1B17E4BE8
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000
VM Regions Near 0:
-->
__TEXT 000000010677f000-0000000107150000 [ 9.8M] r-x/rwx SM=COW /Applications/0ad.app/Contents/MacOS/pyrogenesis
Application Specific Information:
objc[35503]: garbage collection is OFF
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 GLEngine 0x000000012b02cacc gleRunVertexSubmitImmediate + 972
1 GLEngine 0x000000012b01d2b4 gleDrawArraysOrElements_ExecCore + 1128
2 GLEngine 0x000000012afa9760 glDrawElements_Exec + 468
3 com.wildfiregames.0ad 0x00000001069433cc CPatchRData::RenderStreams(std::vector<CPatchRData*, std::allocator<CPatchRData*> > const&, boost::shared_ptr<CShaderProgram> const&, int) + 838
4 com.wildfiregames.0ad 0x000000010696ba1a TerrainRenderer::RenderPatches(bool) + 386
5 com.wildfiregames.0ad 0x0000000106954fb2 CRenderer::RenderShadowMap() + 164
6 com.wildfiregames.0ad 0x00000001069553e2 CRenderer::RenderSubmissions() + 472
7 com.wildfiregames.0ad 0x0000000106955a8f CRenderer::RenderScene(Scene&) + 131
8 com.wildfiregames.0ad 0x00000001068cff53 CGameView::Render() + 99
9 com.wildfiregames.0ad 0x000000010689c370 Render() + 704
10 com.wildfiregames.0ad 0x0000000106781c2f SDL_main + 4303
11 com.wildfiregames.0ad 0x0000000106cd95f1 -[SDLMain applicationDidFinishLaunching:] + 97
12 com.apple.Foundation 0x00007fff8412fd32 __-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_1 + 47
13 com.apple.CoreFoundation 0x00007fff8d859aaa _CFXNotificationPost + 2634
14 com.apple.Foundation 0x00007fff8411bfe7 -[NSNotificationCenter postNotificationName:object:userInfo:] + 65
15 com.apple.AppKit 0x00007fff8787260f -[NSApplication _postDidFinishNotification] + 212
16 com.apple.AppKit 0x00007fff87872375 -[NSApplication _sendFinishLaunchingNotification] + 78
17 com.apple.AppKit 0x00007fff8787103c -[NSApplication(NSAppleEventHandling) _handleAEOpenEvent:] + 242
18 com.apple.AppKit 0x00007fff87870d9d -[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:] + 330
19 com.apple.CoreFoundation 0x00007fff8d8a3591 -[NSObject performSelector:withObject:withObject:] + 65
20 com.apple.Foundation 0x00007fff841527eb __-[NSAppleEventManager setEventHandler:andSelector:forEventClass:andEventID:]_block_invoke_1 + 101
21 com.apple.Foundation 0x00007fff84151772 -[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:] + 283
22 com.apple.Foundation 0x00007fff84151600 _NSAppleEventManagerGenericHandler + 105
23 com.apple.AE 0x00007fff868dbc25 aeDispatchAppleEvent(AEDesc const*, AEDesc*, unsigned int, unsigned char*) + 200
24 com.apple.AE 0x00007fff868dbb03 _ZL25dispatchEventAndSendReplyPK6AEDescPS_ + 38
25 com.apple.AE 0x00007fff868db9f7 aeProcessAppleEvent + 250
26 com.apple.HIToolbox 0x00007fff89eb6af9 AEProcessAppleEvent + 102
27 com.apple.AppKit 0x00007fff8786e1a9 _DPSNextEvent + 1247
28 com.apple.AppKit 0x00007fff8786d861 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 135
29 com.apple.AppKit 0x00007fff8786a19d -[NSApplication run] + 470
30 com.wildfiregames.0ad 0x0000000106cd93d4 CustomApplicationMain + 548
31 com.wildfiregames.0ad 0x0000000106cd99b0 main + 272
32 com.wildfiregames.0ad 0x0000000106780834 start + 52
Thread 1:: Dispatch queue: com.apple.libdispatch-manager
0 libsystem_kernel.dylib 0x00007fff88de17e6 kevent + 10
1 libdispatch.dylib 0x00007fff8e6355be _dispatch_mgr_invoke + 923
2 libdispatch.dylib 0x00007fff8e63414e _dispatch_mgr_thread + 54
Thread 2:
0 libsystem_kernel.dylib 0x00007fff88de0bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8ba40274 _pthread_cond_wait + 840
2 com.wildfiregames.0ad 0x0000000106d5bf9b SDL_CondWaitTimeout + 235
3 com.wildfiregames.0ad 0x0000000106d5b92e SDL_SemWaitTimeout + 158
4 com.wildfiregames.0ad 0x0000000106d5b9bf SDL_SemWait + 31
5 com.wildfiregames.0ad 0x0000000106890121 CUserReporterWorker::Run() + 581
6 com.wildfiregames.0ad 0x000000010688f641 CUserReporterWorker::RunThread(void*) + 113
7 libsystem_c.dylib 0x00007fff8ba3c8bf _pthread_start + 335
8 libsystem_c.dylib 0x00007fff8ba3fb75 thread_start + 13
Thread 3:
0 libsystem_kernel.dylib 0x00007fff88de0e42 __semwait_signal + 10
1 libsystem_c.dylib 0x00007fff8b9f2dea nanosleep + 164
2 com.wildfiregames.0ad 0x0000000106d6374c SDL_Delay + 108
3 com.wildfiregames.0ad 0x0000000106d6379d RunTimer + 45
4 com.wildfiregames.0ad 0x0000000106ce839f SDL_RunThread + 127
5 com.wildfiregames.0ad 0x0000000106d5b448 RunThread + 24
6 libsystem_c.dylib 0x00007fff8ba3c8bf _pthread_start + 335
7 libsystem_c.dylib 0x00007fff8ba3fb75 thread_start + 13
Thread 4:
0 libsystem_kernel.dylib 0x00007fff88de0bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8ba40274 _pthread_cond_wait + 840
2 com.wildfiregames.0ad 0x0000000106d5bf9b SDL_CondWaitTimeout + 235
3 com.wildfiregames.0ad 0x0000000106d5b92e SDL_SemWaitTimeout + 158
4 com.wildfiregames.0ad 0x0000000106d5b9bf SDL_SemWait + 31
5 com.wildfiregames.0ad 0x000000010692500f CTextureConverter::RunThread(void*) + 715
6 libsystem_c.dylib 0x00007fff8ba3c8bf _pthread_start + 335
7 libsystem_c.dylib 0x00007fff8ba3fb75 thread_start + 13
Thread 5:: Dispatch queue: com.apple.opengl.cvmDoWork
0 libsystem_kernel.dylib 0x00007fff88ddf67a mach_msg_trap + 10
1 libsystem_kernel.dylib 0x00007fff88dded71 mach_msg + 73
2 libCoreVMClient.dylib 0x00007fff83534b2f cvmsServ_BuildModularFunction + 184
3 libCoreVMClient.dylib 0x00007fff83535bd7 CVMSBuildModularFunction + 75
4 libCVMSPluginSupport.dylib 0x00007fff8846f701 cvm_deferred_build_modular(void*) + 234
5 libdispatch.dylib 0x00007fff8e63510a _dispatch_queue_drain + 264
6 libdispatch.dylib 0x00007fff8e634f66 _dispatch_queue_invoke + 54
7 libdispatch.dylib 0x00007fff8e634760 _dispatch_worker_thread2 + 198
8 libsystem_c.dylib 0x00007fff8ba3e3da _pthread_wqthread + 316
9 libsystem_c.dylib 0x00007fff8ba3fb85 start_wqthread + 13
Thread 6:
0 libsystem_kernel.dylib 0x00007fff88de1192 __workq_kernreturn + 10
1 libsystem_c.dylib 0x00007fff8ba3e594 _pthread_wqthread + 758
2 libsystem_c.dylib 0x00007fff8ba3fb85 start_wqthread + 13
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x00000000000c2b03 rbx: 0x0000000000000600 rcx: 0x0000000000000000 rdx: 0x0000000000000000
rdi: 0x00007fae2a9edc00 rsi: 0x0000000000000000 rbp: 0x00007fff6637d560 rsp: 0x00007fff6637d400
r8: 0x0000000000000000 r9: 0x0000000000441808 r10: 0x0000000000000010 r11: 0x0000000000000202
r12: 0x0000000000000600 r13: 0x0000000000000600 r14: 0x00007fae2a9edc00 r15: 0x0000000000000000
rip: 0x000000012b02cacc rfl: 0x0000000000010213 cr2: 0x0000000000000000
Logical CPU: 0
Binary Images:
0x10677f000 - 0x10714ffe7 +com.wildfiregames.0ad (0.0.0 - 0.0.0) <8A1B1C65-F3B4-39C7-926B-7799F2FEB36B> /Applications/0ad.app/Contents/MacOS/pyrogenesis
0x107552000 - 0x10757dfff com.apple.audio.OpenAL (1.5.1 - 1.5.1) <5B954EC6-08B6-3255-932C-DDAB908E72F4> /System/Library/Frameworks/OpenAL.framework/Versions/A/OpenAL
0x10758f000 - 0x10769cfff +libX11.6.dylib (10.0.0 - compatibility 10.0.0) <EDF51216-D36C-3012-B334-F2629DF08E68> /usr/X11/lib/libX11.6.dylib
0x1076c6000 - 0x1076d7fff +libxcb.1.dylib (3.0.0 - compatibility 3.0.0) <D2A0CE9B-38FA-3ABD-8F02-2360A2475917> /usr/X11/lib/libxcb.1.dylib
0x1076e4000 - 0x1076e5ff7 libCyrillicConverter.dylib (54.0.0 - compatibility 1.0.0) <C8D0607A-A668-36EE-AF03-866BD04B5611> /System/Library/CoreServices/Encodings/libCyrillicConverter.dylib
0x1076e9000 - 0x1076eafff +libXau.6.dylib (7.0.0 - compatibility 7.0.0) <E6813580-AEC5-3CDC-BCC2-59DBFB67ADDE> /usr/X11/lib/libXau.6.dylib
0x1076ee000 - 0x1076f1ff7 +libXdmcp.6.dylib (7.0.0 - compatibility 7.0.0) <A05CB37B-7FAC-3500-AFF5-E40D5F34198C> /usr/X11/lib/libXdmcp.6.dylib
0x108d97000 - 0x108dc5ff7 GLRendererFloat (??? - ???) <0C213C61-C08C-3B5D-85A4-EB4660AF55BF> /System/Library/Frameworks/OpenGL.framework/Resources/GLRendererFloat.bundle/GLRendererFloat
0x12af7f000 - 0x12b118fff GLEngine (??? - ???) <8BA26192-A4D7-362D-8B57-5FCF4B706A25> /System/Library/Frameworks/OpenGL.framework/Resources/GLEngine.bundle/GLEngine
0x12b14c000 - 0x12b245fff libGLProgrammability.dylib (??? - ???) <B7710703-8652-36B8-83DD-4F216FAF0730> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLProgrammability.dylib
0x12b26b000 - 0x12b676ff7 com.apple.driver.AppleIntelHD3000GraphicsGLDriver (7.18.11 - 7.1.8) <B3612412-7530-3FB9-AF32-C9433755CC76> /System/Library/Extensions/AppleIntelHD3000GraphicsGLDriver.bundle/Contents/MacOS/AppleIntelHD3000GraphicsGLDriver
0x7fff6637f000 - 0x7fff663b3baf dyld (195.6 - ???) <0CD1B35B-A28F-32DA-B72E-452EAD609613> /usr/lib/dyld
0x7fff83160000 - 0x7fff83160fff com.apple.ApplicationServices (41 - 41) <89B6AD5B-5C75-3E83-8C2B-AA7F4C55E400> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
0x7fff83169000 - 0x7fff83169fff libkeymgr.dylib (23.0.0 - compatibility 1.0.0) <61EFED6A-A407-301E-B454-CD18314F0075> /usr/lib/system/libkeymgr.dylib
0x7fff8316a000 - 0x7fff832a0fff com.apple.vImage (5.1 - 5.1) <A08B7582-67BC-3EED-813A-4833645964A7> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
0x7fff8352d000 - 0x7fff8352dfff com.apple.Accelerate.vecLib (3.7 - vecLib 3.7) <C06A140F-6114-3B8B-B080-E509303145B8> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
0x7fff83534000 - 0x7fff83537fff libCoreVMClient.dylib (??? - ???) <E034C772-4263-3F48-B083-25A758DD6228> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
0x7fff8353a000 - 0x7fff83586ff7 com.apple.SystemConfiguration (1.11.2 - 1.11) <A14F3583-9CC0-397D-A50E-17217075953F> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
0x7fff83587000 - 0x7fff835f7fff com.apple.datadetectorscore (3.0 - 179.4) <B4C6417F-296C-31C1-BB94-980BFCDC9175> /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore
0x7fff83783000 - 0x7fff83823fff com.apple.LaunchServices (480.27.1 - 480.27.1) <4DC96C1E-6FDE-305E-9718-E4C5C1341F56> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
0x7fff83852000 - 0x7fff8387dff7 libxslt.1.dylib (3.24.0 - compatibility 3.0.0) <4DB5ED11-004B-36B5-AE5F-2AB714754241> /usr/lib/libxslt.1.dylib
0x7fff83fb7000 - 0x7fff83fcefff com.apple.MultitouchSupport.framework (220.62.1 - 220.62.1) <3F8C015B-88AC-370F-B39D-B4665FB7616A> /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
0x7fff84115000 - 0x7fff84118ff7 com.apple.securityhi (4.0 - 1) <7146CB8E-B754-3B0E-A74E-77E9138A81C5> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
0x7fff84119000 - 0x7fff84432ff7 com.apple.Foundation (6.7.1 - 833.24) <6D4E6F93-64EF-3D41-AE80-2BB10E2E6323> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
0x7fff84433000 - 0x7fff84442ff7 libxar-nossl.dylib (??? - ???) <A6ABBFB9-E4ED-38AD-BBBB-F9958B9CEFB5> /usr/lib/libxar-nossl.dylib
0x7fff84443000 - 0x7fff8475fff7 com.apple.CoreServices.CarbonCore (960.20 - 960.20) <C45CA09E-8867-3D67-BB2E-48D2E6B0D78C> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
0x7fff84a21000 - 0x7fff84a2bff7 liblaunch.dylib (392.35.0 - compatibility 1.0.0) <8F8BB206-CECA-33A5-A105-4A01C3ED5D23> /usr/lib/system/liblaunch.dylib
0x7fff84a2c000 - 0x7fff84a37ff7 com.apple.speech.recognition.framework (4.0.19 - 4.0.19) <48607E6E-8612-3267-9184-E948B1863B32> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
0x7fff84a38000 - 0x7fff84a39fff libDiagnosticMessagesClient.dylib (??? - ???) <3DCF577B-F126-302B-BCE2-4DB9A95B8598> /usr/lib/libDiagnosticMessagesClient.dylib
0x7fff84a3a000 - 0x7fff84a4cff7 libsasl2.2.dylib (3.15.0 - compatibility 3.0.0) <6245B497-784B-355C-98EF-2DC6B45BF05C> /usr/lib/libsasl2.2.dylib
0x7fff84a4d000 - 0x7fff84a63fff libGL.dylib (??? - ???) <6A473BF9-4D35-34C6-9F8B-86B68091A9AF> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
0x7fff84a64000 - 0x7fff84a6cfff libsystem_dnssd.dylib (??? - ???) <998E3778-7B43-301C-9053-12045AB8544D> /usr/lib/system/libsystem_dnssd.dylib
0x7fff84a6d000 - 0x7fff84a6dfff com.apple.vecLib (3.7 - vecLib 3.7) <9A58105C-B36E-35B5-812C-4ED693F2618F> /System/Library/Frameworks/vecLib.framework/Versions/A/vecLib
0x7fff84c9a000 - 0x7fff84c9cfff libquarantine.dylib (36.2.0 - compatibility 1.0.0) <48656562-FF20-3B55-9F93-407ACA7341C0> /usr/lib/system/libquarantine.dylib
0x7fff859b2000 - 0x7fff85a79ff7 com.apple.ColorSync (4.7.1 - 4.7.1) <EA74B067-9916-341A-9C68-6165A4656042> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync
0x7fff85a8e000 - 0x7fff85b9bfff libJP2.dylib (??? - ???) <F2B34A61-75F0-3BFE-A309-EE0DF4AF9E37> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
0x7fff85b9c000 - 0x7fff85bf0ff7 libFontRegistry.dylib (??? - ???) <F98926EF-FFA0-37C5-824C-02E436E21DD1> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
0x7fff85bf1000 - 0x7fff85c01ff7 com.apple.opengl (1.7.6 - 1.7.6) <C168883D-9BC5-3C38-9937-42852D719718> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
0x7fff85c08000 - 0x7fff85c1dfff com.apple.speech.synthesis.framework (4.0.74 - 4.0.74) <C061ECBB-7061-3A43-8A18-90633F943295> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
0x7fff85c6c000 - 0x7fff85c7fff7 libCRFSuite.dylib (??? - ???) <0B76941F-218E-30C8-B6DE-E15919F8DBEB> /usr/lib/libCRFSuite.dylib
0x7fff85cac000 - 0x7fff85d30ff7 com.apple.ApplicationServices.ATS (317.5.0 - ???) <C2B254F0-6ED8-3313-9CFC-9ACD519C8A9E> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
0x7fff85d3b000 - 0x7fff8601dfff com.apple.security (7.0 - 55110) <252F9E04-FF8A-3EA7-A38E-51DD0653663C> /System/Library/Frameworks/Security.framework/Versions/A/Security
0x7fff8602d000 - 0x7fff86030fff libRadiance.dylib (??? - ???) <CD89D70D-F177-3BAE-8A26-644EA7D5E28E> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
0x7fff86031000 - 0x7fff8606afe7 libssl.0.9.8.dylib (44.0.0 - compatibility 0.9.8) <79AAEC98-1258-3DA4-B1C0-4120049D390B> /usr/lib/libssl.0.9.8.dylib
0x7fff8606b000 - 0x7fff86184fff com.apple.DesktopServices (1.6.2 - 1.6.2) <6B83172E-F539-3AF8-A76D-1F9EA357B076> /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
0x7fff86185000 - 0x7fff86185fff com.apple.Carbon (153 - 153) <C1A30E01-E113-38A0-95CA-99360F92A37A> /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
0x7fff86186000 - 0x7fff86239fff com.apple.CoreText (220.11.0 - ???) <0322442E-0530-37E8-A7D6-AEFD909F0AFE> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/Versions/A/CoreText
0x7fff8686d000 - 0x7fff868d7ff7 com.apple.framework.IOKit (2.0 - ???) <EEEB42FD-E3E1-3A94-A771-B1993B694F17> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x7fff868d8000 - 0x7fff86917fff com.apple.AE (527.7 - 527.7) <B82F7ABC-AC8B-3507-B029-969DD5CA813D> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
0x7fff86918000 - 0x7fff8696cff7 com.apple.ScalableUserInterface (1.0 - 1) <33563775-C662-313D-B7FA-3D575A9F3D41> /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/ScalableUserInterface.framework/Versions/A/ScalableUserInterface
0x7fff869fd000 - 0x7fff86aa1fff com.apple.ink.framework (1.3.2 - 110) <C8840EA4-AE7B-360C-A191-D36B5F10B6B5> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
0x7fff86aa2000 - 0x7fff86aa8ff7 libunwind.dylib (30.0.0 - compatibility 1.0.0) <1E9C6C8C-CBE8-3F4B-A5B5-E03E3AB53231> /usr/lib/system/libunwind.dylib
0x7fff86aa9000 - 0x7fff86aaafff libunc.dylib (24.0.0 - compatibility 1.0.0) <337960EE-0A85-3DD0-A760-7134CF4C0AFF> /usr/lib/system/libunc.dylib
0x7fff86abb000 - 0x7fff86abffff libmathCommon.A.dylib (2026.0.0 - compatibility 1.0.0) <FF83AFF7-42B2-306E-90AF-D539C51A4542> /usr/lib/system/libmathCommon.A.dylib
0x7fff86aca000 - 0x7fff86cf2fe7 com.apple.CoreData (104.1 - 358.13) <F1DA3110-C4DF-3F0A-A057-AEE78DE8C99D> /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
0x7fff86d39000 - 0x7fff86d69ff7 com.apple.DictionaryServices (1.2.1 - 158.2) <3FC86118-7553-38F7-8916-B329D2E94476> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
0x7fff86d85000 - 0x7fff86ff8fff com.apple.CoreImage (7.93 - 1.0.1) <0B7D855E-A2B6-3C14-A242-2CF2165C6E7E> /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/CoreImage.framework/Versions/A/CoreImage
0x7fff874d3000 - 0x7fff874d3fff com.apple.Accelerate (1.7 - Accelerate 1.7) <82DDF6F5-FBC3-323D-B71D-CF7ABC5CF568> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
0x7fff8765f000 - 0x7fff876a2ff7 libRIP.A.dylib (600.0.0 - compatibility 64.0.0) <85D00F5C-43ED-33A9-80B4-72EB0EAE3E25> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libRIP.A.dylib
0x7fff876a3000 - 0x7fff876a4fff libdnsinfo.dylib (395.7.0 - compatibility 1.0.0) <37FEFE78-BCB5-37EC-8E99-747469BCA4C7> /usr/lib/system/libdnsinfo.dylib
0x7fff877e1000 - 0x7fff877e2ff7 libremovefile.dylib (21.1.0 - compatibility 1.0.0) <739E6C83-AA52-3C6C-A680-B37FE2888A04> /usr/lib/system/libremovefile.dylib
0x7fff87857000 - 0x7fff87864ff7 libbz2.1.0.dylib (1.0.5 - compatibility 1.0.0) <3373D310-3B10-3DD1-B754-B7B138CD448D> /usr/lib/libbz2.1.0.dylib
0x7fff87865000 - 0x7fff88469fff com.apple.AppKit (6.7.3 - 1138.32) <A9EB81C6-C519-3F29-89F1-42C3E8930281> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
0x7fff8846a000 - 0x7fff8846dfff com.apple.help (1.3.2 - 42) <BF14DE49-F7E8-336F-81FB-BBDF2DB3AC09> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
0x7fff8846e000 - 0x7fff88470fff libCVMSPluginSupport.dylib (??? - ???) <B2FC6EC0-1A0C-3482-A3C9-D08446E8713A> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib
0x7fff88471000 - 0x7fff88478fff com.apple.NetFS (4.0 - 4.0) <433EEE54-E383-3505-9154-45B909FD3AF0> /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
0x7fff88479000 - 0x7fff88482ff7 libsystem_notify.dylib (80.1.0 - compatibility 1.0.0) <A4D651E3-D1C6-3934-AD49-7A104FD14596> /usr/lib/system/libsystem_notify.dylib
0x7fff8849c000 - 0x7fff8849dff7 libsystem_blocks.dylib (53.0.0 - compatibility 1.0.0) <8BCA214A-8992-34B2-A8B9-B74DEACA1869> /usr/lib/system/libsystem_blocks.dylib
0x7fff88512000 - 0x7fff8858dff7 com.apple.print.framework.PrintCore (7.1 - 366.1) <3F140DEB-9F87-3672-97CC-F983752581AC> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
0x7fff885d3000 - 0x7fff885d3fff com.apple.CoreServices (53 - 53) <043C8026-8EDD-3241-B090-F589E24062EF> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
0x7fff887ab000 - 0x7fff8894afff com.apple.QuartzCore (1.7 - 270.2) <F2CCDEFB-DE43-3E32-B242-A22C82617186> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
0x7fff8898f000 - 0x7fff8899afff com.apple.CommonAuth (2.1 - 2.0) <272CB600-6DA8-3952-97C0-5DC594DCA024> /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
0x7fff889cc000 - 0x7fff88ac1fff libiconv.2.dylib (7.0.0 - compatibility 7.0.0) <5C40E880-0706-378F-B864-3C2BD922D926> /usr/lib/libiconv.2.dylib
0x7fff88ac2000 - 0x7fff88bc4ff7 libxml2.2.dylib (10.3.0 - compatibility 10.0.0) <22F1D1B6-1761-3687-9EFD-036EA15FB2E4> /usr/lib/libxml2.2.dylib
0x7fff88bcc000 - 0x7fff88bd2fff libmacho.dylib (800.0.0 - compatibility 1.0.0) <165514D7-1BFA-38EF-A151-676DCD21FB64> /usr/lib/system/libmacho.dylib
0x7fff88bf2000 - 0x7fff88c77ff7 com.apple.Heimdal (2.1 - 2.0) <3758B442-6175-32B8-8C17-D8ABDD589BF9> /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
0x7fff88dc3000 - 0x7fff88dc9fff com.apple.DiskArbitration (2.4.1 - 2.4.1) <CEA34337-63DE-302E-81AA-10D717E1F699> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
0x7fff88dca000 - 0x7fff88deafff libsystem_kernel.dylib (1699.24.8 - compatibility 1.0.0) <C56819BB-3779-3726-B610-4CF7B3ABB6F9> /usr/lib/system/libsystem_kernel.dylib
0x7fff892a8000 - 0x7fff892a9ff7 libsystem_sandbox.dylib (??? - ???) <5087ADAD-D34D-3844-9D04-AFF93CED3D92> /usr/lib/system/libsystem_sandbox.dylib
0x7fff89605000 - 0x7fff89622ff7 com.apple.openscripting (1.3.3 - ???) <4FACC89E-FDAA-3CA5-B5CD-1F4EEAEDF7CF> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
0x7fff89623000 - 0x7fff89671fff libauto.dylib (??? - ???) <D8AC8458-DDD0-3939-8B96-B6CED81613EF> /usr/lib/libauto.dylib
0x7fff89672000 - 0x7fff896adfff com.apple.LDAPFramework (3.1 - 120.2) <5633BDE9-BDCB-35CC-BC6B-B8E4CD011D51> /System/Library/Frameworks/LDAP.framework/Versions/A/LDAP
0x7fff89710000 - 0x7fff8974bfff libsystem_info.dylib (??? - ???) <35F90252-2AE1-32C5-8D34-782C614D9639> /usr/lib/system/libsystem_info.dylib
0x7fff89c12000 - 0x7fff89c12fff com.apple.audio.units.AudioUnit (1.7.2 - 1.7.2) <04C10813-CCE5-3333-8C72-E8E35E417B3B> /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
0x7fff89c13000 - 0x7fff89c29ff7 com.apple.ImageCapture (7.0 - 7.0) <F15FC6FB-9E88-3BE9-BABE-0454D3A502A0> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
0x7fff89c2a000 - 0x7fff89c38ff7 libkxld.dylib (??? - ???) <B1BD4862-9D3F-3EEF-895C-A8E2E53684B6> /usr/lib/system/libkxld.dylib
0x7fff89c39000 - 0x7fff89d92fff com.apple.audio.toolbox.AudioToolbox (1.7.2 - 1.7.2) <0AD8197C-1BA9-30CD-98F1-4CA2C6559BA8> /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
0x7fff89e58000 - 0x7fff89e58fff com.apple.Cocoa (6.6 - ???) <7EC4D759-B2A6-3A99-AC75-809FED1500C6> /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
0x7fff89e59000 - 0x7fff89e7dfff com.apple.RemoteViewServices (1.3 - 44) <21D7A0E7-6699-37AB-AE6C-BF69AF3D61C2> /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices
0x7fff89e7e000 - 0x7fff89ea5ff7 com.apple.PerformanceAnalysis (1.10 - 10) <DD87C994-66D6-330A-BAF9-AB86BE125A62> /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis
0x7fff89ea6000 - 0x7fff8a1d0ff7 com.apple.HIToolbox (1.8 - ???) <D6A0D513-4893-35B4-9FFE-865FF419F2C2> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
0x7fff8a1d1000 - 0x7fff8a273ff7 com.apple.securityfoundation (5.0 - 55107) <6C2E7362-CB11-3CBD-BB1C-348E4B10F25A> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
0x7fff8a27f000 - 0x7fff8a2acfe7 libSystem.B.dylib (159.1.0 - compatibility 1.0.0) <7BEBB139-50BB-3112-947A-F4AA168F991C> /usr/lib/libSystem.B.dylib
0x7fff8a394000 - 0x7fff8a42aff7 libvMisc.dylib (325.4.0 - compatibility 1.0.0) <642D8D54-F9F5-3FBB-A96C-EEFE94C6278B> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
0x7fff8a567000 - 0x7fff8a56cfff libGIF.dylib (??? - ???) <393E2DB5-9479-39A6-A75A-B5F20B852532> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
0x7fff8a635000 - 0x7fff8a642fff libCSync.A.dylib (600.0.0 - compatibility 64.0.0) <CBA71562-050B-3515-92B7-8BC1E2EEEF2A> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCSync.A.dylib
0x7fff8a65e000 - 0x7fff8a742e5f libobjc.A.dylib (228.0.0 - compatibility 1.0.0) <871E688B-CF57-3BC7-80D6-F6476DFF109B> /usr/lib/libobjc.A.dylib
0x7fff8a74d000 - 0x7fff8a7e7ff7 com.apple.SearchKit (1.4.0 - 1.4.0) <4E70C394-773E-3A4B-A93C-59A88ABA9509> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
0x7fff8aee4000 - 0x7fff8af67fef com.apple.Metadata (10.7.0 - 627.28) <1C14033A-69C9-3757-B24D-5583AEAC2CBA> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
0x7fff8b1df000 - 0x7fff8b1e4fff libcompiler_rt.dylib (6.0.0 - compatibility 1.0.0) <98ECD5F6-E85C-32A5-98CD-8911230CB66A> /usr/lib/system/libcompiler_rt.dylib
0x7fff8b1e5000 - 0x7fff8b23dfff libTIFF.dylib (??? - ???) <DD797FBE-9B63-3785-A9EA-0321D113538B> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
0x7fff8b23e000 - 0x7fff8b243fff libpam.2.dylib (3.0.0 - compatibility 3.0.0) <D952F17B-200A-3A23-B9B2-7C1F7AC19189> /usr/lib/libpam.2.dylib
0x7fff8b2a1000 - 0x7fff8b37ffff com.apple.ImageIO.framework (3.1.1 - 3.1.1) <DB530A63-8ECF-3B53-AC9A-1692A5397E2F> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO
0x7fff8b388000 - 0x7fff8b39aff7 libz.1.dylib (1.2.5 - compatibility 1.0.0) <30CBEF15-4978-3DED-8629-7109880A19D4> /usr/lib/libz.1.dylib
0x7fff8b487000 - 0x7fff8b4a3ff7 com.apple.GenerationalStorage (1.0 - 126.1) <509F52ED-E54B-3FEF-B3C2-759387B826E6> /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage
0x7fff8b4a4000 - 0x7fff8b4afff7 libc++abi.dylib (14.0.0 - compatibility 1.0.0) <8FF3D766-D678-36F6-84AC-423C878E6D14> /usr/lib/libc++abi.dylib
0x7fff8b524000 - 0x7fff8b53bfff com.apple.CFOpenDirectory (10.7 - 146) <E71AE4A2-F72B-35F2-9043-9F45CF75F11A> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
0x7fff8b743000 - 0x7fff8b747fff libCGXType.A.dylib (600.0.0 - compatibility 64.0.0) <37517279-C92E-3217-B49A-838198B48787> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGXType.A.dylib
0x7fff8b748000 - 0x7fff8b74aff7 com.apple.print.framework.Print (7.1 - 247.1) <8A4925A5-BAA3-373C-9B5D-03E0270C6B12> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
0x7fff8b74b000 - 0x7fff8b78aff7 libGLImage.dylib (??? - ???) <348729DC-BC44-3744-B249-9DFA6498344A> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
0x7fff8b78b000 - 0x7fff8b792ff7 com.apple.CommerceCore (1.0 - 17) <3894FE48-EDCE-30E9-9796-E2F959D92704> /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Frameworks/CommerceCore.framework/Versions/A/CommerceCore
0x7fff8b793000 - 0x7fff8b875fff com.apple.CoreServices.OSServices (478.37 - 478.37) <1DAC695E-0D0F-3AE2-974F-A173E69E67CC> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
0x7fff8b876000 - 0x7fff8b87dfff libcopyfile.dylib (85.1.0 - compatibility 1.0.0) <0AB51EE2-E914-358C-AC19-47BC024BDAE7> /usr/lib/system/libcopyfile.dylib
0x7fff8b935000 - 0x7fff8b95bff7 com.apple.framework.familycontrols (3.0 - 300) <DC06CF3A-2F10-3867-9498-CADAE30D0CE4> /System/Library/PrivateFrameworks/FamilyControls.framework/Versions/A/FamilyControls
0x7fff8b9ee000 - 0x7fff8bacbfef libsystem_c.dylib (763.12.0 - compatibility 1.0.0) <FF69F06E-0904-3C08-A5EF-536FAFFFDC22> /usr/lib/system/libsystem_c.dylib
0x7fff8bacc000 - 0x7fff8bae0ff7 com.apple.LangAnalysis (1.7.0 - 1.7.0) <04C31EF0-912A-3004-A08F-CEC27030E0B2> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
0x7fff8bae1000 - 0x7fff8bf0efff libLAPACK.dylib (??? - ???) <4F2E1055-2207-340B-BB45-E4F16171EE0D> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
0x7fff8bf91000 - 0x7fff8bfb0fff libresolv.9.dylib (46.1.0 - compatibility 1.0.0) <0635C52D-DD53-3721-A488-4C6E95607A74> /usr/lib/libresolv.9.dylib
0x7fff8bfb1000 - 0x7fff8bfb6ff7 libsystem_network.dylib (??? - ???) <5DE7024E-1D2D-34A2-80F4-08326331A75B> /usr/lib/system/libsystem_network.dylib
0x7fff8bfb7000 - 0x7fff8bffdff7 libcurl.4.dylib (7.0.0 - compatibility 7.0.0) <01DD0773-236C-3AC3-B43B-07911F458767> /usr/lib/libcurl.4.dylib
0x7fff8bffe000 - 0x7fff8c038fe7 com.apple.DebugSymbols (2.1 - 87) <149201BE-A8A4-3E40-AD65-E5194B59162E> /System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols
0x7fff8c039000 - 0x7fff8c062fff libJPEG.dylib (??? - ???) <64D079F9-256A-323B-A837-84628B172F21> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
0x7fff8c063000 - 0x7fff8c0c9ff7 com.apple.coreui (1.2.1 - 165.3) <378C9221-ADE6-36D9-9944-F33AE6904E4F> /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
0x7fff8c0ca000 - 0x7fff8c0eafff libPng.dylib (??? - ???) <F4D84592-C450-3076-88E9-8E6517C7EF33> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
0x7fff8c0eb000 - 0x7fff8c12bff7 libcups.2.dylib (2.9.0 - compatibility 2.0.0) <29DE948E-38C4-3CC5-B528-40C691380607> /usr/lib/libcups.2.dylib
0x7fff8c12c000 - 0x7fff8c157ff7 com.apple.CoreServicesInternal (113.12 - 113.12) <C37DAC1A-35D2-30EC-9112-5EEECED5C461> /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal
0x7fff8c158000 - 0x7fff8c15efff IOSurface (??? - ???) <03F95CAC-569C-3573-B3D7-2D211B8BDC56> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
0x7fff8c15f000 - 0x7fff8c183fff com.apple.Kerberos (1.0 - 1) <1F826BCE-DA8F-381D-9C4C-A36AA0EA1CB9> /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
0x7fff8c187000 - 0x7fff8c28cfff libFontParser.dylib (??? - ???) <0920DA16-2066-33E6-BF95-AD4B0F3C22B0> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib
0x7fff8c28d000 - 0x7fff8c2e8ff7 com.apple.HIServices (1.11 - ???) <DE8FA7FA-0A41-35D9-8473-5104F81DA934> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
0x7fff8c2e9000 - 0x7fff8c349fff libvDSP.dylib (325.4.0 - compatibility 1.0.0) <3A7521E6-5510-3FA7-AB65-79693A7A5839> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
0x7fff8c34a000 - 0x7fff8c39cff7 libGLU.dylib (??? - ???) <3C9153A0-8499-3DC0-AAA4-9FA6E488BE13> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
0x7fff8c39d000 - 0x7fff8c504ff7 com.apple.CFNetwork (520.3.2 - 520.3.2) <516B611D-E53E-3467-9211-3C5B86ABA865> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
0x7fff8c52f000 - 0x7fff8c571ff7 libcommonCrypto.dylib (55010.0.0 - compatibility 1.0.0) <BB770C22-8C57-365A-8716-4A3C36AE7BFB> /usr/lib/system/libcommonCrypto.dylib
0x7fff8c572000 - 0x7fff8c573fff liblangid.dylib (??? - ???) <CACBE3C3-2F7B-3EED-B50E-EDB73F473B77> /usr/lib/liblangid.dylib
0x7fff8c574000 - 0x7fff8c582fff com.apple.NetAuth (3.1 - 3.1) <FE7EC4D7-5632-3B8D-9094-A0AC8D60EDEE> /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
0x7fff8c6c6000 - 0x7fff8c8c8fff libicucore.A.dylib (46.1.0 - compatibility 1.0.0) <38CD6ED3-C8E4-3CCD-89AC-9C3198803101> /usr/lib/libicucore.A.dylib
0x7fff8c8c9000 - 0x7fff8c8f6ff7 com.apple.opencl (1.50.69 - 1.50.69) <687265AF-E9B6-3537-89D7-7C12EB38193D> /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
0x7fff8d103000 - 0x7fff8d176fff libstdc++.6.dylib (52.0.0 - compatibility 7.0.0) <6BDD43E4-A4B1-379E-9ED5-8C713653DFF2> /usr/lib/libstdc++.6.dylib
0x7fff8d177000 - 0x7fff8d27efe7 libsqlite3.dylib (9.6.0 - compatibility 9.0.0) <EE02BB01-64C9-304D-9719-A35F5CD6D04C> /usr/lib/libsqlite3.dylib
0x7fff8d378000 - 0x7fff8d3a0ff7 com.apple.CoreVideo (1.7 - 70.1) <98F917B2-FB53-3EA3-B548-7E97B38309A7> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
0x7fff8d7cb000 - 0x7fff8d7feff7 com.apple.GSS (2.1 - 2.0) <57AD81CE-6320-38C9-9B66-0E5A4DEA898A> /System/Library/Frameworks/GSS.framework/Versions/A/GSS
0x7fff8d80d000 - 0x7fff8d9e1fff com.apple.CoreFoundation (6.7.1 - 635.19) <57B77925-9065-38C9-A05B-02F4F9ED007C> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x7fff8dc23000 - 0x7fff8e0eafff FaceCoreLight (1.4.7 - compatibility 1.0.0) <E9D2A69C-6E81-358C-A162-510969F91490> /System/Library/PrivateFrameworks/FaceCoreLight.framework/Versions/A/FaceCoreLight
0x7fff8e0eb000 - 0x7fff8e1f7fff libcrypto.0.9.8.dylib (44.0.0 - compatibility 0.9.8) <3A8E1F89-5E26-3C8B-B538-81F5D61DBF8A> /usr/lib/libcrypto.0.9.8.dylib
0x7fff8e1f8000 - 0x7fff8e239fff com.apple.QD (3.40 - ???) <47674D2C-BE88-388E-B1B0-03F08BFFE5FD> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
0x7fff8e253000 - 0x7fff8e255fff com.apple.TrustEvaluationAgent (2.0 - 1) <1F31CAFF-C1C6-33D3-94E9-11B721761DDF> /System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent
0x7fff8e274000 - 0x7fff8e286ff7 libbsm.0.dylib (??? - ???) <349BB16F-75FA-363F-8D98-7A9C3FA90A0D> /usr/lib/libbsm.0.dylib
0x7fff8e287000 - 0x7fff8e28cfff libcache.dylib (47.0.0 - compatibility 1.0.0) <1571C3AB-BCB2-38CD-B3B2-C5FC3F927C6A> /usr/lib/system/libcache.dylib
0x7fff8e28d000 - 0x7fff8e291ff7 com.apple.CommonPanels (1.2.5 - 94) <37C6540B-F8D1-355A-806C-F93D8FB522AB> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
0x7fff8e632000 - 0x7fff8e640fff libdispatch.dylib (187.7.0 - compatibility 1.0.0) <712AAEAC-AD90-37F7-B71F-293FF8AE8723> /usr/lib/system/libdispatch.dylib
0x7fff8e641000 - 0x7fff8e645fff libdyld.dylib (195.5.0 - compatibility 1.0.0) <380C3F44-0CA7-3514-8080-46D1C9DF4FCD> /usr/lib/system/libdyld.dylib
0x7fff8e96a000 - 0x7fff8e987fff libxpc.dylib (77.18.0 - compatibility 1.0.0) <26C05F31-E809-3B47-AF42-1460971E3AC3> /usr/lib/system/libxpc.dylib
0x7fff8e988000 - 0x7fff8e9fdff7 libc++.1.dylib (19.0.0 - compatibility 1.0.0) <C0EFFF1B-0FEB-3F99-BE54-506B35B555A9> /usr/lib/libc++.1.dylib
0x7fff8ea67000 - 0x7fff8f3f77a7 com.apple.CoreGraphics (1.600.0 - ???) <177D9BAD-72C9-3ADF-A391-5B88C5EE623F> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
0x7fff8f3f8000 - 0x7fff8f45aff7 com.apple.Symbolication (1.3 - 91) <B072970E-9EC1-3495-A1FA-D344C6E74A13> /System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication
0x7fff8f67a000 - 0x7fff8f6e2ff7 com.apple.audio.CoreAudio (4.0.2 - 4.0.2) <DFD8F4DE-3B45-3A2E-9CBE-FD8D5DD30923> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
0x7fff8f6e3000 - 0x7fff8f6e9fff libGFXShared.dylib (??? - ???) <B95E9B22-AE68-3E48-8733-00CCCA08D50E> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
0x7fff8f845000 - 0x7fff8f84afff com.apple.OpenDirectory (10.7 - 146) <A674AB55-6E3D-39AE-9F9B-9865D0193020> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
0x7fff8f850000 - 0x7fff8f8c6fff com.apple.CoreSymbolication (2.2 - 73.2) <126415E3-3A35-315B-B4B7-507CDBED0D58> /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication
0x7fff8f8c7000 - 0x7fff8feabfff libBLAS.dylib (??? - ???) <C34F6D88-187F-33DC-8A68-C0C9D1FA36DF> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
External Modification Summary:
Calls made by other processes targeting this process:
task_for_pid: 3
thread_create: 0
thread_set_state: 0
Calls made by this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by all processes on this machine:
task_for_pid: 57447
thread_create: 1
thread_set_state: 0
VM Region Summary:
ReadOnly portion of Libraries: Total=165.5M resident=107.9M(65%) swapped_out_or_unallocated=57.6M(35%)
Writable regions: Total=219.7M written=104.2M(47%) resident=142.1M(65%) swapped_out=0K(0%) unallocated=77.6M(35%)
REGION TYPE VIRTUAL
=========== =======
CG backing stores 7356K
CG image 12K
CG raster data 64K
CG shared images 3448K
CoreGraphics 16K
CoreServices 1828K
IOKit 9.9M
JS JIT generated code 4128K
JS JIT generated code (reserved) 192K reserved VM address space (unallocated)
MALLOC 120.9M
MALLOC guard page 32K
Memory tag=240 4K
Memory tag=242 12K
Memory tag=251 8K
OpenGL GLSL 1372K
OpenGL GLSL (reserved) 128K reserved VM address space (unallocated)
STACK GUARD 56.0M
Stack 11.0M
VM_ALLOCATE 564.5M
__CI_BITMAP 80K
__DATA 12.5M
__IMAGE 528K
__LINKEDIT 53.4M
__TEXT 112.1M
__UNICODE 544K
mapped file 39.6M
shared memory 2764K
=========== =======
TOTAL 1.0G
TOTAL, minus reserved VM space 1.0G
Model: MacBookPro8,1, BootROM MBP81.0047.B27, 2 processors, Intel Core i5, 2.4 GHz, 4 GB, SMC 1.68f98
Graphics: Intel HD Graphics 3000, Intel HD Graphics 3000, Built-In, 384 MB
Memory Module: BANK 0/DIMM0, 2 GB, DDR3, 1333 MHz, 0x80CE, 0x4D34373142353737334448302D4348392020
Memory Module: BANK 1/DIMM0, 2 GB, DDR3, 1333 MHz, 0x80CE, 0x4D34373142353737334448302D4348392020
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0xD6), Broadcom BCM43xx 1.0 (5.100.98.75.19)
Bluetooth: Version 4.0.3f12, 2 service, 18 devices, 1 incoming serial ports
Network Service: Wi-Fi, AirPort, en1
Serial ATA Device: ST9500325ASG, 500,11 GB
Serial ATA Device: MATSHITADVD-R UJ-8A8
USB Device: hub_device, 0x0424 (SMSC), 0x2513, 0xfd100000 / 2
USB Device: IR Receiver, apple_vendor_id, 0x8242, 0xfd110000 / 3
USB Device: FaceTime HD Camera (Built-in), apple_vendor_id, 0x8509, 0xfa200000 / 3
USB Device: hub_device, 0x0424 (SMSC), 0x2513, 0xfa100000 / 2
USB Device: BRCM2070 Hub, 0x0a5c (Broadcom Corp.), 0x4500, 0xfa110000 / 5
USB Device: Bluetooth USB Host Controller, apple_vendor_id, 0x821a, 0xfa113000 / 7
USB Device: Apple Internal Keyboard / Trackpad, apple_vendor_id, 0x0253, 0xfa120000 / 4
|
|||
| #1382 | fixed | ERROR: CRenderer::EndFrame: GL errors occurred | ||
| Description |
After building and selecting a mill I get this error: ERROR: CRenderer::EndFrame: GL errors occurred and its techs are corrupted like in this image: |
|||
| #1384 | fixed | Out of sync error | ||
| Description |
Get this OOS error with r11758, on the default map, 2 human players (no AIs), after tasking one of player 1's units to move. Logs are attached, a diff tool shows the only difference to be some extra data in the host's tech manager },
"Attack/Melee/Hack": {
"1170": 6,
"1461": 15
},
"Attack/Melee/Pierce": {
"1170": 0,
"1461": 0
},
"Attack/Melee/Crush": {
"1170": 0,
"1461": 0
},
"Armour/Hack": {
"1170": 1,
"1461": 9
},
"Armour/Pierce": {
"1170": 1,
"1461": 8
},
"Armour/Crush": {
"1170": 5,
"1461": 9
},
"ResourceGatherer/BaseSpeed": {
"1170": 1,
"1461": 1
},
"ResourceGatherer/Rates/food.fish": {
"1170": 0.5
},
"ResourceGatherer/Rates/food.fruit": {
"1170": 2
},
"ResourceGatherer/Rates/food.grain": {
"1170": 0.4
},
"ResourceGatherer/Rates/food.meat": {
"1170": 1
},
"ResourceGatherer/Rates/metal.ore": {
"1170": 0.5
},
"ResourceGatherer/Rates/stone.rock": {
"1170": 0.5
},
"ResourceGatherer/Rates/stone.ruins": {
"1170": 5
},
"ResourceGatherer/Rates/treasure": {
"1170": 1,
"1461": 1
},
"ResourceGatherer/Rates/wood.ruins": {
"1170": 5
},
"ResourceGatherer/Rates/wood.tree": {
"1170": 0.5
I suspect |
|||
| #1385 | fixed | Implement wall gates | ||
| Description |
The current wall system as implemented in #786/r11760 does not yet have a way to add gates to an existing wall. It should be possible to select a single long wall segment and click a UI button to transform it into a gate, at a certain cost.
From an implementation point of view, this is likely to require support for multiple obstruction shapes per entity. Specifically, for the gates to operate properly, we'll need a way for a part of the obstruction box corresponding to the physical gate part in the model to be an independent shape, on which we can toggle the |
|||
| #1387 | fixed | [PATCH] Limit gatherers per resource | ||
| Description |
Currently you can order a ridiculous number of units to gather from a single resource. We need to enforce some sensible limits, whether it be farms, trees, or mines. It should be added as a new element to the |
|||
| #1388 | fixed | Bug on Hyrcanian Shores random map | ||
| Description |
Fish are placed on land, as originally reported here. Just look around player 1's base. I don't know if there's meant to be water or the fish should be something else? |
|||
| #1391 | fixed | [PATCH] Move ship to shoreline when tasking units to garrison inside | ||
| Description |
When you garrison units inside a ship, the ship should make it's way toward the nearest coastline between it and the units trying to garrison into it. Currently, the units move to the shoreline, but the ship remains in the middle of the ocean, unreachable. |
|||
| #1392 | fixed | [PATCH] [ATLAS] Display template name for selected units | ||
| Description |
In Atlas, there does not currently appear to be any indication a selected unit's template name. This is useful for people who can't tell on sight what kind of unit they have selected. I figure a sensible place to display it would be in the bottom panel of the Object tab, somewhere next to the Player dropdown perhaps, but suggestions are welcome. |
|||
| #1394 | fixed | Instant serialization test failure | ||
| Description |
Must enable |
|||
| #1395 | fixed | Idle worker selection broken | ||
| Description |
Or perhaps it's rather the "marking villagers as idle" part that's broken. Either way, I do have units standing idle (the case where I noticed it was with female citizens having gathered all the food from a farm) but not either moving to a similar resource (there was another farm nearby, I think it would be within the radius, but I could be wrong) or be "marked as idle". After I had ordered the unit to move a short distance and it had stopped moving it was possible to select it via the idle worker function. |
|||
| #1398 | fixed | Atlas doesn't set the civs properly by default | ||
| Description |
To reproduce:
-> The player settings will now be reset (which is bad on it's own)
-> All players civs will be undefined (and fall back to Athenians ATM) though the GUI says something else This is not an rmgen issue but an Atlas issue so I don't know how to fix that. |
|||
| #1400 | fixed | Random map fortress raises an error when Thebans selected | ||
| Description |
When trying to generate a random map with a players civilization set to Thebans an error occurs due to the missing wall style "theb". Added it (just a deepcopy of Hellenes because I couldn't find templates for Thebans) and adjusted some documentation. |
|||
| #1401 | fixed | Generate a network syncronised random seed for AI's | ||
| Description |
AI's can currently use the Math.random() function but the seed is always the same. This should be set randomly at the start of a match. Currently AI's try to use the game's state to generate some entropy in the random numbers which is not ideal. |
|||
| #1402 | fixed | ERROR: JavaScript error: simulation/ai/qbot/worker.js line 71 | ||
| Description |
While playing "Third Macedonian War" on current r11849 I get a lot of these: ERROR: JavaScript error: simulation/ai/qbot/worker.js line 71
TypeError: ent.resourceSupplyType() is undefined
([object Object])@simulation/ai/qbot/worker.js:71
([object Object])@simulation/ai/qbot/worker.js:53
([object Object])@simulation/ai/qbot/worker.js:33
([object Object],"829",[object Object])@simulation/ai/qbot/economy.js:495
((function (ent) {"use strict";if (!ent.getMetadata("worker-object")) {ent.setMetadata("worker-object", new Worker(ent));}ent.getMetadata("worker-object").update(gameState);}))@simulation/ai/common-api-v2/entitycollection.js:104
([object Object],[object Object],[object Array])@simulation/ai/qbot/economy.js:491
()@simulation/ai/qbot/qbot.js:103
([object Object])@simulation/ai/common-api-v2/base.js:122
@:0
ERROR: JavaScript error: simulation/ai/qbot/worker.js line 71
TypeError: ent.resourceSupplyType() is undefined
([object Object])@simulation/ai/qbot/worker.js:71
([object Object])@simulation/ai/qbot/worker.js:62
([object Object])@simulation/ai/qbot/worker.js:33
([object Object],"829",[object Object])@simulation/ai/qbot/economy.js:495
((function (ent) {"use strict";if (!ent.getMetadata("worker-object")) {ent.setMetadata("worker-object", new Worker(ent));}ent.getMetadata("worker-object").update(gameState);}))@simulation/ai/common-api-v2/entitycollection.js:104
([object Object],[object Object],[object Array])@simulation/ai/qbot/economy.js:491
()@simulation/ai/qbot/qbot.js:103
([object Object])@simulation/ai/common-api-v2/base.js:122
@:0
ERROR: JavaScript error: simulation/ai/qbot/worker.js line 71
TypeError: ent.resourceSupplyType() is undefined
([object Object])@simulation/ai/qbot/worker.js:71
([object Object])@simulation/ai/qbot/worker.js:62
([object Object])@simulation/ai/qbot/worker.js:33
([object Object],"829",[object Object])@simulation/ai/qbot/economy.js:495
((function (ent) {"use strict";if (!ent.getMetadata("worker-object")) {ent.setMetadata("worker-object", new Worker(ent));}ent.getMetadata("worker-object").update(gameState);}))@simulation/ai/common-api-v2/entitycollection.js:104
([object Object],[object Object],[object Array])@simulation/ai/qbot/economy.js:491
()@simulation/ai/qbot/qbot.js:103
([object Object])@simulation/ai/common-api-v2/base.js:122
@:0
ERROR: JavaScript error: simulation/ai/qbot/worker.js line 71
TypeError: ent.resourceSupplyType() is undefined
([object Object])@simulation/ai/qbot/worker.js:71
([object Object])@simulation/ai/qbot/worker.js:62
([object Object])@simulation/ai/qbot/worker.js:33
([object Object],"829",[object Object])@simulation/ai/qbot/economy.js:495
((function (ent) {"use strict";if (!ent.getMetadata("worker-object")) {ent.setMetadata("worker-object", new Worker(ent));}ent.getMetadata("worker-object").update(gameState);}))@simulation/ai/common-api-v2/entitycollection.js:104
([object Object],[object Object],[object Array])@simulation/ai/qbot/economy.js:491
()@simulation/ai/qbot/qbot.js:103
([object Object])@simulation/ai/common-api-v2/base.js:122
@:0
ERROR: JavaScript error: simulation/ai/qbot/worker.js line 71
TypeError: ent.resourceSupplyType() is undefined
([object Object])@simulation/ai/qbot/worker.js:71
([object Object])@simulation/ai/qbot/worker.js:62
([object Object])@simulation/ai/qbot/worker.js:33
([object Object],"829",[object Object])@simulation/ai/qbot/economy.js:495
((function (ent) {"use strict";if (!ent.getMetadata("worker-object")) {ent.setMetadata("worker-object", new Worker(ent));}ent.getMetadata("worker-object").update(gameState);}))@simulation/ai/common-api-v2/entitycollection.js:104
([object Object],[object Object],[object Array])@simulation/ai/qbot/economy.js:491
()@simulation/ai/qbot/qbot.js:103
([object Object])@simulation/ai/common-api-v2/base.js:122
@:0
|
|||
| #1403 | fixed | WARNING: No food found! (1) | ||
| Description |
While playing "Third Macedonian War" on current r11849 I see lot of: WARNING: No food found! (1) If possible they should be fixed. If not, there should be at least a limit of them because they flood the console. |
|||
| #1405 | fixed | OOS Errors on Random map with 2 humans and a qBot | ||
| Description |
I played a random map with me, a sibling, and a qBot (nothing fancy). Both at the same revision, both custom compiled to make sure the source was exact. OOS error within a second of the game starting. Happened on two different random maps. See attached oos_dump.txt from my computer (will be a while till I can get the OOS from the other computer). |
|||
| #1406 | fixed | Units walk over foundations waiting to be constructed | ||
| Description |
Friendly units should try to avoid walking over foundations. Otherwise they block the building from being built. Savegame is attached, which is a good test case with a steady stream of trade units. |
|||
| #1407 | fixed | IBP Theming - Global Navigation | ||
| Description |
The three item global nav that will be available across WP, IBP and Trac. Needs to be implemented. Forum discussion: http://www.wildfiregames.com/forum/index.php?showtopic=16043 |
|||
| #1408 | fixed | Remove trees from player bases on ALL random maps | ||
| Description |
We need to check every random map script and make sure clumps of trees or other resources are not placed too near the base. Reasons: it restricts building area for both players and AIs, and it obstructs the player's view of the game. A few scattered trees would be OK, but even those should be far enough away to be able to see the base and freely move units. The scenarios are for the most part good examples of how a player's base area should look. |
|||
| #1410 | fixed | Improve technology manager event passing | ||
| Description |
The current tech manager uses a mix of one-time events and polling. We mostly use polling, which is adequate for some but not all planned techs (see TechnologyManager.ApplyModifications). There is some overhead involved in the polling: an entity component needs to find its owner ID, find the associated player entity, then query the tech manager. So an event might be better for frequently accessed data.
The main problem is components that need complex behavior in response to techs. Instead, the tech manager should be modified to send a message not only when a tech is first researched but also when ownership of an entity changes. This will simplify the logic in other components as they will only handle a single message to update their cached state (rather than both polling and handling messages). Some non-trivial redesign of the manager and its caching may be required to achieve this. |
|||
| #1411 | fixed | [PATCH] Allow actors that are only visible in Atlas | ||
| Description |
Some entities should only be visible in Atlas for the aid of map designers, in game they should be invisible. For example, territory pull and block entities, or some types of ambient emitters (proposed in #1962). Probably this could be done with a flag in the visual actor component, which would check the flag and Not sure if they should be hidden in the Atlas simulation test, but for simplicity all Atlas cases could be treated the same. |
|||
| #1417 | fixed | [PATCH] Random maps should have random civilization by default | ||
| Description |
To make it truly random :) |
|||
| #1421 | fixed | Patch premake to not generate rpath | ||
| Description |
I am working on a 0ad package for Fedora, and to follow Fedora policies, rpath is not acceptable. The patch I made can be be used in this case, but I believe it should be done by library, and require extra features in premake. |
|||
| #1422 | fixed | [PATCH] Auto-gather all type of nearby treasures | ||
| Description |
When a unit receive the order to gather a treasure, after getting it, it will automatically only collects near treasures of the same type (food, stone or metal). It would be nice if it will also automatically collect all type of near treasures. This was discussed here: http://www.wildfiregames.com/forum/index.php?showtopic=16000 |
|||
| #1424 | fixed | [PATCH] Remove hardcoded paths for better Linux Packaging support | ||
| Description |
Currently, the script that calls pyrogenesis (build/resources/0ad.sh) hardcodes the path to the pyrogenesis binary (/usr/bin/pyrogenesis), which means that Linux distros which install game binaries to /usr/games (i.e. Debian & Ubuntu) end up having to patch the file. Instead of hardcoding the path, I propose the following patch, which looks for the first instance of pyrogenesis in the user's PATH and runs that. The patch below also modifies build/resources/0ad.desktop to use a relative path for the Exec= field rather than a hardcoded path. --- a/build/resources/0ad.sh +++ b/build/resources/0ad.sh @@ -1,3 +1,9 @@ #!/bin/sh -/usr/bin/pyrogenesis "$@" +path_to_pyrogenesis=$(which pyrogenesis) +if [ -x "$path_to_pyrogenesis" ] ; then + "$path_to_pyrogenesis" "$@" +else + echo "Error: pyrogenesis cannot be found in $PATH" + exit 1 +fi --- a/build/resources/0ad.desktop +++ b/build/resources/0ad.desktop @@ -3,7 +3,7 @@ Name=0 A.D. Comment=A real-time strategy game of ancient warfare Comment[it]=Videogioco strategico in tempo reale di guerre antiche -Exec=/usr/bin/0ad +Exec=0ad Icon=0ad Terminal=false Type=Application |
|||
| #1425 | fixed | [PATCH] Battle Detection | ||
| Description |
Need a way for the simulation to detect "battles", for UI, sound, and music system notifications, possibly for stats. A battle obviously shouldn't occur every time a unit is attacked, that's merely a skirmish, but rather when the attack is "significant". Maybe we can have different types of notification for skirmishes after periods of peace vs. a battle. |
|||
| #1427 | fixed | [PATCH] Clarification of usage of s3tc | ||
| Description |
I made a 0ad package and requested it to be reviewed, for packing in Fedora, but would like to have some information about possible legal issues with s3tc. For safety, I made a patch to disable nvtt and use the existing --without-nvtt option, so that it will not require the implementation in nvidia-texture-tools. The information I would like to have is o Once built without nvtt, it will only have the implementation in the
o The textures in 0ad-data are already compressed? From my understanding,
Thanks for any information, and many thanks for the great open source project! |
|||
| #1429 | fixed | [PATCH] Additional texture maps (specular, normal, AO) | ||
| Description |
|
|||
| #1431 | fixed | [PATCH] Technologies in process of research should show up along the side of the screen | ||
| Description |
The icons of technologies currently being researched, along with green progress overlay, could show up along the side of the screen for visual quick-reference. Mouseover/hover can show a tooltip with the pertinent information. Queued items are not to be included--only those items in progress. Possible enhancements include:
|
|||
| #1432 | fixed | [PATCH] Limit heroes to one living per player | ||
| Description |
Heroes are too easily exploited now and because they are so important to our plans, they should be limited this way. Perhaps we could generalize Would fit nicely with the visual feedback of #921. The AI needs to know about the limits, too, qBot gets carried away with heroes :) |
|||
| #1433 | fixed | Forum post reputation counter works incorrectly | ||
| Description |
Sometimes after voting for a post, its reputation counter gets reset back to 0. Person who voted is unable to vote for such post again. |
|||
| #1438 | fixed | [PATCH] Sort out Windows log path pre-Vista | ||
| Description |
With Alpha 10, the Windows data paths for the game have changed, see #1145. Logs are placed in "local application data" but Windows Vista changed the layout of application data to be more explicitly divided between roaming and local. There's a new environment variable since Vista,
It's tempting to simply use e.g. "
So there's two problems. We need a consistent way of telling Windows users how to find and access the game's logs. And we need to automate this so we don't have to mention messy details like We need one place we can refer people for finding logs and crash dumps in Windows. (Of course really idealistically we would have an automated error reporter tool #192/#193 and nobody would care where they were stored, but this is a short term fix) |
|||
| #1439 | fixed | [PATCH] Livestock should not influence unit kill and death statistics. | ||
| Description |
Currently, killing player-owned (non-Gaia) livestock increments both the kill and death counters, displayed in the post-game view. This applies whether a player kills his own livestock, an ally does, or an enemy does. This means that a player hunting his own livestock will accumulate both kills and deaths. As livestock only exist as a food source and take up no population, I regard them as a resource on legs and not a proper unit. The attached patch checks the two classes "Domestic" and "Animal", the former of which is only held by the Sheep and the latter of which is a redundant sanity-check. |
|||
| #1444 | fixed | sound of gyne is vulgar | ||
| Description |
Sound when player select gyne is vulgar and it can be unpleasant for some gamers. Also it can make some questions from surrounding people. |
|||
| #1447 | fixed | Clarify building requirements for City Phase upgrade | ||
| Description |
in civic centre is not exact discription for third stage upgrade. now: "Requires 4 town structures of any type. Walls and Civ Centres do not count." here must be refinement, that uphrade requires 4 town structures, that become avalible after first upgrade. |
|||
| #1449 | fixed | [PATCH] In RMS: Fix iber civ bonus wall. Fix celt split civs errors. Add roads. | ||
| Description |
The walls generated by the walls random map library are not properly aligned. When towers have lower terrain walls "graphically penetrate" towers: |
|||
| #1452 | fixed | Is possible for units to fight through the wall | ||
| Description |
release: alpha 10
|
|||
| #1453 | fixed | Website Content Creation - Download Page | ||
| Description |
Set up and style a page dedicated to downloading the game as described in the page specifications. |
|||
| #1454 | fixed | Rally point with hunting action | ||
| Description |
In the current revisions, when you put a rally point on a domestic animal (e.g. pig, chicken, etc.), even if the cursor change to an hunting action, the new unit doesn't hunt. It would be a great improvement if :
|
|||
| #1460 | fixed | Apply a snapshot of our custom theme to the content-dev instance | ||
| Description |
In order to foster content development, we should apply the current version of our theme to that instance to help authors get a look-and-feel for their content. |
|||
| #1461 | fixed | Apply currently used plugins to the content-dev instance | ||
| Description |
In order to help foster content creation, our current plugins should be applied to the content-dev region to help give authors a look-and-feel of content in our new site. |
|||
| #1462 | fixed | [PATCH] Technologies should support folders | ||
| Description |
I'd like technologies to support folders so that they can be divided by culture. I already have an example in the simulation/technologies/hellenes folder. Example in the templates: <ProductionQueue>
<Technologies datatype="tokens">
hellenes/special_iphicratean_reforms
</Technologies>
</ProductionQueue>
|
|||
| #1463 | fixed | Add support for OpenBSD | ||
| Description |
Make these libraries compile on OpenBSD and fix all remaining issues.
|
|||
| #1469 | fixed | Replace info icon in civilization info dialog | ||
| Description |
Screenshot: |
|||
| #1473 | fixed | Formation bug when separate units ordered to move to point between them | ||
| Description |
Two units, separated by distance, both selected and tasked to meet in the middle, do not actually move to the selected point. They move a bit and then stop. All can be seen on the video http://youtu.be/GfFFNdKFoPA |
|||
| #1476 | fixed | Formation tasked to repair/build stops after unit is killed | ||
| Description |
Task a group of units to build something, kill one of them, and they all stop instead of continuing. Likely related to r11876. |
|||
| #1477 | fixed | Show selection overlay for actors in Atlas | ||
| Description |
We lost this when #824 was fixed. Actors don't have a
Possible solutions: add a default |
|||
| #1478 | fixed | [PATCH] Broken animation causing infinite loop in archive builder | ||
| Description |
Got this report from ricotz in IRC. When the archive builder hits Here's a call stack after interrupting the program: http://paste.debian.net/plain/172273 binaries/data/mods/public/art/animation/quadraped/shark_walk.dae
Program received signal SIGABRT, Aborted.
0x00007ffff44f7445 in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64 ../nptl/sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht gefunden.
(gdb) bt
#0 0x00007ffff44f7445 in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007ffff44fabab in __GI_abort () at abort.c:91
#2 0x00007ffff4defc6d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x00007ffff4dedd76 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007ffff4dedda3 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007ffff4dedfce in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007ffff4dee4ad in operator new(unsigned long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7 0x00007fffe6568a89 in allocate (__n=<optimized out>, this=<optimized out>) at /usr/include/c++/4.7/ext/new_allocator.h:94
#8 _M_allocate (__n=<optimized out>, this=<optimized out>) at /usr/include/c++/4.7/bits/stl_vector.h:169
#9 std::vector<BoneTransform, std::allocator<BoneTransform> >::_M_insert_aux (this=this@entry=0x7fffffffc250, __position=..., __x=...) at /usr/include/c++/4.7/bits/vector.tcc:343
#10 0x00007fffe656942f in insert (__x=..., __position=..., this=0x7fffffffc250) at /usr/include/c++/4.7/bits/vector.tcc:128
#11 operator= (__value=..., this=<synthetic pointer>) at /usr/include/c++/4.7/bits/stl_iterator.h:634
#12 __copy_m<BoneTransform*, std::insert_iterator<std::vector<BoneTransform> > > (__result=..., __last=0xbb473c, __first=0xbb44d4) at /usr/include/c++/4.7/bits/stl_algobase.h:329
#13 __copy_move_a<false, BoneTransform*, std::insert_iterator<std::vector<BoneTransform> > > (__result=..., __last=0xbb473c, __first=0xbb4480) at /usr/include/c++/4.7/bits/stl_algobase.h:384
#14 __copy_move_a2<false, __gnu_cxx::__normal_iterator<BoneTransform*, std::vector<BoneTransform> >, std::insert_iterator<std::vector<BoneTransform> > > (__result=..., __last=..., __first=...)
at /usr/include/c++/4.7/bits/stl_algobase.h:422
#15 copy<__gnu_cxx::__normal_iterator<BoneTransform*, std::vector<BoneTransform> >, std::insert_iterator<std::vector<BoneTransform> > > (__result=..., __last=..., __first=...)
at /usr/include/c++/4.7/bits/stl_algobase.h:454
#16 PSAConvert::ColladaToPSA (input=<optimized out>, output=..., xmlErrors=...) at ../../../source/collada/PSAConvert.cpp:133
#17 0x00007fffe6569ee0 in convert_dae_to_whatever (
dae=0xb83cb8 "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<COLLADA xmlns=\"http://www.collada.org/2005/11/COLLADASchema\" version=\"1.4.1\">\n <asset>\n <contributor>\n <author>Blender User</author>\n <authoring_t"..., writer=0x5c9140 <(anonymous namespace)::ColladaOutput(void*, char const*, unsigned int)>, cb_data=0x7fffffffd5c0,
conv=0x7fffe65684a0 <ColladaToPSA(char const*, OutputCB&, std::string&)>) at ../../../source/collada/DLL.cpp:116
#18 0x00000000005cadbd in Convert (type=<optimized out>, pmdFilename=..., daeFilename=..., this=0xb16460) at ../../../source/graphics/ColladaManager.cpp:154
#19 CColladaManager::GenerateCachedFile (this=<optimized out>, sourcePath=..., type=CColladaManager::PSA, archiveCachePath=...) at ../../../source/graphics/ColladaManager.cpp:316
#20 0x000000000056f0f4 in CArchiveBuilder::Build (this=0x7fffffffdb00, archive=..., compress=<optimized out>) at ../../../source/ps/ArchiveBuilder.cpp:137
#21 0x0000000000423f6c in RunGameOrAtlas (argc=argc@entry=3, argv=argv@entry=0x7fffffffdeb8) at ../../../source/main.cpp:515
#22 0x000000000041a327 in main (argc=3, argv=0x7fffffffdeb8) at ../../../source/main.cpp:572
|
|||
| #1487 | fixed | [PATCH] Prevent land fauna from attacking ships | ||
| Description |
When ship attack lion, lion reply and attack ship, but he gets "into" the ship, to the core for attack, It causes of graphic issue. Lion just get absorbed by ship. And the second, I wish you could highlight cursos.And made spears a lil bit bigger, cuz sometimes hard to see it when grass on a background |
|||
| #1489 | fixed | [PATCH] Add UI command/hotkey to override enemy gather with attack | ||
| Description |
When I clicked on field of enemy, my soldiers start harvesting, I think they were supposed to attack it =) I guess u need to change it |
|||
| #1490 | fixed | TechnologyManager produces errors in Atlas under obscure conditions | ||
| Description |
To reproduce:
This produces the following: WARNING: JavaScript warning: simulation/components/TechnologyManager.js line 201 reference to undefined property "structures/celt_civil_centre" WARNING: JavaScript warning: simulation/components/TechnologyManager.js line 215 reference to undefined property "Structure" WARNING: JavaScript warning: simulation/components/TechnologyManager.js line 219 reference to undefined property this.typeCountsByClass[classes[i]] ERROR: JavaScript error: simulation/components/TechnologyManager.js line 219 TypeError: this.typeCountsByClass[classes[i]] is undefined ([object Object])@simulation/components/TechnologyManager.js:219 ERROR: Script message handler OnGlobalOwnershipChanged failed |
|||
| #1493 | fixed | [PATCH] Data-driven texture loading | ||
| Description |
At the moment, actor files only permit a <texture> tag, which allows the loading of a single diffuse texture per actor. I propose a new system that allows multiple texture <samplers> to be loaded dynamically from the Actor files, thus deprecating the existing <texture> tag. Under this system, the fixed renderpath looks for a hardcoded sampler named "baseTex", which represents the diffuse texture that <texture> used to provide. There are no other changes to the way the fixed renderpath works. The real usefulness of this addition, however, becomes apparent in shader mode. An arbitrary number of samplers can be loaded and bound to identifier names, which are automatically exposed in the shader program associated with the Actor's material. This sets up a framework that is better suited for visual effects that require data from samplers, such as normal and specular mapping. This proposal allows samplers to be loaded in the Actor xml files as follows: <samplers>
<sampler name="baseTex" path="base.png"/>
<sampler name="normTex" path="norm.png"/>
</samplers>
The "baseTex" is seen by the fixed renderer as if it is a <texture> tag. In the shaders, these will be bound to: uniform sampler2D baseTex;
uniform sampler2D normTex;
Note that <texture> is deprecated but not removed. Under the hood, it redirects to the generalised <sampler> code. |
|||
| #1495 | fixed | Crash on Linux setting a sequence of rally points | ||
| Description |
halcyonXIII encountered a crash when setting a sequence of rally points for a structure, using svn rev. 11951. Steps to reproduce:
Occasionally, the crash produces this log: Function call failed: return value was -120000 (Handle index completely out of bounds) Location: h_mgr.cpp:197 (h_data_from_idx) Call stack: (0x7f4caa) ./pyrogenesis() [0x7f4caa] (0x79fc11) ./pyrogenesis() [0x79fc11] (0x7a08ee) ./pyrogenesis() [0x7a08ee] (0x7a00e9) ./pyrogenesis() [0x7a00e9] (0x7c33f3) ./pyrogenesis() [0x7c33f3] (0x7cad95) ./pyrogenesis() [0x7cad95] (0x5e81e4) ./pyrogenesis() [0x5e81e4] (0x675537) ./pyrogenesis() [0x675537] (0x65aade) ./pyrogenesis() [0x65aade] (0x65ad39) ./pyrogenesis() [0x65ad39] (0x65b62c) ./pyrogenesis() [0x65b62c] (0x6510c4) ./pyrogenesis() [0x6510c4] (0x65191f) ./pyrogenesis() [0x65191f] (0x587fa1) ./pyrogenesis() [0x587fa1] (0x41d9b3) ./pyrogenesis() [0x41d9b3] (0x4135d7) ./pyrogenesis() [0x4135d7] errno = 0 (No error reported here) OS error = ? The crash is confirmed to be reproducible on Linux (tested on flavors of Ubuntu), but not on Windows. |
|||
| #1496 | fixed | [PATCH] Ranged attack bugs when targeting garrisoning, formation, or dead units | ||
| Description |
There's a few bugs related to #18 / r11886, reproducible as follows:
The first and third cases need a solution where the target calculation is independent of whether the target entity still exists in-world (perhaps with a temporary entity created for that purpose as Philip originally suggested?) Otherwise we potentially ignore friendly fire and splash damage. The second case should never happen, it's not possible for a player to target a formation but only a single entity in a formation. So something is going wrong with the target selection. |
|||
| #1497 | fixed | [PATCH] Support for multiple UV sets per model | ||
| Description |
Collada files can support more than one UV coordinate set, however 0ad's .PMD version 3 files are unable to store them so they are currently ignored. 0ad's models use overlapping UVs to make optimal use of UV space on their base textures. While this is beneficial, it makes it impossible to implement more advanced texturing techniques, such as lightmaps (e.g., AO maps), decal maps and so on. The attached patch upgrades the engine to .PMD version 4, which introduces support for multiple UV sets. |
|||
| #1498 | fixed | [PATCH] Fire particles for roman temple | ||
| Description |
The firepits in front of the roman temple were used as an example how future fire effects could look. New emitters, particle types and particle grapics were used. Attached are the changed files in original directory hierarchy. NOTE: Full changes are only visible on the roman temple atm. |
|||
| #1499 | fixed | Shared LOS causing error in actor viewer | ||
| Description |
Assertion failure introduced by [11949]: Assertion failed: "it != m_SharedLosMasks.end()" Location: CCmpRangeManager.cpp:1032 (CCmpRangeManager::GetSharedLosMask) The problem is actor viewer has a separate simulation with no map or player settings, so the shared LOS data doesn't get initialized.
Actor viewer does a full map reveal, so a potential fix is to replace |
|||
| #1500 | fixed | WP Maintenance - Update to 3.4.1 | ||
| Description |
Update all instances to 3.4. Forum discussion. |
|||
| #1503 | fixed | [PATCH] messages.js: handleNetMessage() obj.caption overwritten | ||
| Description |
There are missing break statements in messages.js: handleNetMessage() causing obj.caption to be overwritten. |
|||
| #1504 | fixed | [PATCH] Multiplayer lobby | ||
| Description |
Hello, the multiplayer lobby is back, more than 6 months late. Sorry about that. The patch attached adds an in-game multiplayer lobby and a tool (XpartaMuPP) to manage created games. It uses the XMPP protocol. After applying the patch, you will find a README in source/tools/XpartaMuPP/ which explains how to install and configure the XMPP server (ejabberd) and XpartaMuPP. To build the game you will need to install the gloox library (cpp XMPP library). svn co svn://svn.camaya.net/gloox/branches/1.0 gloox-1.0 ./configure make make install Let me know if you have any issue building / running the game with this patch, it will help me to improve the documentation. The patch is not ready to be committed yet, I'm just asking for a review, and at the same time if anyone is willing to help me to improve the UI (there are great artists among you!), it would be much appreciated. Thanks. |
|||
| #1505 | fixed | Premake build broken on OS X | ||
| Description |
Related to r11970 which integrated some changes from Premake 4.4-beta4. A clean build now gives the following error: Undefined symbols for architecture x86_64:
"_Gestalt", referenced from:
_os_getversion in os_getversion.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [../../bin/release/premake4] Error 1
make: *** [Premake4] Error 2
It needs to link the Though we need to check to make sure we don't introduce subtle bugs when fixing this, since we bundle a highly modified Premake ;) |
|||
| #1508 | fixed | [PATCH] Font loader incorrectly assumes 32bpp | ||
| Description |
Last night I optipng'd a few font PNGs that I'd rendered for Brian. This lead to severe memory issues and apparently segfaults. 0 A.D. assumes that "rgba" fonts will be RGBA, although as they actually only contain grayscale plus alpha, any PNG optimization program will set the colour type to grayscale+alpha rather than RGBA. Auto-detection for colour types is present, it just doesn't work properly on the 8bpp fonts because 8bpp is typically interpreted as grayscale, not alpha. However, all the other format assumptions that choose_fmt() makes are unambiguous: 16bpp is grayscale+alpha, 24bpp is RGB, 32bpp is RGBA. My patch is quite trivial and I've confirmed it works for grayscale+alpha, RGB, and RGBA images. |
|||
| #1509 | fixed | delete, garrison, build keys no longer working | ||
| Description |
in current git the buttons for delete, garrison and build are no longer working |
|||
| #1510 | fixed | WP Theming - Developers' Area Artwork | ||
| Description |
Something similar to, if not the same, shown in the mockup. Must be 230px wide. |
|||
| #1511 | fixed | Workers will start building field foundations when the building they worked on is built | ||
| Description |
Builders, when they become idle, will switch to any nearby foundation and start building it. While this is the intended behavior, it has the unfortunate side-effect of also working with farms: a builder may see an unbuilt farm and go build it... Turning him into a farmer when the farm is finished. I find it inconvenient: one usually wants to return the builders to their original task/something else and one may "lose" units from sight. I suggest changing the UnitAI behavior to only work with all nearby non-field foundations. |
|||
| #1513 | fixed | [PATCH] Bug on Deep Forest random map | ||
| Description |
See http://www.wildfiregames.com/forum/index.php?showtopic=16201 for original report. The problem is Deep Forest is placing chickens (possibly other things?) inside the player's starting CC, which indirectly cripples AI but it doesn't help the player either :) |
|||
| #1516 | fixed | [PATCH] premake adds random flags | ||
| Description |
x86_64-pc-linux-gnu-g++ -march=native -O2 -pipe -Wall -ggdb -march=native -O2 -pipe -Wall -ggdb -MMD -MP -DNDEBUG -DCONFIG_FINAL=1 -DCONFIG2_FAM=0 -DLIB_STATIC_LINK -DINSTALLED_BINDIR=/usr/games/bin -DINSTALLED_DATADIR=/usr/share/games/0ad -DINSTALLED_LIBDIR=/usr/games/lib64/0ad -DWITH_SYSTEM_MOZJS185 -I/usr/X11R6/include/X11 -I/usr/X11R6/include -I/usr/include/X11 -I../../../source/pch/gui -I../../../source -g -Wall -O3 -Wno-switch -Wno-reorder -Wno-invalid-offsetof -Wextra -Wno-missing-field-initializers -Wunused-parameter -Wredundant-decls -Wnon-virtual-dtor -Wundef -fstack-protector-all -D_FORTIFY_SOURCE=2 -fstrict-aliasing -fpch-preprocess -fno-omit-frame-pointer -msse -fvisibility=hidden As you can see the build system adds random flags and overwrites some system flags including optimization, hiding warnings and such. |
|||
| #1519 | fixed | Warning in actor viewer when previewing attack animations | ||
| Description |
Another symptom of actor viewer lacking player assignments (see #1499). Attack animations use the WARNING: GetPlayerByID: no player defined for id '0'
(0)@simulation/components/PlayerManager.js:28
QueryOwnerInterface(5,28)@simulation/helpers/Player.js:168
("Melee")@simulation/components/Attack.js:298 @(eval):1
Everything works because |
|||
| #1520 | fixed | Add technology support to AIs | ||
| Description |
AIs currently ignore the existence of technologies. The following are changes needed at minimum to fully support techs:
|
|||
| #1522 | fixed | [PATCH] RMS Deep Forest crashes with out of memory | ||
| Description |
When generated on large or larger maps with only a few players the random map script fails with out of memory. Here's a patch that fixes that by reducing the maximum tree density depending on map size and number of players. |
|||
| #1523 | fixed | [PATCH] Persian archers regress to normal bows in attack animation | ||
| Description |
I noticed that the Persion infantry archers and the hero Xerxes normally sport the bow_recurve as their weapon. In the attack/melee animation a normal bow(_short) is shown, probably because the files have been copied from another civ which uses those bows. This patch fixes the minor cosmetic issue by adjusting the props in the actor files. I have included a patch file, although it easily fixed by hand as well. Units affected: units/pers_hero_xerxes units/pers_infantry_archer_a units/pers_infantry_archer_b units/pers_infantry_archer_e |
|||
| #1524 | fixed | [PATCH] GUI's right panel types can clash | ||
| Description |
While the display of construction and training icons in the GUI seems to be mutually exclusive, trading icons can be shown over top of other icons, e.g. if your first selected entity is a trader and your selection also includes a builder. The patch also fixes a few related usability issues: Technologies are now listed provided there's only one row of icons, and the first selected unit's right panel is never clobbered by subsequent units. An example of the latter occurs when selecting one of the few units that produces other units, followed by a builder (resulting in the trainable units disappearing). |
|||
| #1525 | fixed | [PATCH] Player-owned animals are deletable (kill button). This is incorrect behavior. | ||
| Description |
Player-owned animals (sheep, goats, anything) are deletable (kill button). This is incorrect behavior. The player's units should have to kill them first. |
|||
| #1527 | fixed | [PATCH] Boost 1.50 support: removed filesystem v2 | ||
| Description |
In Boost 1.50 filesystem v2 was entirely removed. It is fairly safe to change to boost filesystem v3 as this has been included since forever. For the record, the initial error you run into while making is this: /usr/include/boost/filesystem/config.hpp:16:5: error: #error Compiling Filesystem version 3 file with BOOST_FILESYSTEM_VERSION defined != 3 I think this should definitely be fixed before the next release because enabling people to build with the newest version of boost is important. |
|||
| #1529 | fixed | Walls can be constructed on top of existing walls | ||
| Description |
Steps to recreate:
*Build a wall segment long enough for a gate
*It is impossible to build other structures inside the gate. |
|||
| #1530 | fixed | [PATCH] Load dialogue uses UTC instead of local time. | ||
| Description |
Mozilla's documentation indicates that the regular date-related functions will always use local time. Aside from very minor edge cases (displayed times shifting by an hour in DST locales, when DST starts or stops) I think this is a no-brainer usability improvement. |
|||
| #1533 | fixed | [PATCH] Now that gates work replace open entries with gates as the default for RMGEN wall placement | ||
| Description |
In many cases entries was used (just a gap in the wall) since gates did not work. Now that gates are passable I removed the entries with gates in wall_builder.js for random map generation. |
|||
| #1535 | fixed | Jubot error | ||
| Description |
Jubot AI incorrectly works. Screenshot attached |
|||
| #1537 | fixed | [PATCH] Melee attack on a running target | ||
| Description |
Any attack on a running target in melee does not pass - the animation goes, but the damage is not applied. As a result, the rider can not kill him by running footman There are other cases the patch wants to solve too, here's a list of related cases it could/should solve:
|
|||
| #1539 | fixed | Show wall gate upgrade cost in tooltip | ||
| #1540 | fixed | [PATCH] Disable "scenario editor" menu item when atlas is disabled | ||
| Description |
Else clicking on it givers this error: ERROR: DllLoader: dlopen(libAtlasUI.so) failed: libAtlasUI.so: cannot open shared object file: No such file or directory; dlopen(libAtlasUI_dbg.so) failed: libAtlasUI_dbg.so: cannot open shared object file: No such file or directory; Eventually it can "greyed out" with a tooltip saying "Scenario editor was disabled in this build", or something. |
|||
| #1542 | fixed | Roma Bireme | ||
| Description |
Right now we are using the Greek pentekontoros, which is not a good thing. |
|||
| #1543 | fixed | Roman Quinquereme | ||
| Description |
|
|||
| #1544 | fixed | [PATCH] Selection order is not preserved when renaming entities | ||
| Description |
As the GUI's selection state depends on SpiderMonkey's ordering of keys in objects (insertion order), detecting renamed entities, removing the old and adding the new will shift entities from their old position to the end of the selection. The only way to preserve the order is by rebuilding the selection and groups as necessary, which is luckily quite simple. |
|||
| #1551 | fixed | [PATCH] Fix gate closing range for enemy units | ||
| Description |
Current behavior is that gates open once a player unit is within See #619 for related comments. |
|||
| #1552 | fixed | [PATCH] Improve handling of mixed gate and long wall selections | ||
| Description |
Patch removes the mutual exclusivity between gate locking icons and gate conversion icons. If a selection contains both gates and convertible walls, both types of icons will be shown. The sort order is dependent on the primary selection. E.g. if the primary selected entity is a gate and the second selected entity is a long wall, the icons will be [Lock] [Unlock] [Convert to Gate]. If the selection were the other way around, it would be [Convert to Gate] [Lock] [Unlock]. I've also opted to highlight both the Lock and Unlock buttons if there are selected gates with both of those states. Clicking one of the buttons will set all selected gates to that state. |
|||
| #1554 | fixed | [PATCH] Actor Editor broken on OS X | ||
| Description |
It opens behind other windows and there's no menu bar. Reproduced on 10.7.3 with wxOSX 2.9. Atlas works fine on the same system. There is also an error when it closes "can't open user configuration file". |
|||
| #1555 | fixed | [PATCH] Cheats | ||
| Description |
http://www.wildfiregames.com/forum/index.php?showtopic=13439&hl=cheat&st=40 We should determine which cheats we really like to include. This patch adds 4 resource cheats and a reveal map one. |
|||
| #1557 | fixed | FCollada assertion fails on elephant_african_forest.dae | ||
| Description |
Must use a debug build to reproduce this, at least on Windows.
If you view line 25090 of the DAE: <Name_array id="Elephant_North_African_Forest-Pivot- skin-joints-array" count="57">tail_1_joint tail_2_joint tail_3_joint Elephant body_1 body_2 butt leg_right trunk_2 shin_right shin_right foot_right leg_left shin_left shin_left foot_left trunk_3 trunk_4 shoulder_left arm_left forearm_left hand_left shoulder_right arm_right forearm_right hand_right neck head ear_left ear_right trunk_1 trunk_8 trunk_9 trunk_10 trunk_11 head_trunk_joint arm_right_joint_back arm_right_joint_front arm_left_joint_front arm_left_joint_back leg_left_joint leg_right_joint belly Bone_002 Bone_001 tail_4 trunk_1_joint trunk_2_joint trunk_3_joint trunk_4_joint trunk_5_joint trunk_6_joint trunk_7_joint trunk_8_joint trunk_9_joint trunk_10_joint pelvis </Name_array> you'll see "shin_left" and "shin_right" repeat. I don't know if this is a harmless Blender exporter error (duplicating the ids) or a problem in the model/rigging itself. In release builds, the error is silent and the conversion process continues (with not well-defined behavior). |
|||
| #1558 | fixed | [PATCH] Drop-down lists are not reinitialized properly. | ||
| Description |
As the HandleMessage functions all return void, there's no way to easily determine whether a dropdown's child list has been modified after handling a message. For a demonstration of the issue at present, go to set up a match, change the map selection filter to "Old Maps" - notice the dropdown is still large despite there being zero maps. Now, change back to 'Default' and notice it's only showing one map. More or less, the buggy behaviour results in the dropdown rectangle's size lagging until it has been assigned to twice. Having the list track when it's updated its items allows the dropdown to detect the modification and reinitialize the list size properly. |
|||
| #1561 | fixed | [PATCH] Clicking on empty space always clears selection | ||
| Description |
Proper behaviour is to only do that when neither the add nor remove hotkeys are pressed, such that the selection never gets reset when a player misclicks while trying to add or remove a single unit from the selection. |
|||
| #1562 | fixed | [PATCH] Water interferes with actor viewer rendering | ||
| Description |
The problem is various rendering code uses global variables to determine the simulation's water level (for e.g. culling) and that breaks in actor viewer. It's noticeable as a black space obstructing the view, when the camera moves above the map's water level. The patch fixes this by passing the correct simulation to the renderer before each frame. As a bonus, I added a water toggle button to actor viewer, so ships can be viewed on a water plane and possibly for nice screenshots. |
|||
| #1563 | fixed | [PATCH] FCollada MSVC build broken | ||
| Description |
Some of the changes related to r12072 broke the FCollada build in MSVC, specifically those in 1>------ Build started: Project: FCollada, Configuration: Release DLL Win32 ------ 1> FUStringConversion.cpp 1>FUtils\FUStringConversion.cpp(249): error C2785: 'uint32 FUStringConversion::ToUInt32(const CH **)' and 'unsigned int FUStringConversion::ToUInt32(const char **)' have different return types 1> c:\users\ben\devel\ps\libraries\fcollada\src\fcollada\futils\FUStringConversion.h(97) : see declaration of 'FUStringConversion::ToUInt32' 1> FUtils\FUStringConversion.cpp(249) : see declaration of 'FUStringConversion::ToUInt32' 1>FUtils\FUStringConversion.cpp(249): error C3190: 'unsigned int FUStringConversion::ToUInt32(const char **)' with the provided template arguments is not the explicit instantiation of any member function of 'FUStringConversion' 1>FUtils\FUStringConversion.cpp(249): error C2945: explicit instantiation does not refer to a template-class specialization 1>FUtils\FUStringConversion.cpp(250): error C3190: 'unsigned int FUStringConversion::HexToUInt32(const char **,unsigned int)' with the provided template arguments is not the explicit instantiation of any member function of 'FUStringConversion' 1>FUtils\FUStringConversion.cpp(250): error C2945: explicit instantiation does not refer to a template-class specialization 1>FUtils\FUStringConversion.cpp(255): error C3190: 'void FUStringConversion::ToInt32List(const char *,fm::vector<T,PRIMITIVE> &)' with the provided template arguments is not the explicit instantiation of any member function of 'FUStringConversion' 1> with 1> [ 1> T=int, 1> PRIMITIVE=true 1> ] 1>FUtils\FUStringConversion.cpp(255): error C2945: explicit instantiation does not refer to a template-class specialization 1>FUtils\FUStringConversion.cpp(257): error C3190: 'void FUStringConversion::ToInterleavedUInt32List(const char *,fm::pvector<T> &)' with the provided template arguments is not the explicit instantiation of any member function of 'FUStringConversion' 1> with 1> [ 1> T=fm::vector<unsigned int,true> 1> ] 1>FUtils\FUStringConversion.cpp(257): error C2945: explicit instantiation does not refer to a template-class specialization 1>FUtils\FUStringConversion.cpp(260): error C3190: 'void FUStringConversion::ToUInt32List(const char *,fm::vector<T,PRIMITIVE> &)' with the provided template arguments is not the explicit instantiation of any member function of 'FUStringConversion' 1> with 1> [ 1> T=unsigned int, 1> PRIMITIVE=true 1> ] 1>FUtils\FUStringConversion.cpp(260): error C2945: explicit instantiation does not refer to a template-class specialization 1>FUtils\FUStringConversion.cpp(268): error C3190: 'void FUStringConversion::ToString(FUStringBuilderT<Char> &,const unsigned int *,size_t)' with the provided template arguments is not the explicit instantiation of any member function of 'FUStringConversion' 1> with 1> [ 1> Char=fchar 1> ] 1>FUtils\FUStringConversion.cpp(268): error C2945: explicit instantiation does not refer to a template-class specialization |
|||
| #1564 | fixed | ERROR when destroying gate | ||
| Description |
When destroying a gate this error appears: ERROR: Could not load mesh 'art/meshes/structural/hele_gate_props.dae' ERROR: CObjectEntry::BuildVariation(): Model art/meshes/structural/hele_gate_props.dae failed to load ERROR: Failed to build prop model "props/structures/hellenes/gate_props.xml" on actor "wall_gate" |
|||
| #1568 | fixed | update bundled enet to 1.3.10 | ||
| Description |
Bundled enet is 1.3.3, while upstream has 1.3.10. Even better it could be removed from the bundled lib and force users to use the system enet (at least on unix) since distribution already provide it and keep updated. |
|||
| #1569 | fixed | Art Assets | ||
| Description |
The art that needs to be updated or created for Nova.
|
|||
| #1571 | fixed | [PATCH] Redden construction/training/research icons when not enough resources | ||
| Description |
Per this topic, I've updated the patch created by HowlingFlute to work with technologies and support shift-multiplier. |
|||
| #1572 | fixed | [PATCH] Water effects enhancements. | ||
| Description |
(creating a ticket since it seems more convenient and Kieran recommended it on another matter). So I've been working on updating the water shader effects. This features: -A new setting: "superfancy", in-game "advanced effects" I believe, which activates : coastal foam, waves, more realistic water depth and thus water rendering. -For fancy and superfancy water, a nicer and more customizable system for choosing the color of the water, based on both the tint and the color of the water. -The normal map that simulates waves has been enhanced: it's smoother on superfancy as it interpolates more between each frame(thanks to myconid), its effect scales with the waviness (which thus becomes much more visible a factor). It's already pretty much up-and-running, and should be reasonably fast. The basic mode has practically not been modified, the "fancy" has been slightly but should be about as fast, while the "superfancy" is a bit slower, but not by too much on my computer. Waves are still sort of a WIP at the moment. This patch would fix #932, myconid added shadows on water. This patch sort of references #1501 (ship sinking effects could fairly easily be added, I believe). This patch may reference #1380. I don't believe it fixes it but it may change a few things (haven't checked myself). (I'm still having a few troubles with this "patch" thing, so if it doesn't work, do report). |
|||
| #1573 | fixed | Migrate posts from IP to WP | ||
| Description |
We don't want to lose all of our front-page content when we move to WP. The task is to migrate the posts from the front page of the current website to the content-dev theme. |
|||
| #1574 | fixed | [PATCH] Show shallows (walkable water) on minimap. | ||
| Description |
I couldn't find any post discussing why this wasn't in the game yet, so I assume it's because no-one put it in. The attached patch reads the value from "pathfinder.xml" for maximum depth of passable water (assuming "default"), stores it and uses it to display shallow water in a lighter color, to clearly show where units can traverse and where they can't. It's neat on map such as the RM "Rivers". |
|||
| #1575 | fixed | Crash detecting graphics card on Windows 7 netbook | ||
| Description |
The game crashes after launch it, then after close the error message, appears that pyrogenesis has stopped working. 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 0x00000003) Location: unknown:0 (?) Call stack: (error while dumping stack: No stack frames found) errno = 0 (No error reported here) OS error = 487 (Se ha intentado tener acceso a una dirección no válida.) |
|||
| #1576 | fixed | [PATCH] Adjusting length for new cart/celt/brit/gaul gate models in wall_builder.js | ||
| Description |
The models of the cart/celt/brit/gaul gate has been redone and now fit the length of a long wall segment. That has to be added in the wall_builder.js by removing the exceptions for them (they where shorter before). Note: Since my Windows is down and my Linux doesn't support 3D acceleration I can't test it (I tested it before though, so it should work). It can be tested e.g. by generating the wall_demo.js random map and test if the gates in the lower section of the map for cart/celt/brit/gaul overlap. |
|||
| #1577 | fixed | two Chicken spawning inside Civic Centre on Alpine Lake. AI instability as results | ||
| Description |
http://img1.uploadscreenshot.com/images/orig/8/21507302655-orig.jpg
There are two chickens inside the building. One of the chickens died because one worker managed to reach it and killed it but could not gather it after it got slaughtered. |
|||
| #1578 | fixed | Default map dropdown broken | ||
| Description |
The default maps show as "Acropolis 1" instead of what's listed in |
|||
| #1580 | fixed | [PATCH] Change player color in the gamesetup | ||
| Description |
Discussion here http://www.wildfiregames.com/forum/index.php?showtopic=16318 |
|||
| #1581 | fixed | Construction visual enhancement: Scaffolds during construction | ||
| Description |
Currently, the player clicks the building icon in the unit UI, then places a foundation. Then the unit walks to the foundation, smacks on it for a bit, some dust rises, then the building pops into existence. The desired enhancement should go like this (the enhancements for this ticket are bolded):
I could see something like this in the building templates: <VisualActor>
<Actor>structures/athenians/barracks.xml</Actor>
<FoundationActor>structures/fndn_5x5.xml</FoundationActor>
<ScaffoldActor>structures/construction/scaffold_5x5.xml</ScaffoldActor>
</VisualActor>
|
|||
| #1582 | fixed | [PATCH] Improve default player names. | ||
| Description |
The game uses the "Player X" template for player names when playing on a random map. While this is not a big letdown, it would be nice to use a system similar to AOE I/II, where the name of the AIs were historical rulers. (additionally, we could show the AI used in the endgame screen next to the player name). |
|||
| #1583 | fixed | Team/private chats for multiplayer games | ||
| Description |
It would be nice to have team and private chats for multiplayer games. |
|||
| #1584 | fixed | Require player to be assigned in single player games | ||
| Description |
http://www.wildfiregames.com/forum/index.php?showtopic=16369&pid=246971&st=0&#entry246971 Screenshot: http://img1.uploadscreenshot.com/images/orig/8/21807480051-orig.jpg http://img1.uploadsc...480051-orig.jpg Steps to reproduce this glitch: 1. Change Match type to random (can be any random map) 2. Assign player 4 as You 3. Change Number of players from 4 to 3 4. Start game 5. Let it load, 6. GUI and gameplay glitches appear badly. The errors are filling up rapidly! I was unable to exit the match therefore had to close 0AD. Screenshot: [http://img1.uploadscreenshot.com/images/orig/8/21807480051-orig.jpg http://img1.uploadsc...480051-orig.jpg] Happened in SVN build. Was trying to step up a match for bot vs bot |
|||
| #1585 | fixed | Theme Finalization - Install Cache Plugin | ||
| Description |
Wordpress creates a bunch of requests. Although our local images can be sprited, each plugin adds a request. A cache and minify plugin will help alleviate the number or requests, making load time faster. |
|||
| #1587 | fixed | Warn about problems with island maps | ||
| Description |
Island maps are available to users even though some components of the game do not fully support them, and performance is harmed on these maps. Users should be notified of these problems with island maps ahead of time with messages such as: "This is an island map. Computer opponents cannot play very well on island maps, and you may experience increased lag on these maps as well. Thus, island maps are best played on multiplayer or sandbox mode." |
|||
| #1588 | fixed | [PATCH] Make 0ad compile with clang/llvm | ||
| Description |
I've made a go at trying to compile 0ad with the clang/llvm toolchain and created a minimal patch (in regard to changes to the code) to get it compile. Tested running linux and compiled using cd 0ad/build/workspaces CC=clang CXX=clang++ ./update-workspaces.sh -j3 cd gcc CC=clang CXX=clang++ make -j3 The tests were successfull and I didn't notice any problems. It'd be nice if we could make 0ad clang-compatible as clang provides better diagnostic messages (besides profiling and other stuff). |
|||
| #1589 | fixed | [PATCH] Add access to entity templates for RMGEN/RMS | ||
| Description |
Untill now there is no way to access the entity templates data from RMGEN area of code. Some things could be done much more tidy if there where (like placing walls, avoid placing chickens inside the civil centres obstruction etc.). I have really no idea how to do this so I open a ticket for it. |
|||
| #1590 | fixed | Add particle support to actor editor | ||
| Description |
The |
|||
| #1591 | fixed | [PATCH] Show combined costs in gate conversion tooltip. | ||
| Description |
The gate conversion tooltip only takes a single gate into account, even when the user has selected multiple long walls segment. It should take every wall segment into account and update the tooltip. It should also make sure the red overlay (showing a lack of resources) is correctly updated for multiple gates, see #1571. |
|||
| #1592 | fixed | Game (and Atlas) crashes when selecting an entity. | ||
| 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 (No error reported here) OS error = 487 (Attempt to access invalid address.) Also, there's no music in-game. |
|||
| #1593 | fixed | Issue with fullscreen OS X retina display | ||
| Description |
On my retina MacBook Pro running OS X 10.8, 0 A.D. windowed works fine. Fullscreen, however, has black bars on the top and bottom, clipping off parts of the interface, and the cursor input is offset. That is, the location where the cursor appears to be is actually about an inch *below* where it should be. All this can be seen in the attached screenshot. System Info: MacBookPro10,1 (Retina, Mid 2012) 2.3 GHz Intel Core i7 Intel HD Graphics 4000 (Integrated) NVIDIA GeForce GT 650M (Discrete) OS X 10.8 (12A269) |
|||
| #1594 | fixed | Handle sound system errors more gracefully | ||
| Description |
I've added some logging to the new sound system so at least we can see if the OpenAL device init fails, but it will eventually lead to a null pointer dereference and crash since there's minimal error checking in place. In general the errors need to be more descriptive and the error conditions handled more gracefully. |
|||
| #1595 | fixed | Retrieve Windows sound driver versions on Vista+ | ||
| Description |
Currently this is broken, as the following comment in wsnd.cpp explains: // unfortunately this fails with Vista's DS emulation - it returns some // GUID crap as the module name. to avoidc crashing when attempting to get // the version info for that bogus driver path, we'll skip this code there. // (delay-loading dsound.dll eliminates any overhead) This may be useful info to report for debugging the new sound system. |
|||
| #1599 | fixed | FinishOrder called when order queue is empty | ||
| Description |
Getting a few of these errors in multiplayer matches, I haven't looked into why they might be occurring. |
|||
| #1600 | fixed | Handle 'remain' corpses as discrete entities | ||
| Description |
Per IRC discussion, the current way 'remain' corpses are handled presents several issues. Currently this behaviour is only used for huntable animals. When units with the 'remain' property in cmpHealth die, they simply play the death animation but continue to exist. UnitAI makes this work by overriding a number of movement-related functions, so that corpses don't start moving around. Absent an ownership change to Gaia, players that own these animals will have LOS from the corpses until the resources are harvested, and enemy buildings will fire on the corpses until they're destroyed. Ideally, the promotion logic should be genericized and implemented inside each component, so that unit promotion, gate conversion, and units dying and becoming resources all share common code. |
|||
| #1603 | fixed | LOSTexture breaks OS X 10.5 build | ||
| Description |
While test building an OS X 10.5 bundle, I encountered a few errors in LOSTexture.cpp: LOSTexture.cpp ../../../source/graphics/LOSTexture.cpp: In member function ‘void CLOSTexture::InterpolateLOS()’: ../../../source/graphics/LOSTexture.cpp:126: error: ‘GL_FRAMEBUFFER_BINDING’ was not declared in this scope ../../../source/graphics/LOSTexture.cpp:128: error: ‘GL_FRAMEBUFFER’ was not declared in this scope ../../../source/graphics/LOSTexture.cpp:129: error: ‘GL_COLOR_ATTACHMENT0’ was not declared in this scope
The fix looks simple, just replace e.g. |
|||
| #1604 | fixed | [PATCH] Sound system breaks on archived data | ||
| Description |
Found this error while testing a 10.5 bundle but it also occurs on Windows, this will break releases. At a guess it's from using gdb backtrace: Thread 1 (process 97051):
#0 0x97c3f4cf in flockfile ()
No symbol table info available.
#1 0x97c3c3c3 in ferror ()
No symbol table info available.
#2 0x001e8f9e in COggData::InitOggFile (this=0x299f400, fileLoc=0x299fa0c) at ../../../source/soundmanager/data/OggData.cpp:55
nameH = "/Users/ben/0ad/build/workspaces/0ad.app/Contents/Resources/data/mods/public/public.zip/Honor_Bound.ogg\000\001P\000\000\000tBL?P^??????????\002\t???p?\000\000\000\000\000P\000\000\000\000??\000\f??\002/\000\000\000f\000\000\000??D\000\000\000\000\000\000\000\000\000????l?D\000?p?\000a???\000\000\000\000????\000\000\000\000t\004\000\000"...
f = (FILE *) 0x0
err = -132
#3 0x001e9937 in CSoundData::SoundDataFromOgg (itemPath=@0x1c9384c) at ../../../source/soundmanager/data/SoundData.cpp:103
answer = <value temporarily unavailable, due to optimizations>
oggAnswer = (COggData *) 0x299f400
realPath = {
path = {
static npos = 4294967295,
_M_dataplus = {
<std::allocator<wchar_t>> = {
<__gnu_cxx::new_allocator<wchar_t>> = {<No data fields>}, <No data fields>},
members of std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Alloc_hider:
_M_p = 0x299fa0c
}
},
separator = 47
}
ret = 6988444992
#4 0x001e9f2e in CSoundData::SoundDataFromFile (itemPath=@0x1c9384c) at ../../../source/soundmanager/data/SoundData.cpp:79
fExt = {
path = {
static npos = 4294967295,
_M_dataplus = {
<std::allocator<wchar_t>> = {
<__gnu_cxx::new_allocator<wchar_t>> = {<No data fields>}, <No data fields>},
members of std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Alloc_hider:
_M_p = 0x1c90b6c
}
},
separator = 47
}
answer = (CSoundData *) 0x0
#5 0x001e7ec2 in CSoundManager::LoadItem (this=0x1a05630, itemPath=@0x1c9384c) at ../../../source/soundmanager/SoundManager.cpp:145
itemData = <value temporarily unavailable, due to optimizations>
answer = (ISoundItem *) 0x1c93810
#6 0x001f08f8 in JMusicSound::Loop (this=0x1c93810) at ../../../source/soundmanager/js/MusicSound.cpp:44
aSnd = <value temporarily unavailable, due to optimizations>
#7 0x001f1af2 in CNativeFunction<JMusicSound, false, bool, &(JMusicSound::Loop(JSContext*, unsigned int, unsigned long long*))>::JSFunction (cx=0x1c1da40, argc=0, vp=0x19bb2168) at ScriptableObject.h:188
rval = <value temporarily unavailable, due to optimizations>
#8 0x0058eeda in js::Interpret () at basic_string.h:227
|
|||
| #1605 | fixed | Add a "Used" section to each of the resources in the stats screen | ||
| Description |
It would be really nice to be able to see how much of each resource you have used in the post-game statistics. I imagine it would be easiest/best to do it similar to how the barter statistics are done, just add a "/ Used" to the top and "/ #####" to the resource display to the right of each resource displayed as gathered. |
|||
| #1609 | fixed | Sound system ignores disabled sound | ||
| Description |
Starting the game with |
|||














