Recent Posts

Pages: 1 2 [3] 4 5 ... 10
21
Outpost 2 Update / Re: Updates for Outpost 2 1.3.8
« Last post by Arklon on December 01, 2018, 12:50:08 PM »
The NetHelper update alone is enough to warrant a minor update. The console mod loader bug in 1.3.7 was really annoying, so that bugfix alone would also warrant a minor update. I have some minor updates to NetHelper that I could merge in, but it was mostly just switching all the multithreading to use STL <threads>, and code cleanup which you've duplicated some of yourself anyway, so meh.
22
News / Re: Community Newsletter, 2018 Q4
« Last post by leeor_net on December 01, 2018, 07:44:01 AM »
There was supposed to be a corresponding e-mail with this but it seems the email server barfed on it... Will try to push it out again soon. :D
23
Game Discussion General / Re: Empires of Eradia: The Cataclysm of Chaos - Alpha V23
« Last post by Hooman on December 01, 2018, 02:55:48 AM »
Ok, I kind of have to lol at "Holy Hand Grenade".

The character color change seems like a good and intuitive idea.
24
Computers & Programming General / C++ Trailing Return Types
« Last post by Hooman on December 01, 2018, 02:42:26 AM »
Thought I'd leave a link here. I'm starting to see trailing return types more and more in C++ code, especially regarding templates:
arrow operator (->) in function heading

The example being:
Code: cpp [Select]

template <typename T, typename T1> auto compose(T a, T1 b) -> decltype(a + b) {
   return a+b;
}


The -> introduces the return type, and it does it after the argument list, so that identifiers in the argument list (a and b) are in scope, and so can be used in the decltype expression.

I originally saw trailing return types with lambdas, though it seems it can be used with regular functions too. Mainly, I see it used with template functions.



I recently saw this syntax used in combination with std::enable_if, which is typically used on the return value of a function to conditionally enable template expansion for only certain types.

The OP2Utility project makes use of enable_if (actually the related enable_if_t), and does so using the standard practice of putting it on the return type. Here's an example from OP2Utility:
Code: cpp [Select]

// Trivially copyable data types
template<typename T>
inline std::enable_if_t<std::is_trivially_copyable<T>::value> Read(T& object) {
ReadImplementation(&object, sizeof(object));
}


Here's what that same example would look like using a trailing return type:
(Note: There is no benefit to using the new syntax here, it's just an example of the new syntax):
Code: cpp [Select]

// Trivially copyable data types
template<typename T>
inline auto Read(T& object) -> std::enable_if_t<std::is_trivially_copyable<T>::value> {
ReadImplementation(&object, sizeof(object));
}


Note that enable_if_t<Type> (with the trailing "_t") is a shorthand alias for enable_if<Type>::value.



The reason the return type is wrapped with enable_if, is to make use of another language feature, SFINAE (Substitution Failure Is Not An Error), to get the job done. That's a whole other topic, but in short, if type substitution results in a case you want to support, then the enable_if expression evaluates to the desired type (the return type) of the method, otherwise the enable_if expression accesses a field/alias (::value) which doesn't exist (effectively an error in normal code), but since SFINAE, it's not actually an error, and so the compiler simply discards this template from consideration for this type, rather than halting compilation with an error.
25
News / Re: Community Newsletter, 2018 Q4
« Last post by White Claw on November 30, 2018, 10:28:03 PM »
Thanks for the shout out, Leeor! And nice job with the news letter. Nice to hear some of what's going on, and I didn't know about Crow's videos. :)
26
Feedback/Suggestions/Problems / Re: SVN Certificate Issue
« Last post by Vagabond on November 27, 2018, 08:12:33 PM »
I've tried the SVN server on two different occasions recently and it now appears to be out of commission. Anyone else have better luck?

Trying to update the changelog in the Outpost 2 game download trunk and push changes to a new scenario for safekeeping.

Thanks,
Brett
27
Outpost 2 Update / Re: Updates for Outpost 2 1.3.8
« Last post by Vagabond on November 27, 2018, 06:39:29 PM »
Agreed the multiplayer issue is a big and clear problem.

For the next update we have completed:

* Updated NetHelper to version 1.5.3
   - Updated to newer versions of libnatpmp and miniupnp.
   - Cut down cleanup/destruction on application closing from 3 mins to 8 secs.
   - Removed dependencies on msvcr100.dll and msvcp100.dll by statically compiling.
   - Removed deprecated POSIX networking functions.

* Updated op2ext to version 2.0.1
   - Fix bug in Console Mod Loader that separated the executable's path into multiple arguments if the path included a space.

I'm working on 3 projects right now:

 - Adding a logger to op2ext that can be called by modules like NetHelper. Using the std library chrono header for pushing a time and date stamp into the log.
 - Creating a new coop multiplayer scenario. It is about 2/3rds coded but not yet tested. Working with a new C++ programmer on it, so it goes really slowly as I'm teaching as I go. Scary that someone is listening to my programming advice. :|
 - Trying to get OP2MapImager released with bug fixes. Getting the unit tests to work has turned into a slog. This effort is separate from the next Outpost 2 release.

I'm putting a record low amount of time into Outpost 2 right now, so besides that and working on 3 projects progress is really slow.

The other thing I'd like to work on is fixing the old bug in blackbox's Plymouth Cold War scenario. Annoying that it has been broken for something like 10 years? Otherwise we should probably pull it.

Actually, with the 2 bugfixes, we could release a new version any day. I suspect the new NetHelper build will solve a decent number of multiplayer issues, but don't have much data yet. If the new NetHelper compilation works, it might be worth pushing out immediately to fix the multiplayer issue instead of waiting for other development.

If you pick the Novella back up, I'll certainly read.

-Brett
28
Outpost 2 Update / Re: Updates for Outpost 2 1.3.8
« Last post by dave_erald on November 26, 2018, 06:34:08 PM »
Afternoon peeps, what's shakin?

Little if you ask me, thanks.

I guess not as much of a rant as i had thought it was, i think it was more me venting about what i felt is the clear problem at the moment with this game.

I had seen icon and version number changes and read or thought very little else, that aside, what is planned for future updates?

Sorry, as a canadian i probably say that too much.  Anyways, to answer your question vagabond, i haven't forgotten about my novella, i just haven't been able to devote the time to it that it deserves, i've been neglectful of alot of things and people lately
29
Released Alpha V23:

-> Added powerful bosses that cannot be hurt by normal means. They can only be killed with a Holy Hand Grenade, and give roughly 2-4 times more loot and xp than a Treasure Fiend.
-> Made the character symbol change color to grey or black when stealthed; white when visible.
-> Changed Fabrication costs to create an Epic item with the Runic Cube of Fabrication.
-> Didn't manage to get any of the work for Artifacts started yet.
30
Outpost 2 Programming & Development / Re: Greenworld not so greener on the other side.
« Last post by Hooman on November 23, 2018, 02:21:04 AM »
Err, I think they should stay as separate VOLs. I'm not really sure what the copyright or licencing status is on the Green World stuff. Plus, I'm just in favour of keeping the original stuff separate from extension stuff.

@Fire Plague, the maps choose which tilesets they reference. You play a Green World map to see the Green World tileset. Not sure how well things would match up if you just replaced the original tilesets with the Green World ones. The tiles would likely be out of order. I suppose you could always try it and find out.
Pages: 1 2 [3] 4 5 ... 10