Jump to content

Grumpy Gurken's recenst ramblings


Gurken Khan
 Share

Recommended Posts

3 hours ago, Gurken Khan said:

I believe the messages that an error has occurred, I'm not sure how much of the details I should believe...

Then you should check the log file for 0AD after all the OS does not know what the app is doing in detail check the wiki for Game data paths the one you want is interesting.html which is just the errors ;)  

Link to comment
Share on other sites

@Loki1950 Yes, thank you. That was the stuff I posted yesterday. ;)

More often than not crashlog and interestinglog don't catch my crashes, though.

 

I tried the pause/crash thing again yesterday: it took two hours. It's not a pressing issue, however one I can reproduce.

 

And did someone change the title of this thread? I'm quite sure I intentionally used the wrong superlative 'recenst'.

Spoiler

Seems like someone couldn't stand it. But what about my freedom of expression here? :P

 

Link to comment
Share on other sites

Out of address space (64-bit OS may help)
Location: wvm.cpp:296 (vm::AddressRangeDescriptor::Allocate)

Call stack:

(error while dumping stack: No stack frames found)
errno = 0 (No error reported here)
OS error = 8 (Für diesen Befehl ist nicht genügend Speicher verfügbar.)

I thought maybe it was a RAM issue. I looked a bit for 'OS error = 8' which to me seemed to point more in the direction of resource leaks?

I have no actual debugging experience, but should I maybe install some tool to see if I can catch what's going on?

Link to comment
Share on other sites

I'd still be interested in replies to my previous post! ;)

 

How about a category 'support' for the Units Statistics?

0AD-missingsupport.thumb.png.e329ad2cc93f64be005a7275210f4c97.png

I have plenty of space for an additional category, and that way the numbers for 'Lost' would add up.

Ofc that still wouldn't account for the three units I captured...

Is there also a category missing for the buildings?

  • Like 1
Link to comment
Share on other sites

14 hours ago, Angen said:

Right clicks does not work over disabled buttons because well they are disabled. 

Yeah, I actually figured that out while playing on. :)

 

5 hours ago, FeXoR said:

That doesn't make much sense to me since the information is somewhat important to decide whether or not to unlock it ;)

I wanted to look at the ship's stats to see if I should wait for that or take the cheaper one. The ship will unlock with p3, so that's not really a choice as I will progress anyway.

 

I still think the mouse-over shouldn't tell me to right-click and then do nothing. (Ofc I can always go to the unit tree and look at the ship there, but if I just wanna compare ships at the harbor I think the game can just give me those infos right there.)

Link to comment
Share on other sites

When I upgrade a Sentry Tower to Defence Tower it's technically a different building?

I noticed before that workers stopped repairing the tower when the upgrade finished while they were at it. And I finally figured out why Sentries isn't researched although I was sure I already did it...

I don't even know if I got refunded when the research stopped due to the upgrade, but I would really prefer the research to continue even if the tower upgrades in the meantime.

Link to comment
Share on other sites

  • 2 weeks later...

The relics were spawned out of the passable map area.

({x:23.915771484375, y:115.64073181152344, z:300.5172119140625})

({x:870.5728454589844, y:0, z:793.323974609375})

({x:29.00518798828125, y:116.86183166503906, z:193.9296875})

The two relics with x coordinate ~23 and ~29 would end up way outside on a circular map sized 1024.

I got this graph using an online tool.

Spoiler

grapher.gif.6a3d55daa454acf942a30fa2593c357e.gif

Since relics tend to spawn around gaia entities like trees, my best guess is that this is an issue with the map script placing entities out-of-bounds. Cant say for sure, since I have yet to look at the mapscript.

Edit: Found the most probable cause. The following code in the map script is the only object placement done without respect to bounds. And IIRC, relics stick to actors as well (?).

Spoiler

g_Map.log("Paint areas by height and slope");
for (let h = 0; h < heighLimits.length; ++h)
	for (let point of areas[h])
	{
		let actor;
		let texture = pickRandom(wildLakeBiome[h].texture);

		if (slopeMap[point.x][point.y] < (minSlope[h] + maxSlope[h]) / 2)
		{
			if (randBool(wildLakeBiome[h].actor[1]))
				actor = pickRandom(wildLakeBiome[h].actor[0]);
		}
		else
		{
			texture = pickRandom(wildLakeBiome[h].textureHS);
			if (randBool(wildLakeBiome[h].actorHS[1]))
				actor = pickRandom(wildLakeBiome[h].actorHS[0]);
		}

		g_Map.setTexture(point, texture);

		if (actor)
			g_Map.placeEntityAnywhere(actor, 0, randomPositionOnTile(point), randomAngle());
	}

 

 

Edited by Guest
Link to comment
Share on other sites

I would propose a fix when I have time, but I guess this raises a question of where the problem really is?

The map script has good reason for using placeEntityAnywhere. The passable map is smaller than the visible map. And actors should not really avoid the area visible. And in this case, the terrain generation involved is the simplest when done on a square grid.

A better solution would be to pick a source entity that is in bounds in Triggerhelper.GetLandSpawnPoints().

Link to comment
Share on other sites

The entity ID is either already seen in the erorr message, or one can add a warn(entityID) to the bugging piece of code, then start the replay, press Alt+D to enable the developer overlay, make sure no unit is selected, press F9, type g_Selection.addList([entityID]) and it should show the template name of the entity, for example.

Link to comment
Share on other sites

gaia/flora_tree_euro_beech, gaia/flora_bush_berry

Both entities were placed in the code pasted above. This now highlights a problem with the map. The script is calling a regular entity an actor and placing it as such. The "actors" are defined in wildLakeBiome. More specifically,  in this case:

{
	"texture": getArray(g_Terrains.dirt),
	"actor": [
		[
			g_Gaia.tree1,
			g_Gaia.tree3,
			g_Gaia.fruitBush,
			g_Gaia.secondaryHuntableAnimal,
			g_Decoratives.grass,
			g_Decoratives.rockMedium,
			g_Decoratives.bushMedium
		],
		0.3
	],
	"textureHS": getArray(g_Terrains.cliff),
	"actorHS": [[g_Decoratives.grassShort, g_Decoratives.rockMedium, g_Decoratives.bushSmall], 0.1]
},

So, apparently actors does not influence relic placement. Guess they have one of the relevant components stripped out or they are not gaia.

Edited by Guest
Link to comment
Share on other sites

  • 4 weeks later...

So, someone has encouraged me to report every crash; I had another of these:

On 11/17/2018 at 5:37 PM, Gurken Khan said:

Out of address space (64-bit OS may help)
Location: wvm.cpp:296 (vm::AddressRangeDescriptor::Allocate)

Call stack:

(error while dumping stack: No stack frames found)
errno = 0 (No error reported here)
OS error = 8 (Für diesen Befehl ist nicht genügend Speicher verfügbar.)

 

 

When I accidentally started two instances of the game I got:

Quote

Details: unhandled exception (Access violation reading 0x00000004)

Location: unknown:0 (?)

Call stack:

(error while dumping stack: No stack frames found)

errno = 2 (Error during IO)

OS error = 0 (no error code was set)

Should that be an unhandled exception?

 

---

On 11/16/2018 at 4:26 PM, stanislas69 said:

@Gurken Khan you can edit the first post of your thread to change the title :)

Even easier: I can change the title directly on every page of this thread. FYI :)

 

---

I feel like the GUI could really use some keyboard commands.

0AD-uiprop.jpg.45ff7406f813099ad1e39dd5300c9c97.jpg

For example, in the Load Game menu I'd like

- to be able to use the arrow keys to navigate the list

- every button to have a shortcut assigned

- the most common option to be pre-selected

  • Like 1
Link to comment
Share on other sites

Not sure about the shortcuts for the "Load", "Cancel" and "Delete" though Enter, Del and Esc are good canditates.

  • You currently can't run two instances of the game on windows, when using the release version. That is because on Windows, software have an exclusive access to files. That is a known untrivial bug to fix.
  • We could require only one instance of the software though http://www.flounder.com/nomultiples.htm

For the other crash a short summary would help.

  • The crashlog.dmp and crashlog.txt are required to do anything.
  • If it crashes when trying to load a savegame, the savegame could be attached.
  • If the crash is constantly reproductible, a step by step is nice.
  • Thanks 1
Link to comment
Share on other sites

45 minutes ago, stanislas69 said:

For the other crash a short summary would help.

  • The crashlog.dmp and crashlog.txt are required to do anything.
  • If it crashes when trying to load a savegame, the savegame could be attached.
  • If the crash is constantly reproductible, a step by step is nice.

I think I never had a crash when trying to load a saved game. I'm certain I'll have that out of memory thing again soonish, I'll upload the dump then.

Summary/step by step: play >20 mins with my settings -> crash. ;)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...