-
Posts
1.443 -
Joined
-
Last visited
-
Days Won
24
Posts posted by vladislavbelov
-
-
1 minute ago, stanislas69 said:
@vladislavbelov Looking at the screen shot I'm not sure those crashes are related. One is about savegame.cpp and the other seems related to something else.
So probably the issue is in the system/drivers and not in the engine.
-
1
-
-
12 hours ago, Lion.Kanzen said:
I can't find those colors. no one match,
Because you need to enter "rgb(140, 140, 140)" and not "140 140 140".
-
Could you reproduce it? Which are you doing?
-
32 minutes ago, The Great Caesar said:
Me again. I'm having trouble creating another node using the insert key, is there a way for me to perhaps remap that option on my keyboard? Also, regarding the code, where do I copy-paste it to?
Thanks,
-TheGreatCaesar
Currently we don't support remap for the Atlas. So if you want to change a key, you need to download sources and build the game with Atlas. About if you may build, it's in the source/tools/atlas/GameInterface/Handlers/CinemaHandler.cpp.
-
26 minutes ago, stanislas69 said:
Top line CshaderTechnique.
Not sure about the later. I think it's access violation.
Are you sure? It looks like it crashes in ENSURE(0 <= pass && pass < (int)m_Passes.size());
-
13 hours ago, stanislas69 said:
Call stack
> pyrogenesis.exe!CShaderTechnique::BeginPass(int pass=0) Line 134 C++ pyrogenesis.exe!CLogger::Render() Line 213 C++ pyrogenesis.exe!Render() Line 269 C++ pyrogenesis.exe!Frame() Line 372 C++ pyrogenesis.exe!RunGameOrAtlas(int argc=1, const char * * argv=0x00e60008) Line 581 C++ pyrogenesis.exe!SDL_main(int argc=1, char * * argv=0x00e60008) Line 623 C++ pyrogenesis.exe!main_utf8(int argc=1, char * * argv=0x00e60008) Line 126 C pyrogenesis.exe!wmain(int argc=1, unsigned short * * wargv=0x00bdf4f8, unsigned short * wenvp=0x00bdeec8) Line 151 C pyrogenesis.exe!__tmainCRTStartup() Line 623 C pyrogenesis.exe!CallStartupWithinTryBlock() Line 364 C++ kernel32.dll!76e48744() Unknown [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll] ntdll.dll!7744582d() Unknown ntdll.dll!774457fd() UnknownI haven't seen that before @vladislavbelov
Which line it crashes? And it's assert or access violation?
-
11. No, you don't need to change something, it's ok that some parameters are not used. I want to make some modifications for the shader system, but it's in future.
13. As I said:
2 hours ago, vladislavbelov said:No, because effects are available only for USE_NORMAL_MAP, USE_SPECULAR_MAP, USE_PARALLAX or USE_AO.
And not for USE_SPECULAR.
-
1
-
-
5. They are.
6. No, we shouldn't because materials isn't a bottleneck.
9. Yes, it could be renamed I think, because is uses normal map as usual. But in common terms bump != parallax.
10. USE_HQ_PARALLAX and USE_VHQ_PARALLAX aren't used in shaders, so you could use it only if you add it (and add conditions)
11. If a material requires something and engine doesn't have it, then the material should be applied. Currently there could be a warning or crash, I don't remember.
12. No, it shouldn't, it's different things, normTex is a normal map, which could be used for different goals. And parallax just can use it if needed.
-
To answer I'm using shaders sources and my additional knowledge.
- USE_SPECULAR requires specular power and specular color.
- No, because USE_SPECULAR works without specular texture, but USE_SPECULAR_MAP with, also USE_SPECULAR_MAP requires specular effects.
- No, because effects are available only for USE_NORMAL_MAP, USE_SPECULAR_MAP, USE_PARALLAX or USE_AO.
- <required_texture name='specTex' define=''SPECULAR_MAP"/> is better, because you define connected things together.
- Where from comments? If materials, I think no, because it allows faster fix/add/improve shaders.
- No. It uses for conditional alternatives, i.e. basic_trans_ao.xml, if quality < 2 it switch to basic_trans.xml. Also it could be used when the material can't be supported, but it's not used, if I'm not mistaken.
- It's used for the triplanar texture mapping (vec3 instead of vec2). Currently It's used for the terrain.
- sim_time just a time since the game started, it's used for the water rendering (waves, etc) and for the wind animation.
- Where? It's not used in materials.
- I don't think so, only if add conditions.
- Yes, it's required.
-
1
-
Just now, Lion.Kanzen said:
Where can find the example?
The game session GUI code is in "binaries/data/mods/public/gui/session/". There's a "diplomacy_window.xml", it describes how it looks like. The code hides this window is in "menu.js". How phase handling works you could see in the tutorial script "binaries/data/mods/public/maps/tutorials/starting_economy_walkthrough.xml".
-
14 minutes ago, Lion.Kanzen said:
I'm not programmer but how i can pop up the "screen selection" pushing upgrade phase button?
I'm only good with CSS and XML files.
I could describe how it could be in common words:
- You started a new phase, like usual (no changes)
- Phase ended, you added a listener/handler on the phase end, it's just call an open function (the same like a diplomacy button call)
- User takes a choice, press button apply, you added another listener/handler on the button click, which applies changes to the simulation
So you need a XML-code for the selection window, JS-code for the phase handler and the button handler.
-
8 minutes ago, Lion.Kanzen said:
its possible adding a selector screen like AoE to the GUI?
I think it's possible, because it's just a window which could modify simulation states. Look at the diplomacy window, what's the different? They're near enough.
The JS simulation part is flexible already. So you could do many things in mods, but yes, you need to write a code.
-
1
-
-
1 minute ago, dvaosta said:
For fast changing obstructions, the short range pathfinder is used (the long range one simply ignore other units). Regarding newly added buildings, I don't know if there are cases where the long range path is recomputed, but in the majority of cases also there the short range pathfinder is used to avoid them.
I don't think that use something like a FIFO cache would be a problem. In fact, also when a unit move along a very long path, that path remain valid for a long time (and in the meanwhile several new obstructions can be placed).
Then I think we could not the whole path caching, but patch version. Currently terrain is split on patches. So if any path goes through a patch we could cache it in this patch. Why not the whole path, because usually one piece of a path was changed and many paths have a common subpath.
Not sure, just ideas.
-
1
-
-
2 minutes ago, dvaosta said:
I've spent some time reading both this document and the code, and it seems that paths found by the long pathfinder are not cached but recomputed for each unit.
Now, I think a cache can significantly improve performances, especially in the cases where you select a bunch of units that are close to each other and you order them to move to a point that's quite far: in these cases, the units tend to converge on a single line, so why to compute the path for each of them?
So my proposal is to keep a cache of N paths (the most recent? The most frequently used? FIFO?); when a unit needs a path, we first search if in the cache there is already a path with the same target and a starting point that is less than X tiles away from the unit and we use the short range pathfinder to join that path (on which waypoint?), after having checked that that path can be reached, of course.
Possible improvements:
- Reuse a cached path also if the end point in less than X tiles from the unit target (and there are not better cached paths);
- Reuse part of a path also if the unit position and target are near to intermediate waypoints of the cached path (here the difficult part is to efficiently search if a point is contained in a path);
What do you think?
Cache could be good. What we need to do when paths and/or obstructions are changing often, i.e. on a battlefield we always correct paths. Won't it add a visible overhead?
-
2
-
Just now, Flamadeck said:
I know. Have you seen how other formats are structuring their data? It's much worse.
Also the Godot game engine supports glTF2 as natively?
It's much worse.
Do not fear blender add-ons dude! Blender add-ons are necessary to go from noob to pro!
Many pros use them to enhance, accelerate and improve their workflow and artistic capabilities.
Much worse? What does it mean? Currently I'm looking at the format and see that it has the fragmented input and many time for parsing.
It doesn't tell me something, that Godot supports it. Because it's not used for really big projects (AAA, AA), at least I don't know about it.
I agree that installing addons it's useful, but not necessary, because even with the best addons you won't be a pro.
Btw I don't tell that it's bad format, no. It could be really good. Just I need tests, benchmarks, results (numbers), but not words. So I wrote why changing the format is really complicated task.
-
1
-
-
4 minutes ago, Flamadeck said:
Did you not read the post (considering the fast response that might be true you dirty meme spammer) before writing your reply?
GlTF 2 stands head and shoulders above the other formats in terms of specification, test cases, clearness, speed and features.
There is already a Blender exporter and glTF 2.0 supports specifying an external file for the big data, in binary format.
Yes, but did you read the original post? It's JSON based. Did you use blender? It doesn't support it by default, but with external addon-s we could add any other format.
-
1
-
-
It's like:

This format have pluses and minuses, i.e. Blender doesn't support this format. If we should change the format, why we should use the text one or mixed (like this this)? We could use something faster, most binary formats are faster and smaller. But yes, most of them have a license which we can't support.
Also converting is the really much cost operation, because we should convert not only files, but wiki, parsers (a lot of C++), tutorials, probably we should add some hacks for this format. Do we really need to change the format? Because we don't feel bounds of the Collada so much, because we use it pretty simple.
Another way we could use assimp, and we won't longer be depended on file formats.
-
4 hours ago, elexis said:
We'd need a new simulation component to keep track of the environment variables that we want to control, equal to the CCmpWaterManager.cpp that updates the renderer. Not too hard to accomplish, limited context. Still would need someone willing to do it. We should also flesh out the use case beforehand. We could have different, fine-tuned sun angles for each map, or we could have a complete day & night cycle independent ot the chosen map.
Agree, we should have a component for these goals. It'd be really useful.
About the day & night cycle at all: I think it's interesting and looks nice, but sometimes someone may want only night maps, sometimes only day maps and sometimes mixed maps. Won't it be unrealistic, that we have different day cycles with the same game speed? I think it's better to have the day & night change in cutscenes, between campaign missions, but in-game it may look weird.
-
2
-
-
7 hours ago, Lion.Kanzen said:
sounds nice info to add in-game manual.
Especially since we have charts

-
1
-
-
1 hour ago, dvaosta said:
Launch 0ad, select tools and options -> options, click close; it will show the message box telling that there are changes and asking if you really want to close, also if you didn't change any option.
Which version do you use and which operation system?
Also you can repeat it every time when you launch the game?
-
4 hours ago, elexis said:
The ApplyValueModificationsToPlayer function was removed in r19924 and delenda est has a copy of Player.js.
The only change in the copy is the maxpop = 500. @wowgetoffyourcellphone this max pop change doesn't work, does it? It's the gamesetup determining that right? IIRC it's different for skirmish/scenario and random maps.
Modified copies from the public mod always run into that issue. A modified copy of population_capacities.json might do the trick already, dunno.
I have some thoughts about mods, especially in these cases. If we want to change small function we need to copy the whole file. Could we make a logic, when mods has a javascript file (i.e. Player.js), which has only one function, overloaded from the original one, and we replace it with new version of the function? Or at least make it for components, to prevent such issues.
Just an idea.
-
2
-
-
20 hours ago, chomps said:
Hi vladislavbelov,
Thank you for your assist. I found the problem (which I should have noted in the beginning) In the error output it says "Location: ogl.cpp:480 (ogl_Init)"
ogl is openGL and the problem is it cant initiate the graphics. I looked around and found my graphics drivers were not loaded. I think a system update might not have added the modules into the new kernel. So if anyone else sees this you can check you graphics drivers first.
Thank you
You're always welcome. So, I think your problem is solved, I'm glad to hear it.
-
1
-
-
So you can't continue after that, right? Also do you have interestringlog.html in the same folder?
-
Hi @chomps and welcome to the forum!
Could you attach crashlog and systeminfo?

Unable to start in Arch Linux (Segmentation fault)
in Help & Feedback
Posted · Edited by vladislavbelov
We don't use DBus in a direct way, so the issue could be in the system configuration, drivers or libraries that we use. But I found few same issues (not really depended on the DBus using):
https://bbs.archlinux.org/viewtopic.php?id=227587
http://talk.maemo.org/showthread.php?t=34918