ID:133285
 
If I edit something inside of an icon, and I run the game, it automatically runs the game without asking for a compile, as it would do if I changed code. Shouldn't it ask for a compile before you run a game after you have edited something in an icon file as well?
Ya, this would be helpful. There's times I'm trying to do graphic fixes and I go straight to run and I don't get the newest version running because it didn't know there was a change in the icons.
In response to Dpheonix7
Get into the habit of hitting ctrl + k and ctrl + r.
In response to DivineTraveller
I never use ctrl anything on DM, but it does make sense that DM should ask to compile on dmi changes since it asks on everything else.
In response to Dpheonix7
Graphical edits aren't essential to the running of a game; code is.
In response to CaptFalcon33035
Then what about maps?
In response to Dpheonix7
Maps are compiled into the dmb file, not the rsc. Things that would alter the dmb require a new compile. Things that alter the rsc file won't. The best practice is just to learn how to compile by habit, using the keyboard shortcuts is a good way of doing that.
In response to Nadrew
True, but it seems that if everything else asks for a compile, why not icons too. Just makes the system a little more user friendly. Esp for those new to DM.
In response to Nadrew
Nadrew wrote:
Things that would alter the dmb require a new compile.

Actually, maps can be changed in the .dmb without requiring a re-compile of the entire game. Take a look at Hobnob's Mapsub, for instance.

-01000100010101000100000100110001001101000011000100110010-
In response to Dpheonix7
You are not wrong to suggest this, if anything the only argument made against you is the urgency of such a feature. Obviously when you go to run a game that has had map/code/graphics changed and not saved, the user friendly response would be to ask them if they want to do that. I have on a few occasions started up a test server to see some modifications made to the graphics only to realize that i had forgot to save the icons and as a result, wasted a few minutes as a result.
In response to Masterdan
I had some troubles with this in Chatters, and even wrote a system to validate the rsc against the compiled dmb, and not run the server if they failed to match. It didn't work out so well in practice, though because the hashes would match in cases of insignificant changes to the rsc. I can see a need for this.
In response to Android Data
Android Data wrote:
Actually, maps can be changed in the .dmb without requiring a re-compile of the entire game. Take a look at Hobnob's Mapsub, for instance.

The problem is that in order to just replace the map, the DMB has to have all of the up-to-date mappable objects and whatnot that can exist in the DMB with the same exact internal IDs and whatnot so that the map actually comes out right, which would require much much more work than just re-compiling the DMB and knowing that the information is right.
In response to Android Data
You completely missed the point of my post, he's not talking about screwing around with binary slicing.

Anyways, mapsub technically does recompile the dmb, it just doesn't actually allow any new data that would be coded in, just stuff avaliable by directly editing the map file.
In response to Xooxer
Yeah, this is not necessarily necessary. My suggestion is basically for convenience.
In response to Nadrew
Nadrew wrote:
Anyways, mapsub technically does recompile the dmb, it just doesn't actually allow any new data that would be coded in, just stuff avaliable by directly editing the map file.

That is a contradiction. When you compile, all the .dm files are combined and the resulting code is translated to bytecode and put in another file. When Mapsub is used, the file is directly modified with translations that have already been done. If anything, only minor translations -- like strings and integers -- are performed.

-01000100010101000100000100110001001101100011000100110010-
How about simply having a checkbox in Preferences that says something like "Prompt for recompile after resource changes", so everyone can set it how they prefer, per-project? That'd probably also work by adding a #define to the DME like FILE_DIR and DEBUG.
It should also have a slightly different alert message than when you modify code, to differentiate that you've modified resources only, and perhaps it should have 3 buttons: "Yes" (recompile & run), "No" (run w/o recompile) and "Cancel" (do nothing, don't run).
In response to Kaioken
Why wouldn't you want to compile after editing an icon file? It would seem pointless to edit it in the first place then.
This is just for convenience anyways. It is not necessary. It's just that sometimes I just click run and don't compile because I'm so used to it asking for compile after editing code.
In response to Fugsnarf
Fugsnarf wrote:
Why wouldn't you want to compile after editing an icon file? It would seem pointless to edit it in the first place then.

Not quite. You may want to look at the old resources before switching to the new ones for comparison, or your project may take an inconveniently long time to compile <small>(stemming from f.ex. a large map file, many files in different subfolders, tons of code files/ripped source...)</small> so that it would be very nice to skip, if you just altered or fixed an unimportant icon you don't care about for this run.
Besides, more options is generally mostly better than less.

This is just for convenience anyways.

Obviously, yes.

It's just that sometimes I just click run and don't compile because I'm so used to it asking for compile after editing code.

Hence, a new alert box to remind and offer you is in order. ;P
In response to Kaioken
I suppose that is a good idea. I would go along with that if they decided to add that.
If you edited code, have that message come up. And if you just edited an icon or icons, you can choose with this alert message if you are in one of the cases you stated before.
That is the whole point in simply REQUESTING compile after editing. You don't have to, it is only asking you if you want to or not.
It can first start with code, and if no code was edited, it can check if an icon was edited, then proceed to bring up the alert message if it was.