 |
|  |
 |
|
Martin Gühmann
|
 |
Berlin, Germany
Mar 2001 time: 06:16
|
|
quote: Originally posted by E
just a note to others. THe Alex and Samurai scenarios need the const.txt AND the aidata unitbuildlist.txt replaced to make it work with the current playtest. |
Why this these files should be compatible.
However I fixed the problem with the government dialog.
Unfortunatly I get some other strange things, whenever I quit my final version the game crashes. Well this doesn't matter, because I want to quit anyway, but this shouldn't happen and the other strange thing is that it generates an empty crash.txt.
However here is the content of a crash.txt when it was surprisingly not empty:
code:
0x005bc434 [??1?$tech_Memory@ULink@?$tech_WLList@PAVaui_Region@@@@@@UAE@XZ + 0x14]
0x005bc7b9 [??1?$tech_WLList@PAVaui_Region@@@@UAE@XZ + 0x19]
0x005ba481 [??1aui_Region@@UAE@XZ + 0x51]
0x7c007a31 [__onexitbegin + 0x7b54c599]
0x005d828f [??1aui_DirectUI@@UAE@XZ + 0x7f]
0x005efc65 [??1C3UI@@UAE@XZ + 0x85]
0x005efedb [??_EC3UI@@UAEPAXI@Z + 0xb]
0x0040a2b8 [?CleanupAppUI@CivApp@@QAEJXZ + 0xd8]
0xbaabfc7a [(kernel) + 0x0]
And here is something else that is strange, once I got these asserts with the debug version on start:
code:
c3debug.cpp@300 : Assertion (hr == DD_OK) Failed in File:C:\Activision\Ctp2\ctp2_code\ui\aui_directx\a
ui_directsurface.cpp, Line:205
c3debug.cpp@303 : Stack Trace: ' 0x00453d30 [char * __cdecl c3debug_StackTrace(void) + 0x20]
0x0044ead4 [void __cdecl c3debug_Assert(char *,char *,int) + 0x44]
0x0086a856 [public: __thiscall aui_DirectSurface::aui_DirectSurface(enum AUI_ERRCODE *,long,long,long,struct IDirectDraw *,struct IDirectDrawSurface *,int,int) + 0x606]
0x0086b979 [public: enum AUI_ERRCODE __thiscall aui_DirectUI::CreateDirectScreen(int) + 0x2b9]
0x0086b446 [public: __thiscall aui_DirectUI::aui_DirectUI(enum AUI_ERRCODE *,struct HINSTANCE__ *,struct HWND__ *,long,long,long,char *,int) + 0x176]
0x0089cc19 [public: __thiscall C3UI::C3UI(enum AUI_ERRCODE *,struct HINSTANCE__ *,struct HWND__ *,long,long,long,char *,int) + 0x49]
0x00459abf [int __cdecl ui_Initialize(void) + 0x9f]
0x00464c77 [public: long __thiscall CivApp::InitializeApp(struct HINSTANCE__ *,int) + 0xe7]
0x0045e6da [int __stdcall CivWinMain(struct HINSTANCE__ *,struct HINSTANCE__ *,char *,int) + 0x3aa]
0x0045dd24 [WinMain@16 + 0x74]
0x00b1b5b3 [WinMainCRTStartup + 0x1b3]
0xbff8b560 [(kernel) + 0x0]
'
c3debug.cpp@300 : Assertion (AUI_NEWOK(m_primary,errcode)) Failed in File:C:\Activision\Ctp2\ctp2_code\ui\aui_directx\a
ui_directui.cpp, Line:218
c3debug.cpp@303 : Stack Trace: ' 0x00453d30 [char * __cdecl c3debug_StackTrace(void) + 0x20]
0x0044ead4 [void __cdecl c3debug_Assert(char *,char *,int) + 0x44]
0x0086b9d9 [public: enum AUI_ERRCODE __thiscall aui_DirectUI::CreateDirectScreen(int) + 0x319]
0x0086b446 [public: __thiscall aui_DirectUI::aui_DirectUI(enum AUI_ERRCODE *,struct HINSTANCE__ *,struct HWND__ *,long,long,long,char *,int) + 0x176]
0x0089cc19 [public: __thiscall C3UI::C3UI(enum AUI_ERRCODE *,struct HINSTANCE__ *,struct HWND__ *,long,long,long,char *,int) + 0x49]
0x00459abf [int __cdecl ui_Initialize(void) + 0x9f]
0x00464c77 [public: long __thiscall CivApp::InitializeApp(struct HINSTANCE__ *,int) + 0xe7]
0x0045e6da [int __stdcall CivWinMain(struct HINSTANCE__ *,struct HINSTANCE__ *,char *,int) + 0x3aa]
0x0045dd24 [WinMain@16 + 0x74]
0x00b1b5b3 [WinMainCRTStartup + 0x1b3]
0xbff8b560 [(kernel) + 0x0]
'
c3debug.cpp@300 : Assertion (AUI_SUCCESS(*retval)) Failed in File:C:\Activision\Ctp2\ctp2_code\ui\aui_directx\a
ui_directui.cpp, Line:106
c3debug.cpp@303 : Stack Trace: ' 0x00453d30 [char * __cdecl c3debug_StackTrace(void) + 0x20]
0x0044ead4 [void __cdecl c3debug_Assert(char *,char *,int) + 0x44]
0x0086b46d [public: __thiscall aui_DirectUI::aui_DirectUI(enum AUI_ERRCODE *,struct HINSTANCE__ *,struct HWND__ *,long,long,long,char *,int) + 0x19d]
0x0089cc19 [public: __thiscall C3UI::C3UI(enum AUI_ERRCODE *,struct HINSTANCE__ *,struct HWND__ *,long,long,long,char *,int) + 0x49]
0x00459abf [int __cdecl ui_Initialize(void) + 0x9f]
0x00464c77 [public: long __thiscall CivApp::InitializeApp(struct HINSTANCE__ *,int) + 0xe7]
0x0045e6da [int __stdcall CivWinMain(struct HINSTANCE__ *,struct HINSTANCE__ *,char *,int) + 0x3aa]
0x0045dd24 [WinMain@16 + 0x74]
0x00b1b5b3 [WinMainCRTStartup + 0x1b3]
0xbff8b560 [(kernel) + 0x0]
'
c3debug.cpp@300 : Assertion (AUI_NEWOK(g_c3ui,auiErr)) Failed in File:C:\Activision\Ctp2\ctp2_code\ctp\civ3_main.cpp, Line:365
c3debug.cpp@303 : Stack Trace: ' 0x00453d30 [char * __cdecl c3debug_StackTrace(void) + 0x20]
0x0044ead4 [void __cdecl c3debug_Assert(char *,char *,int) + 0x44]
0x00459b18 [int __cdecl ui_Initialize(void) + 0xf8]
0x00464c77 [public: long __thiscall CivApp::InitializeApp(struct HINSTANCE__ *,int) + 0xe7]
0x0045e6da [int __stdcall CivWinMain(struct HINSTANCE__ *,struct HINSTANCE__ *,char *,int) + 0x3aa]
0x0045dd24 [WinMain@16 + 0x74]
0x00b1b5b3 [WinMainCRTStartup + 0x1b3]
0xbff8b560 [(kernel) + 0x0]
'
c3debug.cpp@300 : Assertion (hr == DD_OK) Failed in File:C:\Activision\Ctp2\ctp2_code\ui\aui_directx\a
ui_directsurface.cpp, Line:205
c3debug.cpp@303 : Stack Trace: ' 0x00453d30 [char * __cdecl c3debug_StackTrace(void) + 0x20]
0x0044ead4 [void __cdecl c3debug_Assert(char *,char *,int) + 0x44]
0x0086a856 [public: __thiscall aui_DirectSurface::aui_DirectSurface(enum AUI_ERRCODE *,long,long,long,struct IDirectDraw *,struct IDirectDrawSurface *,int,int) + 0x606]
0x0086b979 [public: enum AUI_ERRCODE __thiscall aui_DirectUI::CreateDirectScreen(int) + 0x2b9]
0x0086c28a [public: virtual enum AUI_ERRCODE __thiscall aui_DirectUI::AltTabIn(void) + 0x2a]
0x00849a1d [public: virtual enum AUI_ERRCODE __thiscall aui_UI::HandleWindowsMessage(struct HWND__ *,unsigned int,unsigned int,long) + 0x1ed]
0x0045e9bf [long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long) + 0x3f]
0xbaabfc7a [(kernel) + 0x0]
'
civ3_main.cpp@1687: Exception: 'Breakpoint' thrown.
civ3_main.cpp@1692: Exception Stack Trace:
0xbff768a1 [(kernel) + 0x0]
0x10213a48 [\177ole32_NULL_THUNK_DATA + 0xee5e3c0]
0x0044eb1b [void __cdecl c3debug_Assert(char *,char *,int) + 0x8b]
0x0086a856 [public: __thiscall aui_DirectSurface::aui_DirectSurface(enum AUI_ERRCODE *,long,long,long,struct IDirectDraw *,struct IDirectDrawSurface *,int,int) + 0x606]
0x0086b979 [public: enum AUI_ERRCODE __thiscall aui_DirectUI::CreateDirectScreen(int) + 0x2b9]
0x0086c28a [public: virtual enum AUI_ERRCODE __thiscall aui_DirectUI::AltTabIn(void) + 0x2a]
0x00849a1d [public: virtual enum AUI_ERRCODE __thiscall aui_UI::HandleWindowsMessage(struct HWND__ *,unsigned int,unsigned int,long) + 0x1ed]
0x0045e9bf [long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long) + 0x3f]
0xbaabfc7a [(kernel) + 0x0]
And the strange thing is that they disappeared after a reboot.
-Martin
|
|
|  |
 |
|
Fromafar
|
|
The Asserts look familiar to me. This usually happens when you press alt-tab before the screen gets black during the game startup. Apparently, this causes the CreateSurface call to return with a failure call, after which the game is unable to continue.
The aui_whatever classes have a problem when the initialisation fails somewhere, because most of its default constructors do not initialise anything. When you call the destructor for these objects, you are likely going to access some random locations. Fortunately, the initialisation will usually succeed, and I have never seen this problem with the release version.
|
|
|  |
 |
|
tombom
|
|
Pining for the fjords
Oct 2004 time: 05:16
|
|
quote: Originally posted by Fromafar
The Asserts look familiar to me. This usually happens when you press alt-tab before the screen gets black during the game startup. Apparently, this causes the CreateSurface call to return with a failure call, after which the game is unable to continue.
|
I wondered why I was getting this. I always Alt-Tab out of games during startup.
In the current SVN, the release build seems to disappear as soon as I click New Game. It's still running, eating up a lot of CPU while doing nothing, and I can do other things, but it's no longer on the screen. I'll have a go in the debug build.
EDIT: It goes away in the debug build, but then I'm left with the SlicStack assert.
Last edited by tombom on 16-04-2005 at 20:36
|
|
|  |
 |
|
Martin Gühmann
|
 |
Berlin, Germany
Mar 2001 time: 06:16
|
|
quote: Originally posted by tombom
EDIT: It goes away in the debug build, but then I'm left with the SlicStack assert. |
Which mod do you use? With the default game no problem. Currently I have another odd problem, if I reload slic and I open a window or end turn the game crashes. The crash.txt is empty. Problem doesn't occur on debug build and I can do a quick save after slic reload and after reload no crash.
quote: Originally posted by tombom
The aui_whatever classes have a problem when the initialisation fails somewhere, because most of its default constructors do not initialise anything. When you call the destructor for these objects, you are likely going to access some random locations. Fortunately, the initialisation will usually succeed, and I have never seen this problem with the release version. |
These AUI_whatever classes are strange anyway, they produce a lot of memory leaks. And not easy to understand.
-Martin
Last edited by Martin Gühmann on 16-04-2005 at 21:30
|
|
|  |
 |
|
tombom
|
|
Pining for the fjords
Oct 2004 time: 05:16
|
|
quote: Originally posted by Martin Gühmann
Which mod do you use?
-Martin |
I'm pretty sure none, unless some commented out bits to test an operator in scenario.slc count. I've always had this problem and Peter said something about it a while back too.
It's the assert in SlicStack::Eval, line 110 (IIRC).
|
|
|  |
 |
|
Peter Triggs
|
|
Gone Fishin, Canada
Jan 2000 time: 05:16
|
|
As Maq and Demon59 have reported, I've noticed a problem with orders (e.g., the bombard order) being repeated. I can't track it down but it's holding up my next changes to the source, so I'm going to commit anyway.
|
|
|  |
 |
|
Fromafar
|
|
quote: Originally posted by tombom
It's the assert in SlicStack::Eval, line 110 (IIRC). |
This assert usually indicates an error in the Slic input. It is generated when there should have been an integer on the stack (as part of an expression), but there is not.
E.g. when you have something like
code: location_t location;
if (0 == location) ...
in an event handler. When the evaluation reaches the equality test (==), it expects 2 symbols of the same type on the stack. The 0 is an integer, but location is not an integer, so it is invalid.
Because at this point it is not easy to fail gracefully, the code will simply replace the invalid value with the somewhat arbitrary value 0, and continue as if nothing has happened - apart from generating the Assert pop-up with the debug version. So, you will always execute the if-clause in the above section.
When you use the debugger, you should be able to inspect the value of the offending symbol, and find out its name.
|
|
|  |
 |
|
EPW
|
 |
California, USA
Jan 2004 time: 21:16
|
|
This is what I noticed after playing 200 turns using the latest playtest with the CTC mod...
Pros
-The AI is much more aggressive, espacially towards other AIs. Two AI civs actually conquered another medium strength civ within a few turns.
-All the slic things worked, unit upgrades, plagues, etc.
Cons
-Everything runs very slowly, almost from the beginning of the game. Opening any menu causes a 5-10 second delay. This occurs with the ranking screen, diplomacy, city and build managers, everything. When exchanging maps with another civ, the game comes to a standstill for 30 seconds until the map is finally revealed.
-Borders are not updated, you have to actually see the borders before it shows up on the map/mini map.
-The first turn after loading a save game, the AI takes 5 minutes to complete it's turn. After this it returns to normal.
-The game freezes when quiting the game.
Screenshot of crazy borders(right map is revealed):
Attachment: crazymap.jpg
This has been downloaded 233 time(s).
|
|
|  |
 |
|
wheathin
|
|
Not sure if this is the same, but instead of Alt-tab, I hit space-bar when the opening movie starts up. If I hit it too soon however (i.e., before the Activision animation starts), the game won't finishing loading up and I have to Ctrl-Alt-Del and restart. So perhaps Alt-Tab is not required..
|
|
|  |
 |
|
Fugi the Great
|
 |
Sheboygan,WI,USA
Mar 1999 time: 05:16
|
|
I also noticed the bombardment order being repeated as well as lawyers repeating a "sue" order.
The AI's turn still sometimes hangs up (stuck), game is not locked up - can still most everything, just can't move yet because it is the AI's turn. This problem seems to happen in the age where the AI now has planes of some type, almost like a plane is told to go to a city during the previous turn, but since that time the city filled up to it's maximum so it can't go in, but doesn't have enough fuel to go back, won't pull a unit out of the city (weaken the defences) so it just sits there and doesn't know what to do. Sometimes I have to reload the Autosave then try moving a unit a little differently, or fly a plane over that certain AI's territory just to see whats going on, possibly forcing the AI to to crash the plane to get it going again, or just say h3ll with it and start over.
Well started over, game froze during the later middle ages - no planes yet that I could see with the cheat mode. Reloaded the Autosave, got stuck in the same spot.
Question, I noticed that Public Works numbers do not quite add up, has it always been that way based on level or is it a problem that just showed up? Example being that I may have 309 from last turn, should get an additional 263 this turn but I may only end up getting 502 total. Gold seems to add up okay though.
Last edited by Fugi the Great on 01-05-2005 at 04:06
|
|
|  |
 |
|
Maquiladora
|
|
It does the same when you disband a city too, that didnt happen before either.
|
|
|  |
 |
|
Peter Triggs
|
|
Gone Fishin, Canada
Jan 2000 time: 05:16
|
|
Martin put that recentering thing in recently. What do you think? Do you guys prefer the old way?
|
|
|  |
 |
|
Maquiladora
|
|
Exactly, I prefer the old way when disbanding and conquering, I dont see how the new way is better? The first thing I do when conquering a city is alter the queue and specialists, and sometimes move units from a disbanded city, although thats less annoying.
|
|
|  |
 |
|
Qumad Al-Riyf
|
|
If you look at the Great Library, and look under Plasma Weaponry you will find Leviathan there.
But this I got from Unified Physics.
Leviathan allso sais that it requires Unified Physics.
When I get a new Goverment and the auto message telling me that I got a new goverment and asking me if I want to change to that one, the message dosent display the name of the new goverment.
This last thing might not have something to do with the playtest but with CTP2 generaly:
When you build things like National Shield that gives you/creates a forceshield in every city.
Is there any reason to build the forcefiled in the citys?
(Cuz they are stil avalable in the build manager after I got the wonder)?
|
|
|  |
 |
|
Fromafar
|
|
When you are afraid you are going to lose the city with the wonder to a revolt or (counter)attack, you may want to start/continue building the regular buildings. In other circumstances, it is not very useful.
Martin has corrected the government name display, so that will be solved in the next playtest release.
Thanks for the Great Library bug report. I think the Leviathan prerequisite should be Plasma Weaponry. The English version has Unified Physics here, but the German version has Plasma Weaponry.
New bug reports on revision 346:
- I can not find the - cursor - files uc088.tga and uc089.tga.
- ArmyData::GetCargo has a crash with the Alexander scenario when GetCargoDataPtr() returns NULL. One of those dangerous A ->B->C constructs where the result of A->B is not tested.
- There is an enormous amount of WorkerCount >= delta Asserts. It looks like the governor assigns too many farmers and gets into a conflict when entertainers are needed. In the AlexanderTheGreat scenario, Philippopolis gets assigned 5 farmers automatically, for a growth of +253. Manually changing this to 4 farmers (+ 1 worker) keeps the growth at +253, and increases all other values.
|
|
|  |
 |
|
Solver
|
|
Apolyton Duke Of Something
|
 |
Latvia, Riga
Sep 2000 time: 07:16
|
|
My report on the latest playtest.
The AI is a lot better. It does use ships to drop groups of units on your land. Previously, no enemy outside your landmass was a threat, now I've seen the AI attempt invasions. Still they're not real invasions, but at least the AI does drop troops on your land. Another observation is that the AI attacks almost every time when it has a sure win. That is, if it has a 7-stack near my 2-stack, it will attack and eliminate my 2-stack. Finally, AI-to-AI conquest seems also to happen more. So, good on that .
I don't have performance issues, apart from when I return to the gameafter it had been minimized and stayed that way for some time. Then the first turn is extremely slow.
As it has been said, some strings don't show. Also, when units are killed without going to the battle screen (like if you attack a settler), the unit's sprite disappears immediately, there is no death animation - but the death sound still plays.
|
|
|  |
 |
|
Maquiladora
|
|
So are we ready for a new playtest?
|
|
|  |
All times are GMT. The time now is 05:16. Apolyton Time is 00:16. |
top of page
|
|
|
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is ON
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|