View Issue Details

IDProjectCategoryView StatusLast Update
0007514Multi Theft Auto : EirGeneralpublic2014-03-22 21:09
ReporterTheGTA Assigned ToTheGTA  
PrioritynormalSeverityminorReproducibilityN/A
Status resolvedResolutionfixed 
Summary0007514: Increased maximum visible objects/buildings; fixed R* crash when building is left in streaming arrays when destroyed; + core ess
Description

There are several game patches bundled in this, some of which relate to previous game fixes done by ccw (LOD distance crash, blinking).

The streaming arrays slip up crash has been found by me when working with a lot of custom models on MTA:Eir, causing the world to blink.

Another section of this patch bundle is the MTA:Eir fileSystem. Instead of using unsafe ANSI functions, which allow access to every location on the client computer, the MTA:Eir fileSystem allows the creation of translators to limit the access to a directory tree only. Uprooting from a translator root is prohibited, so system integrity is preserved. The toolchain comes with a path transformation API, like relative and absolute path parsing. If applied for all code, then the security of path transformation will be handled by the MTA:BLUE core, along with all file activities.

The fileSystem includes a .zip archive translator, so navigation in those compressed archives is easily possible. Documentation of the interface is present in the CFileSystemInterface.h header.

Applying this patch will greatly improve Eir and BLUE compatibility, so I will work on further merges, eventually coming to feature additions.

Additional Information

If you want to discuss this patch bundle, I will be available in the #mta.dev channel. I will try to be there this wednesday. Otherwise you can meet me at the weekend, when I have lots of leasure time.

TagsNo tags attached.

  Users sponsoring this issue
Sponsors List Total Sponsorship = EUR 1

2013-02-27 13:46: Exciter (EUR 1)
  Users sponsoring this issue (Total Sponsorship = EUR 1)

Activities

x86

2013-02-20 09:47

administrator   ~~0018161

What is MTA:Eir ... ?

TheGTA

2013-02-20 10:39

updater   ~~0018162

It is my personal project, a fork of MTA:BLUE. We have got a team at #mta.recore (mainly testers, awesome people). It was made to allow for fundamental design changes without full C++ backwards compatibility/community adaption. For users, it is known as the mod that fixed model support.

I want to merge the codebases together, so the whole community can profit from the Eir features.

Talidan

2013-02-21 18:25

administrator   ~~0018166

Could you explain what the purpose of the FileSystem is, in the current and long term of your project? You've explained some of the functioanlity, but I don't really understand why it's needed, what it does, how it fits into your vision, and what benefits it provides our users.

Thanks

TheGTA

2013-02-21 19:05

updater   ~~0018167

Last edited: 2013-02-21 19:07

The purpose of the FileSystem is to provide a secure framework for programmers and users/scripters. Programmers profit from an unified implementation. If applied correctly, PathJoin and IsValidFilePath are not required anymore (".." and "." functionality are added). Users/scripters will profit from more functionality. Browsing resource directories will now be possible using ScanDirectory. Creating FileSystem translators through Lua code is useful if a coder wants to create an isolated repository somewhere.
In my FileSystem, the CFile class represents a stream. It can originate from anywhere... network, HTML or local FS. The same concept is applied to a translator. I demonstrated this functionality by writing a .zip extension.
I recommend that all critical MTA code would use it. That is my vision. The patches I will apply work with the FileSystem. The most important use is the seamless integration into RenderWare RwStream. That allows us to load RenderWare resources from anywhere, if not from local FS.
Trading file streams instead of paths is more efficient, because, once again, resources can be allocated from anywhere, therefor adding more functionality to MTA functions. Paths are limited as they most likely point to local FS only. Otherwise they'd require parsing where ever they are passed to, which is not the case using file streams.

ata123456789

2013-09-05 22:26

viewer   ~~0019287

This project is still active? Any news?

CWanted

2013-09-14 11:00

updater   ~~0019322

Yes, it is still under development:
https://www.youtube.com/user/rplgn/videos
https://forum.mtasa.com/viewtopic.php?f=167&t=54607&start=45
https://code.google.com/p/mtasa-blue/source/browse/#svn%2Fforks%2Feir

Issue History

Date Modified Username Field Change