SRB2 Message Board  

Go Back   SRB2 Message Board > Sonic Robo Blast 2 > SRB2 Discussion

Reply
 
Thread Tools Search this Thread
Old 05-25-2017   #5701
CobaltBW
Community Noise Maker
Developer
 
CobaltBW's Avatar
Default

Quote:
Originally Posted by Lach View Post
Does it need a purpose?
If I might interject, we seem to be talking about feature creep. Here's the problem with feature creep: with every feature that is added for a modder's convience, an extra inconvenience is created for whoever maintains the source code. When mandatory game changes are made, extra compatibility issues need to be addressed for optional features, and additional bugs need to be fixed. It's the reason old unused game modes get removed, and why some people are just fucking tired of having OpenGL around.

This is not to say that having secondary colors as a base feature in SRB2 modding is necessarily a bad idea or unworkable; I know too little of the source code to make that judgment from a technical standpoint. But it's important to weigh the benefits against the potential for future headaches. As Mystic has explained, modders have already created workarounds to allow for the kind of palette changes they need, so there isn't a lot of incentive to work the feature into vanilla. There might be more incentive if someone were to demonstrate a clean, easy way to work in secondary colors that isn't likely to break in the future.
__________________
~CobaltBW

Check out my soundcloud profile for music stuff

Last edited by CobaltBW; 05-25-2017 at 04:43 AM.
CobaltBW is offline   Reply With Quote
Old 05-25-2017   #5702
Lach
nanananananananananananan a
Moderator
 
Lach's Avatar
Default

Quote:
Originally Posted by CobaltBW View Post
Here's the problem with feature creep: with every feature that is added for a modder's convience, an extra inconvenience is created for whoever maintains the source code. When mandatory game changes are made, extra compatibility issues need to be addressed for optional features, and additional bugs need to be fixed.
The suggested method for adding the secondary colors feature is to set up a secondary swappable palette color. Now, for the sake of the argument, let's say that the actual implementation of creating a second swappable palette color is actually quite simple—which it theoretically should be, since we already have color swapping code—in this case I don't think there'd actually be anything to maintain at all. Currently, an object's skin color is stored as a variable, which can also be set to SKINCOLOR_NONE to signify no color change. Adding a second color would merely add another variable to this mix. Apart from that and the assumed minor source code change, I can only see one large disadvantage: the need for a default secondary color to be established.

For primary color changing, the default startcolor is green. This usually isn't an issue, except for objects that need green as part of their regular palette—which STILL isn't much of an issue unless it also needs to change the color of a different part of its body. This is why character skins can set their own startcolor, so that the game can change a different color while keeping the green parts intact (such as Knuckles in 2.0). However, no such variable exists for actual objects yet. If a secondary color were to be added, this would almost certainly be a necessity, because it creates the issue of sprites lacking green but containing the default secondary color only changing color when the secondary color is changed. This adds a whole new detail complexity where many sprites have differing values for startcolors and prefcolors. (Though, this whole issue can probably be worked around by having the secondary color feature only apply to players.)

So yeah, that's my way of thinking about the two sides of the argument—again, all under the assumption that implementing secondary colors would not be painfully difficult. If it is in fact not as simple as I think it is, then yes, maintaining the new feature may be an issue.

Quote:
Originally Posted by CobaltBW View Post
As Mystic has explained, modders have already created workarounds to allow for the kind of palette changes they need, so there isn't a lot of incentive to work the feature into vanilla. There might be more incentive if someone were to demonstrate a clean, easy way to work in secondary colors that isn't likely to break in the future.
Quote:
Originally Posted by Lach View Post
Also, the current method for modding secondary colors in is really inefficient, as you first of all have to make a whole separate set of sprites, and then in game they're rendered as separate overlay objects.
The idea behind my above quote was that adding secondary colors as a vanilla feature is actually the "clean, easy way to work in secondary colors that isn't likely to break in the future." Not that the current method is unclean at all; the only big issue with it is that it requires an extra set of sprites to be made, which is hardly ever really worth doing.
Lach is offline   Reply With Quote
Old 05-25-2017   #5703
frozenLake
 
frozenLake's Avatar
Default

I have to agree that I would highly prefer having an internal, colormap based method instead of the overlay method that my mod uses. Especially when you get involved with stuff like speed shoe after images where it wouldn't change color if you have an overlay.

Question is, if we did have startcolorb and colorb in vanilla, would this result in model_blendb for opengl being a thing? Because that does seem like a logical consequence, if support is carried over.

Problem is that its a slippery slope. Have a second color range? Great, now add a third. and a fourth.
frozenLake is offline   Reply With Quote
Old 05-25-2017   #5704
toaster
トースタちゃん
 
toaster's Avatar
Default

It's clear that nobody who actually knows how the game handles colour remapping internally has offered their two cents, so I guess I'm here to clear things up.



Here's the 2.2 palette in its current state. This is loaded into the game via the PLAYPAL lump. It consists of 256 indicies.



Here's a visual representation of how SKINCOLOR_BLUE is stored in memory (in actuality, it's a 256-long string of numbers - but the visual representation helps better). There are 29+(9*5) = 74 different non-SKINCOLOR_NONE skincolour slots in use in 2.2 at the moment. That number is squared when secondary colours are enabled, to 5,476 slots (and that's not taking into account full remaps such as the Brak boss pain flash, either). That is 1,401,856 8-bit numbers in a row, sitting in memory, most of them unused at any given point in time.

This is a feature I want, so never say never - but it's not technically feasible given the current implementation of skincolours.
__________________
Quote:
<fickle> giant robo-hood that rips the map apart with her bare hands

Last edited by toaster; 05-25-2017 at 01:43 PM.
toaster is offline   Reply With Quote
Old 05-25-2017   #5705
ProtoBlur
Sweet!
 
ProtoBlur's Avatar
Default

Quote:
Originally Posted by ProtoBlur View Post
Would it be possible to allow 2P save files?
I hate to do this kind of thing but I'm pretty curious.....
ProtoBlur is offline   Reply With Quote
Old 05-25-2017   #5706
frozenLake
 
frozenLake's Avatar
Default

Honestly, something I'd like to see, is for recording demos in multiplayer to become supported. That way, after you have finished recording, you could replay the demo and view the game in spectator mode.
frozenLake is offline   Reply With Quote
Old 05-25-2017   #5707
Lach
nanananananananananananan a
Moderator
 
Lach's Avatar
Default

Quote:
Originally Posted by toaster View Post
There are 29+(9*5) = 74 different non-SKINCOLOR_NONE skincolour slots in use in 2.2 at the moment. That number is squared when secondary colours are enabled, to 5,476 slots (and that's not taking into account full remaps such as the Brak boss pain flash, either). That is 1,401,856 8-bit numbers in a row, sitting in memory, most of them unused at any given point in time.
Wait, what? Why do you need to add more slots? Is it impossible to program a skin to convert two different colors to two completely different colors using separate variables? I don't really know anything about the source code, but I always thought that if it is possible to change one range of colors on a sprite to another range that it would be feasible to do the same to another range on the same sprite.

EDIT: Oh never mind, I get it now.

EDIT 2: Ah, but then how do player skins with different startcolors work?

Last edited by Lach; 05-25-2017 at 05:59 PM.
Lach is offline   Reply With Quote
Old 05-25-2017   #5708
toaster
トースタちゃん
 
toaster's Avatar
Default

They take up more space! Startcolor was a mistake.

(I will note that I made a mistake in the post above and they're "cached" whenever you change skin or change colour, not always stored. That still means that you use more memory if you change skincolours a lot, at least.)
__________________
Quote:
<fickle> giant robo-hood that rips the map apart with her bare hands

Last edited by toaster; 05-25-2017 at 06:56 PM.
toaster is offline   Reply With Quote
Old 05-25-2017   #5709
CobaltBW
Community Noise Maker
Developer
 
CobaltBW's Avatar
Default

Quote:
Originally Posted by Nomekop View Post
Problem is that its a slippery slope. Have a second color range? Great, now add a third. and a fourth.
It's very rare for any character design to consist of more than two dominant colors, so I don't think this is a fair argument.
__________________
~CobaltBW

Check out my soundcloud profile for music stuff
CobaltBW is offline   Reply With Quote
Old 05-26-2017   #5710
TelosTurntable
Or, "TelosTurntable"
 
TelosTurntable's Avatar
Default

So skincolors are just poorly implemented and we could get secondcolors if they were done right?

coolbeans
TelosTurntable is offline   Reply With Quote
Old 05-26-2017   #5711
Mystic
チェン!
 
Mystic's Avatar
Default

It's just a lot of work for very little gain. Hence why I was pointing out the marginal benefit of the feature. Nobody outside of original character do not steal children cares if you can change the color of Sonic's shoes.
Mystic is offline   Reply With Quote
Old 05-26-2017   #5712
Ritz
Subhedgehog
Developer
 
Ritz's Avatar
Default

Need "Copy frontside floor/ceiling slope from line tag's floor/ceiling" actions so that we can merge FOF slopes with sector slopes.
__________________
https://twitter.com/FUNKVESSEL
Ritz is offline   Reply With Quote
Old 05-30-2017   #5713
Voros
 
Voros's Avatar
Default

True-color multi-threaded software renderer please. GZDoom added it this year, and I believe it would be a nice addition for SRB2.
Voros is offline   Reply With Quote
Old 05-30-2017   #5714
Rob
 
Rob's Avatar
Default

You are aware that we are not GZDoom and do not have an even similar codebase, correct? We can't just port over their rendering code to make that happen, even if we wanted to.
Rob is offline   Reply With Quote
Old 05-30-2017   #5715
glaber
Emblem Radar Ready
 
glaber's Avatar
Default

Quote:
Originally Posted by Ritz View Post
Need "Copy frontside floor/ceiling slope from line tag's floor/ceiling" actions so that we can merge FOF slopes with sector slopes.
If you mean connect the "floor" (control sector celing) of an fof slope with a near by Sector Slope, you just have to set up the sector slope differently.
__________________
Welcome to my Dimension
glaber is offline   Reply With Quote
Old 05-30-2017   #5716
RomioTheBadass
PK3 Fetishist
Default

I think he meant something like this.
__________________
Also known as "RTB" on Discord
Quote:
I don't need sex because Azure Temple fucks me everyday
RomioTheBadass is offline   Reply With Quote
Old 05-31-2017   #5717
Sky The Destroyer
 
Sky The Destroyer's Avatar
Default

Not really sure if this would be wanted (definitely not needed), but I think it would be nice if SRB2's data files (rings.dta, player.dta, zones.dta, music.dta, patch.dta) were put into a subfolder like /data on installation as to lessen the mess of files in the folder already.

SRB2 can already load its .dta files from a subfolder; all that would have to change is that the installer would need to just put the files in a different location, which I'm sure is not hard at all. 2.2 would be a perfect time to do this change.

Preferably we would even go further and allow the rest of the files (srb2.srb, the DLLs, autoexec.cfg, config.cfg, gamedata.dat, md2.dat, and the save files) to be loaded from subfolders, but I'm not sure how feasible going that far would be.
__________________
<SkyTheDestroyer> Why does the Master Server delist my server once it hits 32/32?
<SpiritCrusher> Your server has attained GOD STATUS
<SpiritCrusher> The MS can't display it anymore

Last edited by Sky The Destroyer; 05-31-2017 at 03:46 AM.
Sky The Destroyer is offline   Reply With Quote
Old 05-31-2017   #5718
Voros
 
Voros's Avatar
Default

Quote:
Originally Posted by Rob View Post
You are aware that we are not GZDoom and do not have an even similar codebase, correct? We can't just port over their rendering code to make that happen, even if we wanted to.
I'm aware that they both have different codebases. I was using GZDoom as an example of a port with that feature.

Who knows? It might be possible someday, even if it takes a long development time.
Voros is offline   Reply With Quote
Old 05-31-2017   #5719
Phantom-blade
Door
 
Phantom-blade's Avatar
Default I hate this part of RVZ.

Can we all agree that this part of RVZ is bullshit? I can't get through it without using the wind shield, Knuckles and Tails and more. Maybe just raise up the ceiling a bit more, then we're good. Because it's bullshit for Sonic players, it's just that much of a dick move.
Phantom-blade is offline   Reply With Quote
Old 05-31-2017   #5720
Monster Iestyn
Fangtastic
Administrator
 
Monster Iestyn's Avatar
Default



Tbh this wasn't all that hard to do, you just need to jump low enough to get past them.
__________________
My page stuffed full of MIDI goodness!
The Hitchhiker's Guide to the Robo-Hoodiverse
Timeline of Sonic Robo Blast History!

That's an uppercase i, not a lowercase L, for the record. Also, it's pronounced "Yes-tin".
Monster Iestyn is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Some suggestions..... Konata123 SRB2 Discussion 3 03-30-2011 03:01 AM
I want some suggestions/reviews, please. Shadow Hog Outdated Releases (0.X & 1.X) 22 10-31-2006 01:45 AM
Question about a few 1.1 suggestions SSNTails Help 11 01-07-2006 04:27 AM
My suggestions RenegadeC Help 41 10-18-2005 09:51 PM


All times are GMT. The time now is 04:08 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2020, vBulletin Solutions, Inc.