Jump to content

sukhoi191

Member
  • Content Count

    10
  • Joined

  • Last visited

  • Medals

Community Reputation

26 Excellent

About sukhoi191

  • Rank
    Private

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. sukhoi191

    Persistent Save System

    Thanks @LSValmont, I'll do my best to make it MP compatible when I find some free time 🙂
  2. Project URL: https://gitlab.com/sukhoi191_a3/arma-3-persistent-save-system While I was playing Ravage mod, a lot of problems with the official save system emerged after time, since it probably wasn't created with long-term missions in mind (I mean like 50+ hours spent on a single mission). Most prominent issues I came across were: worsening performance, probably due to a lot of stuff that was saved and wasn't really necessary for Ravage playthrough, for example: every single damage to every single building, even if you just accidentally tapped one with a car; compatilibty issues - while fixing save file after minor version update was pretty easy, I wasn't able to fix it after major version update, which I think is expected, since major version change can make some things incompatible (this was also the last straw that made me start this project); gameplay issues (at least in Ravage), for example: actions taking forever to perform and very long saving / loading times. After playing Antistasi, I was pretty amazed by its save system, which was using profileNamespace to save data. It's elegant and easy to backup, as long as you keep separate ArmA 3 profile for each mission using this save system. Unfortunately, it doesn't seem to be written with reusability in mind. Considering all this, I've decided to write my own persistent save system, which is based on Antistasi idea (i.e. using profileNamespace). I've tried to make it as extensible as possible. I wasn't considering MP while working on this project and I'm pretty sure it's currently SP only, but I have no problem with extending it for MP as well, although I can't really do that right now, since I'm lacking some knowledge in that matter. If you know more than me and think that it's worth your time, you can certainly help with making it happen 🙂 I'm using it for Ravage and it works flawlessly. Currently, it's in alpha stage, since noone besides me really tested it. Of course, there's a lot of room for improvement, but here's what's implemented right now: Saving and loading data of: units (class, damage, position, direction, equipment, side, skill, full identity, rating, stamina + fatigue, formation, variables, orders, team color, units in group (if given unit is a leader), vehicle if unit is inside one); vehicles (class, fuel, damage, cargo, position, direction, turrets data, materials, textures); containers (class, cargo, position, rotation); specified variables from any namespace; map markers (appearance, position, rotation, text, user-defined). Simple trigger-based radio save system (1-9 are slots, 0 is used for saving - save is created automatically on the oldest slot). Action for marking / unmarking given vehicle for save (it can be easily extended for other object types as well). What I want to be done in the future: Releasing Ravage mission with this mod built-in, along with some other helpful stuff. It's WIP and I think it should be ready pretty soon. Making it into a Module (currently, I have no idea how to do this, I'm not really an addon guy). Creating GUI for saving, since radio-based system isn't that great, as it doesn't let you choose the slot on which the game will be saved and prevents you from using radio for other purposes. I think a custom GUI in game menu can be created with CBA (?) Extending saved data along with BI extensions of scripting language. Stuff described on issues page. Any suggestions, criticism, ideas and help in development will be greatly appreciated! Let me know, what you think about this project 🙂
  3. @pierremgi You're right, they are in 3den. Found them thanks to the class names provided by @M1ke_SK. Thank you very much for your help 🙂
  4. For quite some time, I'm trying to find a way to create an ammo box with unlimited (or limited, but having high enough capacity to be considered practically unlimited) cargo space, without having to create a separate mod. There's exactly something like this in Old Man scenario - a small ammo crate in protagonist's house, in which you can put anything you want, as much as you want. I didn't find a separate ammo crate in Eden editor, so does anyone know, how did they achieve that and if it's possible to use it in our own scenarios?
  5. sukhoi191

    Fwatch General Scripting

    Hey faguss, it seems that your website is down. Are there any chances for fixing this problem?
  6. sukhoi191

    Fwatch Request List

    Thanks. I'm not sure if it's not an irony, but I just really like this idea and I'm curious if it's possible to do or not, even if it won't work efficiently enough to actually use it in missions. Seems like even predefined function that calls wget doesn't work for me, it crashes CWA with the same reason as fgets mentioned in one of the previous posts. I wonder if it's not an OS-related issue (Windows 10). Microsoft just loves to gradually restrict access for applications, which generally isn't a bad idea, yet I miss Windows 98 in this matter. One could delete whole Windows folder, while Windows was still running. I think I'll try to get some info on MSDN forums.
  7. sukhoi191

    Fwatch Request List

    Thanks for the answer! I'm surely gonna check it out this weekend. I must admit wget is a pretty clever approach. While being at it, my idea is to manage most mission's logic externally by another application. I think it would be much cleaner, easier to maintain and powerful than writing the same thing using only OFP's scripting language. Not to mention all of the other possibilities, such as using a database. It would work like this: Create a new "agent" function in fwatch source code (it would send input acquired from OFP's script, then wait and read the output from external application). Input would consist of a command name and optionally parameters, let's say: IS_OWNER PLAYER CAR1. External application reads the input. External application's parser processes the input and calls proper method / function / whatever accordingly. fwatch gets an output from external application, for example as an array, which I've already mentioned in my previous post. Main advantage of this solution: it would be very, very flexible. One could provide it's own program without the need to change anything in fwatch. Just provide the path to the executable, make sure it's there, parse the input (which could be totally different than my aforementioned proposal) and return something in format of OFP's array. One more thing comes to my mind - what about upgrading fwatch project files to Visual Studio 2015? This may seem as a trivial question, yet I guess you have some good reasons to keep it in the older format? Surely upgrading isn't as easy as using officlal VS's project upgrade feature, as it doesn't compile anymore. I didn't really try that much to fix it, but I will in the free time. Adding described external logic to fwatch could also work, but it would limit us to using C++ as a main language and we would have to recompile it every time and swap DLL, instead of doing so only with our external program in case of any changes.
  8. sukhoi191

    Fwatch Request List

    Hey faguss! Do you think it's possible to launch another application from CWA / OFP thread and send the output to the game? I have already tried to do it simplest way possible, as I'm not the biggest fan of WinAPI: char buffer[256]; FILE *fp = _popen("test.exe -c xxx", "r"); QWrite("[", out); int first = 1; while (fgets(buffer, 256, fp)) { if (first == 1) { QWrite("\"", out); first = 0; } else { QWrite(",\"", out); } QWrite(buffer, out); QWrite("\"", out); } QWrite("]", out); _pclose(fp); test.exe prints all of passed parameters. I want to return them as an array to CWA - it doesn't serve any purpose, but that's just for the sake of simplicity of testing. CWA crashes after executing this code. Here's the reason from crash dump: I can't really find anything useful on Google. The error is obvious, yet I don't have any idea on how to fix it or if it's even possible to do. What's also worth mentioning, it doesn't crash on _popen. It's fgets(buffer, 256, fp) that messes things up. Is there some "special" folder which won't cause any cries about privileges when CWA tries to execute something in it?
  9. sukhoi191

    ECP installer music

    I have no idea, why I didn't check it before, as I should've done it at the very beginning: Tim Pink - Music composition & production It seems it was composed specifically for ECP, so I guess there's no version in better quality, although I'll try to reach this guy :) Thanks!
  10. sukhoi191

    ECP installer music

    Hello! I know it's been a while (11 years?) since ECP was released, but I'm sure most of you remember, how awesome it was! A couple of days ago I stumbled upon installer of aforementioned mod and all those good, nostalgic memories just exploded in my mind, partially thanks to the installer theme. So, anyone knows, what is this music? Was it recorded specifically for ECP? Is it a cover? Original? Here's a file from setup executable: https://www.dropbox.com/s/qgu9j2et2txo8sh/Anthem.wav That's all there is. Just "Anthem.wav" with no tags. I would really appreciate to know, who composed it and if I can find a vesion of this epic instrumental in better quality. Thanks!
×