Freelancer Community Network
Reminder: Internet Explorer 6 or below are NOT supported.
HomeHome
ForumForum
WikiWiki
DownloadsDownloads
ForgeForge
Multiplayer Connection Tutorial
Collapse/Expand Random Image
Collapse/Expand Login
Username:

Password:

Remember me



Lost Password?

Register now!
Collapse/Expand Chat
Collapse/Expand Who's Online
67 user(s) are online (31 user(s) are browsing Forum)

Members: 0
Guests: 67

more...
Collapse/Expand Donations
Monthly costs: -30€
Income (ads): +5€
Donations (last month): +5€

Current balance: 0€
(last updated 06/2020)

Please make a donation if you want to help keeping The-Starport online:

Bitcoin address:
Thanks!
Collapse/Expand Links
Collapse/Expand Advertisement
There are currently 45 users playing Freelancer on 44 servers.
July. 6, 2020
The Starport Forum Index > All Posts (WhiskasTM)

Bottom Bottom   Previous Topic   Next Topic

(1) 2 3 4 5 »


Re: Librelancer 2019.08
Not too shy to talk
Joined:
2011/11/22 17:43
Group:
Registered Users
Posts: 72
Offline
The game engine crashes on intro scene's end (in New Game start) for me.
Code:
GL Error: Invalid Value
   at LibreLancer.GL.CheckErrors()
   at LibreLancer.UniformBuffer.BindTo(Int32 binding, Int32 start, Int32 count)
   at LibreLancer.BasicMaterial.Use(RenderState rstate, IVertexType vertextype, Lighting& lights)
   at LibreLancer.CommandBuffer.AddCommand(RenderMaterial material, MaterialAnim anim, WorldMatrixHandle world, Lighting lights, VertexBuffer buffer, PrimitiveTypes primitive, Int32 baseVertex, Int32 start, Int32 count, Int32 layer, Single z, DfmSkinning skinning)
   at LibreLancer.Utf.Dfm.DfmMesh.DrawBuffer(CommandBuffer buffer, Matrix4x4 world, Lighting light, Material overrideMat)
   at LibreLancer.Utf.Dfm.DfmFile.DrawBuffer(CommandBuffer buffer, Matrix4x4 world, Lighting& light, Material overrideMat)
   at LibreLancer.CharacterRenderer.Draw(ICamera camera, CommandBuffer commands, SystemLighting lights, NebulaRenderer nr)
   at LibreLancer.SystemRenderer.Draw()
   at LibreLancer.RoomGameplay.Draw(TimeSpan delta)
   at LibreLancer.FreelancerGame.Draw(Double elapsed)
   at LibreLancer.Game.Run()
   at lancer.MainClass.<>c__DisplayClass0_0.<Main>b__0()
   at LibreLancer.AppHandler.Run(Action action, Action onCrash)

Recent daily build.

Another crash was about [; parsing aka disabled ini section when i tried to load a mod. I'm running virtual machine actually, wherein 4.7.1 NET is installed only. Systemviewer is stable for me though.

______

Looks like i fixed parts in my code by resetting cached material index when a new different part starts rendering https://pastebin.com/yru1Rq7E

Posted on: 6/15 2:16
Top
Topic | Forum


Re: Librelancer 2019.08
Not too shy to talk
Joined:
2011/11/22 17:43
Group:
Registered Users
Posts: 72
Offline
It's rendering optimization/resorting.

Well, there's another bug that came in sight both in my attempts and LibRelancer: not all parts' maxtrices are applied in real.

These are 3 Aurora nebulae in Ku02 system in original Freelancer:
Open in new window

Open in new window

Open in new window


But in SystemViewer all three are rendered in one position:
Open in new window

Open in new window

Open in new window


starsphere_ku02.cmp

Mine renders same as i started "optimizing". Unlike old archieved build, where i used to reapply shader on each mesh and reset matrices for each part, but that, of course, impacts performance. (images are HD just in case, right click - open, my browser cuts large previews here so i reduce them)

I'm personally planning to bind a buffer of part indices parallel to vertices and allocate Parts[MAX_PARTS] in a shader. More no thoughts yet.

About blending, texture's runtime format is incorrect. In my code (and this is Direct3D) there's a conversion:
Code:
          Alpha := FreeImage_IsTransparent(Targa);
          if Alpha then
            Format := DXGI_FORMAT_B8G8R8A8_UNORM else
            Format := DXGI_FORMAT_B8G8R8X8_UNORM;
All i know is this makes match Freelancer in drawing starspheres.

Posted on: 6/14 11:23
Top
Topic | Forum


Re: Librelancer 2019.08
Not too shy to talk
Joined:
2011/11/22 17:43
Group:
Registered Users
Posts: 72
Offline
Pre sort them https://pastebin.com/Sdj3vvwz
This is a test for Indexed this time.
But i'm unaware of the OpenGL pipeline and whether it shares same approach, various contexts, reusage of shaded contexts and so on.

In current code the 3db model contains ~6000 _3d structures for making calls to DrawIndexedXXXXX. However, they're ordered by a material so calls to shading context occurs 3 times only. Calls to draw don't matter almost as shaded context for a particular material is reused.

ps
I'm unable to measure CPU load because of 8+8 cores on modern hardware. Task manager shows 6-8% lol. Gotta surf the web for some specialized tool.

Posted on: 6/8 14:59
Top
Topic | Forum


Re: Librelancer 2019.08
Not too shy to talk
Joined:
2011/11/22 17:43
Group:
Registered Users
Posts: 72
Offline
The model is from Y-Universe combomod, made of many tiny (4-6 vertices) details being of same material ID. Technically, 65536 vertices are allowed per 3db, I just hope the number is not treated as 32767.

Details in this model are unique, possible optimization approach isn't clear. However, Freelancer and UTFEditor turned out being able to handle it just fine.

Without looking at above test, the solution is just streaming meshes into vertexbuffer by material, not by the order known as "for i = Ref.StartMesh to Ref.MeshCount".

Posted on: 6/7 5:47
Top
Topic | Forum


Re: Librelancer 2019.08
Not too shy to talk
Joined:
2011/11/22 17:43
Group:
Registered Users
Posts: 72
Offline
Latest SystemViewers work for me, but not gameengine itself. Some of previous daily builds work, some don't.

And this:
Open in new window


~6 FPS

Here's that model, Kavash_Base_3:
https://www79.zippyshare.com/v/VNS8ymtR/file.html

~6000 meshes of 3 materials.
I fixed that by making meshes of same material lie in one line inside of a vertexbuffer, combined same into single, and eliminated index buffers as well. Current tested snippet in pascal https://pastebin.com/RZy9VNs2

Open in new window

Open in new window


Well, that's fun, but wrong rendering and black screen are my regular companions)

Posted on: 6/6 3:46
Top
Topic | Forum


Re: MultiUniverse
Not too shy to talk
Joined:
2011/11/22 17:43
Group:
Registered Users
Posts: 72
Offline
That's original hardcoded stretch inside game.
I.e.:
Open in new window


But what actually was expected is:
Open in new window


One way is applying the hack:
Code:
freelancer.exe 1D3C48 1.5d = stretch texture of universe map, x axis ~WhiskasTM
Bwah, actually turned out to be the y axis))
Change 1.5d (double precision float value) to 1.325. That should enforce ALL slots from the texture to be squared.

Another way is modifying a single slot in painting software, with reducing the one vertically by several percents. Not whole texture, but only a specified slot from such a checker texture, thus the game will stretch it back in runtime.

Posted on: 5/23 23:00
Top
Topic | Forum


Re: MultiUniverse Beta
Not too shy to talk
Joined:
2011/11/22 17:43
Group:
Registered Users
Posts: 72
Offline
Rewritten from scratch. Attached in first topic.

The new stuff:
• Special button for whole universe map.
• Set colors of paths in whole universe map.
• Select background by column and row in the texture.
• [30 April 2020] Support for Territory plugin. 32 labels per map is allowed.
• [30 April 2020] NavStarScale in universe and maps.
• [30 April 2020] Handled closing Info box that was causing to redisplay all labels.
• [01 May 2020] Fixed support for Territory plugin.

Open in new window

Open in new window

Open in new window


The multiunvierse.ini contains all descriptions.
The code is clean now, assembly is in hooking only (for passing arguments).

Ehm.. edited existing post

Posted on: 4/25 2:22
Top
Topic | Forum


Re: About HUD edit
Not too shy to talk
Joined:
2011/11/22 17:43
Group:
Registered Users
Posts: 72
Offline
Don't how 'bout you, but i've made FINAL breaking change. And the change is removed "Facility" suffix, so it is now just Hud.dll that exports _IHud void.

To be consistent i've recompilied HudStatus/HudTarget/HudWeapongGroups that are used in Adv Hud Mod. And included HudShip.dll to activate/deactivate cloak/lights. The currently shipped hud.ini (that should be placed in EXE\) contains settings and descriptions for HudShip (thus customizable a little).

And rewrting pascal units as well (do not treat classes as pascal's ones, those are abstract, pure pointer from the game). Thus any method exposed in IDE from TObject are ILLEGAL to use. Will going to redo MultiUniverse in plain pascal from now, with much better readbility and better sections/lists/columns/rows names & defines so everything should become much easier to read and configurate.

Attach file:


zip Hud.zip Size: 264.35 KB; Hits: 38

Posted on: 4/22 18:48
Top
Topic | Forum


Re: Advanced Widescreen HUD
Not too shy to talk
Joined:
2011/11/22 17:43
Group:
Registered Users
Posts: 72
Offline
@Jeider
I can't reproduce the theory of moving away damaged ships. Here i made Anubis loose a wing then reloaded game, but the ship remains stay in the center. I rather think it's the issue in vanilla Drake.
Open in new window


Quote:

Gold_Sear wrote:
Quote:

WhiskasTM wrote:
Need to find exact thing: mouse down on static control.
I've found mouse over only, and that will result in becoming unable to highlight a ship's parts and select its weaponry.
Code:
freelancer.exe E7DF9 B001>30C0 = make target wireframe ignore all mouse events


Thanks, I'll try to do further investigation. This patch will indeed allow shooting through the target wireframe, but not, or only partially, through the contact and weapon lists.

Through background plane of target/status windows completely. This is sub_4E7D20 in freelancer.exe, floating maths should be subtracted by width of new target/status-windows. After that the next code should be incorporated, but currently it is standalone improved version of old hack:
Code:
freelancer.exe E7B7C FF501084C00F847E010000->83C4049090909090909090 = make cursor ignore the background plane of target and status windows, but support wireframe parts and equipment (doesn't apply to ROOT)  (PART 1)
freelancer.exe E7D5F D986840400008D867C040000D871088B10895424048B50048B4008895424088944240CD9C0D809D9->8B0D44686100A1406861008D542404528D5424085251508D4EC8E872FCFFFF85C07577E98C000000 = make cursor ignore the background plane of target and status windows, but support wireframe parts and equipment (doesn't apply to ROOT) (PART 2)

Apply and disassemby will show the call to special function that returns a part of wireframe under cursor. However, the function doesn't return root of the model (returns 0).

Posted on: 4/22 18:22
Top
Topic | Forum


Re: Advanced Widescreen HUD idea (required help with HUD visibility options)
Not too shy to talk
Joined:
2011/11/22 17:43
Group:
Registered Users
Posts: 72
Offline
Bonus two (5 and 6) parts. Those hide SwitchToTarget button eventually and keep formation/contact-list highlighted when pressed.
Code:
freelancer.exe CFE75 01>00 = always show target wireframe (PART 1)
freelancer.exe E203E 0F84>90E9 = always show target wireframe (PART 2)
freelancer.exe E20FF 74>EB = always show target wireframe (PART 3)
freelancer.exe E3CE0 0F858F020000>909090909090 = always show target wireframe (PART 4)
freelancer.exe E1F91 7460>9090 = always show target wireframe (PART 5)
freelancer.exe E36DA 08>30 = always show target wireframe (PART 6)


Open in new window

However, if loaded game had hud minimized the SwitchToTarget will also be visible until you click it or restore the hud. Then it disappears as planned.

Posted on: 2019/7/29 11:51
Top
Topic | Forum


Re: Advanced Widescreen HUD idea (required help with HUD visibility options)
Not too shy to talk
Joined:
2011/11/22 17:43
Group:
Registered Users
Posts: 72
Offline
Need to find exact thing: mouse down on static control.
I've found mouse over only, and that will result in becoming unable to highlight a ship's parts and select its weaponry.
Code:
freelancer.exe E7DF9 B001>30C0 = make target wireframe ignore all mouse events

Posted on: 2019/7/12 14:56
Top
Topic | Forum


Re: Advanced Widescreen HUD idea (required help with HUD visibility options)
Not too shy to talk
Joined:
2011/11/22 17:43
Group:
Registered Users
Posts: 72
Offline
Code:
freelancer.exe CFE75 01>00 = always show target wireframe (PART 1)
freelancer.exe E203E 0F84>90E9 = always show target wireframe (PART 2)
freelancer.exe E3CE0 0F858F020000>909090909090 = always show target wireframe (PART 3)


Open in new window


Now need to remove the 3 buttons. SwitchToContactList, SwitchToTarget and RequestTrade. HudShift refused to move them away off the screen for me (the simplest way i've tried).

And seems the LEVEL:N remains in the case of bases/planets/jumpholes etc. Incomplete hack.

Alright, this one:
Code:
freelancer.exe CFE75 01>00 = always show target wireframe (PART 1)
freelancer.exe E203E 0F84>90E9 = always show target wireframe (PART 2)
freelancer.exe E20FF 74>EB = always show target wireframe (PART 3)
freelancer.exe E3CE0 0F858F020000>909090909090 = always show target wireframe (PART 4)


Posted on: 2019/7/10 22:23
Top
Topic | Forum


Re: Librelancer 2018.12
Not too shy to talk
Joined:
2011/11/22 17:43
Group:
Registered Users
Posts: 72
Offline
Win-release: missing sdl2.dll and customized ciumgui.dll for the sake of SystemViewer (reports that igBuildFontAtlas function cannot be found).

Wrong. ok I got it. Both libraries are there, in x64 folder, but I had to copy them to the root of Librelancer for unknown reason. However, cimgui.dll crashes this way: https://i.imgur.com/YKmRAzD.png

(Alright, all libraries from x64 should have been copied to the root. Fixed! Looks like that's my own problem with dlls resolving, never mind)

Librelancer.Launcher works fine (after installed sdl2 manually). Small report regarding things that actually exists in the engine:
- A/D strafe are flipped! A moves to the right, D to the left.
- Player is spawn on entering new system right behind a gate. Wish move him about +2000m forward and left. Sort of like in the game.
- Selected tradelane is not reflected in Selected Object line(previous printed selection remains).

Can play, but don't know how to fly off a base after landed)

Posted on: 2018/12/15 6:57
Top
Topic | Forum


Re: Librelancer 2017.10
Not too shy to talk
Joined:
2011/11/22 17:43
Group:
Registered Users
Posts: 72
Offline
Okay, instancing worked, but recently I found specific model from Y-Universe combomod: its vms library contains 6150 meshes) And I was instancing by a model, not by a vmesh. One more task to complete cuz that single model is drawn 150 times slower than whole system.

Meanwhile here's my shader (DirectX 10.1) so far: https://pastebin.com/87JxG1qU

I feel it's written probably wrong because techniques look like were designed for a kind of object.

And pics in special places https://imgur.com/a/vNHdFxM

Trying to match freelancer's illumination idea. However currently:
- attenuation (inverse square or whatever square) has not been implemented yet. The Prenta from Omicron Alpha must be greenish all over surface.
- problems with "details" on planets. Currently I get planets either overbright, either overdark, no idea how to mix those dm, dm0, dm1 correctly so i just multiplied them with output by sqrt(2).
- strange Ac parameter that makes final result wrong in various systems. Commenting it fixed everything. May be it's used in sphere models exclusively...
- stupid transparency. Need sorting, rendering as is now.

Blending starspheres is fine this time. I was getting absolute colors, too, but no idea what been changed to fix it. BlendState Starsphere does all job. Starchart with now Librelancer helped a LOT to dig those "shaders", and GLSL HLSL are alike.

___________

Forgotten to mention opacity/order glitch in Librelancer: https://i.imgur.com/wI61cMy.png

Meantime Freelancer does not perform two-sided rendering for some reason: https://i.imgur.com/bQugOli.jpg I've just noticed!

Posted on: 2018/12/3 2:48
Top
Topic | Forum


Re: Request: save/load for plugins
Not too shy to talk
Joined:
2011/11/22 17:43
Group:
Registered Users
Posts: 72
Offline
Anyway, I've looked at gta's plugins and those keep data externally (ini, txt files). Indeed, players may play any savegame without being annoyed about would-be hardcoded progress inside ones because of some plug-in. Retiring the idea, I suppose.

Posted on: 2018/6/27 14:23
Top
Topic | Forum



Top Top
(1) 2 3 4 5 »



[Advanced Search]