This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
211
General ENIGMA / Re: Compatibility flags.
« on: June 26, 2014, 10:13:32 am »
In that case, we can keep indexes, and I'll just use an enum inside enigma. That actually makes it easier; I can just cast the returned integer to an enum.
String IDs are more stable when adding/removing items from the list, but if I make "Standard" compliance equal to 0, then most people won't be affected by this.
String IDs are more stable when adding/removing items from the list, but if I make "Standard" compliance equal to 0, then most people won't be affected by this.
212
General ENIGMA / Re: Compatibility flags.
« on: June 25, 2014, 08:55:45 pm »
Further digging in the LGMPlugin reveals this:
Is there any reason we don't return getSelectedItem().toString()?
Code: [Select]
String getValue()
{
if (combo != null) return Integer.toString(combo.getSelectedIndex());
//trimmed
}
Is there any reason we don't return getSelectedItem().toString()?
213
General ENIGMA / Re: Compatibility flags.
« on: June 24, 2014, 12:12:25 pm »
I was able to get the feature working pretty easily (see screenshot and the branch).
Since this seems to be a somewhat contentious issue, I'll continue the discussion here before making a pull request:
Since this seems to be a somewhat contentious issue, I'll continue the discussion here before making a pull request:
- Regarding Ism's worry about supporting old GM's, I feel the line setting::compliance_mode=="GM5"?"true":"false" is pretty self-documenting. I also feel that the scope of my commit is fairly limited and encapsulated; nothing in the engine changes (just compiler + 1 value in generated code).
- The compliance setting should default to GM5 when importing GM5 games; Standard for everything else. Is it possible to check which version of GM the GUI is currently importing? (I.e., when the Enigma settings file for a new project is first created.)
- Combo boxes, unfortunately, still return integer strings ("0", "1"). I understand Josh's idea about returning the values in plaintext, but I haven't worked with the plugin at all before. Is this something that someone could look at? For me, "0", and "1" is sufficient (even if it's ugly).
- On a similar note, would you prefer if I stored "compliance_mode" as an enum (in the settings:: namespace) rather than a string?
- The compiler scripting sounds cool! In the future, when it's available, I'll have a look at re-writing this option using that feature.
214
General ENIGMA / Compatibility flags.
« on: June 23, 2014, 05:49:18 pm »
Hello all,
Something came up during my timeline branch that I'm not quite sure how to address. The field "timeline_running" is (I think) OFF by default in GM:Studio. In GM5, however, it does not exist, and it is implied that all timelines start as running. So, GM5 games still can't use timelines (since I made the GM:Studio behavior the default).
There's a simple fix to this: in write_object_data.cpp, we can do something like this:
However, I'm not quite sure where to put this option (a screenshot of the Enigma settings dialog is below for reference).
Any thoughts?
Something came up during my timeline branch that I'm not quite sure how to address. The field "timeline_running" is (I think) OFF by default in GM:Studio. In GM5, however, it does not exist, and it is implied that all timelines start as running. So, GM5 games still can't use timelines (since I made the GM:Studio behavior the default).
There's a simple fix to this: in write_object_data.cpp, we can do something like this:
Code: [Select]
//Old code:
wto <<"instance->timeline_running = false;\n"
//New code:
wto <<"instance->timeline_running = " <<(GM5COMPAT?"true":"false") <<";\n"
However, I'm not quite sure where to put this option (a screenshot of the Enigma settings dialog is below for reference).
- Unlike normal options, this should be set automatically when importing a project. Do we do that for anything else at the moment?
- None of the current categories seem like a good place to put this option. Do we have any similar settings at the moment?
Any thoughts?
215
General ENIGMA / Re: GL3 lights fixes
« on: June 21, 2014, 09:59:53 pm »
FYI, I also get the "ugly title" for Project Mario on Open GL3 (using nvidia's binary blob on Linux). If you need help investigating this further, let me know (but I know very little about Open GL).
216
General ENIGMA / Re: GL3 lights fixes
« on: June 20, 2014, 06:46:51 pm »It looks fine on my machine (GeForce GTX 760, Linux, Open GL3). Unfortunately, I do not have a Radeon machine to test this on.
217
Announcements / Re: Timelines Implemented
« on: June 17, 2014, 01:46:57 pm »
Double-posting; just wanted to thank egofree again for his detailed bug report; without it, this issue would have hidden stealthily until undoubtedly the worst possible time.
The issue is now fixed, as of this commit:
https://github.com/enigma-dev/enigma-dev/commit/1c845b0349664b948c8e86faefe832f68e6deb46
The issue is now fixed, as of this commit:
https://github.com/enigma-dev/enigma-dev/commit/1c845b0349664b948c8e86faefe832f68e6deb46
218
General ENIGMA / Re: Timelines won't update correctly after saving.
« on: June 16, 2014, 10:37:06 pm »
Figured it out; my "clever hack" was not quite clever enough. One line fix for a very confusing error:
https://github.com/enigma-dev/enigma-dev/pull/755
https://github.com/enigma-dev/enigma-dev/pull/755
219
General ENIGMA / Re: Timelines won't update correctly after saving.
« on: June 15, 2014, 08:59:26 pm »In the code and the timeline? And opening them back up reveals the changes have been saved internally? There's literally no other place for this information to exist.... If that's really happening, something more than a little fishy is going on.
Yes, that is what I think is happening. It is entirely possible I am making a mistake, so I've uploaded a video that shows the entire process. (Please view at 1080p.) Note the error in the output console, and the correct text (every time) in the code window:
https://www.youtube.com/watch?v=LdcxRaT_3-o&vq=hd1080
220
Works in Progress / Re: Project Mario
« on: June 15, 2014, 08:18:37 pm »
Yep, that did it. Along with the fixes in my branch (and the filename fixes in the zip I linked earlier), you can now enjoy Project Mario on Linux. The only minor issue is that GL3 doesn't seem to do any shadows correctly:
GL1:
GL3:
I've added these to my "Project Mario" pull request, which is now ready for review (again).
GL1:
GL3:
I've added these to my "Project Mario" pull request, which is now ready for review (again).
221
General ENIGMA / Re: Timelines won't update correctly after saving.
« on: June 15, 2014, 07:42:08 pm »Amazing how we do no caching and still have cache problems. What if you click the green check in the code window? That should almost certainly fix it without reloading LGM.
It may be that the "Save" action is custom-tailored to iterate open dialogs and grab their updated version.
Clicking the green check mark in the code window does not fix the problem.
222
Works in Progress / Re: Project Mario
« on: June 14, 2014, 07:26:51 pm »Good work Sorlok, DaSpirit wrote that INI extension but never finished. Second, the issues you are seeing with geometry are related to the model struct for GL1. Josh fixed it for GL3, it has to do with how we handle color, but he didn't add the fixes to GL1.
https://github.com/enigma-dev/enigma-dev/blob/master/ENIGMAsystem/SHELL/Graphics_Systems/OpenGL1/GLModelStruct.h#L133
https://github.com/enigma-dev/enigma-dev/blob/master/ENIGMAsystem/SHELL/Graphics_Systems/OpenGL3/GL3ModelStruct.h#L137
Thanks for the insight; I'll dig into this a little more, since it would be kind of fun to have Project Mario working properly on Linux too.
223
General ENIGMA / Re: Question about audio:none
« on: June 14, 2014, 07:21:31 pm »What about doing it at the API level, you know where you select OpenAL, DirectSound and None, you could add a null option or whatever, which will work like the other APIs but not actually process sound and output it to your audio device, so you can easily switch back and forth APIs as you are testing your game.
This makes the most sense to me. Since there seems to be some interest, I'll prepare a pull request so it can be properly evaluated.
224
Works in Progress / Re: Project Mario
« on: June 13, 2014, 07:52:21 pm »
I was able to get Project Mario to build and run on Linux with the Ini Extension. There's a few problems with it though:
1) Some random bugs. I'll file a pull request with my fixes.
2) Textures (or more likely polygons?) loading improperly:
3) Filename case sensitivity issues. I've edited the project file to fix these:
https://drive.google.com/file/d/0B1P7NepPcOslQXZHMEVkZVBtb0E/edit
Basically, here are the things I changed:
I've only tested this with the Open GL 1.1 backend at the moment.
1) Some random bugs. I'll file a pull request with my fixes.
2) Textures (or more likely polygons?) loading improperly:
3) Filename case sensitivity issues. I've edited the project file to fix these:
https://drive.google.com/file/d/0B1P7NepPcOslQXZHMEVkZVBtb0E/edit
Basically, here are the things I changed:
Code: [Select]
//Replace all backslashes with forward slashes in path names in the following files/objects:
./Objects/obj_map.obj:d3d_model_load(model, working_directory + "\maps\koopafalls\map_mod.d3d");
./Objects/obj_map.obj:texture = background_get_texture(background_add(working_directory + "\maps\koopafalls\texture.png", 0, 0));
./Objects/obj_map.obj:fname = working_directory + "\maps\koopafalls\map_col.d3d";
./Objects/obj_gamestate.obj: path = working_directory + "\screenshots";
./Objects/obj_gamestate.obj: path += "\";
./Objects/obj_gamestate.obj: file = file_text_open_read(working_directory + "\maps\koopafalls\objects.dat");
./Objects/obj_tree.obj: sound = sound_add(working_directory + "\Audio\Ambience\bird1.wav", 0, 1);
./Objects/obj_waterfall.obj:file = file_text_open_read(working_directory + "\maps\koopafalls\waterfall.d3d");
./Objects/obj_water.obj://surface_save(texturesurface, working_directory + "\test.png");
//Rename *.WAV to *.wav for the following files:
./ProjectMario/audio/ambience/bird1.WAV
./ProjectMario/audio/ambience/bird2.WAV
./ProjectMario/audio/ambience/bird3.WAV
./ProjectMario/audio/boing.WAV
./ProjectMario/audio/boo.WAV
./ProjectMario/audio/bowser/bowser_die.WAV
./ProjectMario/audio/bowser/bowser_fire.WAV
./ProjectMario/audio/bowser/bowser_grab.WAV
./ProjectMario/audio/bowser/bowser_inhale.WAV
./ProjectMario/audio/bowser/bowser_something.WAV
./ProjectMario/audio/bowser/bowser_step.WAV
./ProjectMario/audio/boxbreak.WAV
./ProjectMario/audio/bubble.WAV
./ProjectMario/audio/cannon1.WAV
./ProjectMario/audio/cannon2.WAV
./ProjectMario/audio/cannon3.WAV
./ProjectMario/audio/cannon_fire.WAV
./ProjectMario/audio/chomp.WAV
./ProjectMario/audio/crank.WAV
./ProjectMario/audio/movement/crawl.WAV
./ProjectMario/audio/ambience/cricket.WAV
./ProjectMario/audio/door_close.WAV
./ProjectMario/audio/door_metal.WAV
./ProjectMario/audio/door_open.WAV
./ProjectMario/audio/door_wood.WAV
./ProjectMario/audio/enter_painting.WAV
./ProjectMario/audio/explosion.WAV
./ProjectMario/audio/fuse_lite.WAV
./ProjectMario/audio/fuse_loop.WAV
./ProjectMario/audio/gunshot.WAV
./ProjectMario/audio/invalid.WAV
./ProjectMario/audio/lakitucam.WAV
./ProjectMario/audio/laser.WAV
./ProjectMario/audio/mario/mario_boing.WAV
./ProjectMario/audio/mario/mario_cough.WAV
./ProjectMario/audio/mario/mario_die.WAV
./ProjectMario/audio/mario/mario_doh.WAV
./ProjectMario/audio/mario/sleeping/mario_dream.WAV
./ProjectMario/audio/mario/mario_drown.WAV
./ProjectMario/audio/mario/mario_fire.WAV
./ProjectMario/audio/mario/mario_gameover.WAV
./ProjectMario/audio/mario/mario_haha.WAV
./ProjectMario/audio/mario/mario_hello.WAV
./ProjectMario/audio/mario/mario_herewego.WAV
./ProjectMario/audio/mario/mario_hoo.WAV
./ProjectMario/audio/mario/sleeping/mario_imtired.WAV
./ProjectMario/audio/mario/mario_itsme.WAV
./ProjectMario/audio/mario/mario_letsgo.WAV
./ProjectMario/audio/mario/mario_lift.WAV
./ProjectMario/audio/mario/mario_lowonhealth.WAV
./ProjectMario/audio/mario/mario_mamamia.WAV
./ProjectMario/audio/mario/mario_okiedokie.WAV
./ProjectMario/audio/mario/mario_oof.WAV
./ProjectMario/audio/mario/mario_pain.WAV
./ProjectMario/audio/mario/mario_presstart.WAV
./ProjectMario/audio/mario/mario_pullup.WAV
./ProjectMario/audio/mario/mario_scream.WAV
./ProjectMario/audio/mario/sleeping/mario_snore1.WAV
./ProjectMario/audio/mario/sleeping/mario_snore2.WAV
./ProjectMario/audio/mario/mario_solongbowser.WAV
./ProjectMario/audio/mario/mario_theend.WAV
./ProjectMario/audio/mario/mario_ugh.WAV
./ProjectMario/audio/mario/mario_ungh.WAV
./ProjectMario/audio/mario/movement/mario_wa.WAV
./ProjectMario/audio/mario/movement/mario_waha.WAV
./ProjectMario/audio/mario/mario_whoa.WAV
./ProjectMario/audio/mario/movement/mario_woo.WAV
./ProjectMario/audio/mario/movement/mario_woohoo.WAV
./ProjectMario/audio/mario/mario_ya.WAV
./ProjectMario/audio/mario/mario_yah.WAV
./ProjectMario/audio/mario/mario_yahh.WAV
./ProjectMario/audio/mario/movement/mario_yahoo.WAV
./ProjectMario/audio/mario/sleeping/mario_yawn.WAV
./ProjectMario/audio/mario/movement/mario_yippee.WAV
./ProjectMario/audio/mips-hop.WAV
./ProjectMario/audio/monkey1.WAV
./ProjectMario/audio/peach/peach1.WAV
./ProjectMario/audio/peach/peach2.WAV
./ProjectMario/audio/peach/peach3.WAV
./ProjectMario/audio/peach/peach4.WAV
./ProjectMario/audio/peach/peach5.WAV
./ProjectMario/audio/peach/peach6.WAV
./ProjectMario/audio/peach/peach7.WAV
./ProjectMario/audio/peach/peach8.WAV
./ProjectMario/audio/peach/peach9.WAV
./ProjectMario/audio/penguin.WAV
./ProjectMario/audio/pokeoutofsand.WAV
./ProjectMario/audio/movement/slide/slide1.WAV
./ProjectMario/audio/movement/slide/slide2.WAV
./ProjectMario/audio/movement/slide/slide3.WAV
./ProjectMario/audio/movement/slide/slide4.WAV
./ProjectMario/audio/movement/slide/slide5.WAV
./ProjectMario/audio/movement/slide/slide6.WAV
./ProjectMario/audio/movement/slide/slide7.WAV
./ProjectMario/audio/movement/splash.WAV
./ProjectMario/audio/movement/step_floor.WAV
./ProjectMario/audio/movement/step_grass.WAV
./ProjectMario/audio/movement/step_longgrass.WAV
./ProjectMario/audio/movement/step_metalcap.WAV
./ProjectMario/audio/movement/step_wetwood.WAV
./ProjectMario/audio/movement/swim_above.WAV
./ProjectMario/audio/movement/swim_below.WAV
./ProjectMario/audio/thwomp.WAV
./ProjectMario/audio/timer.WAV
./ProjectMario/audio/tinyzap.WAV
./ProjectMario/audio/vulturewound.WAV
./ProjectMario/audio/warp1.WAV
./ProjectMario/audio/warp2.WAV
./ProjectMario/audio/water.WAV
./ProjectMario/audio/ambience/waterfall.WAV
./ProjectMario/audio/ambience/waterfall2.WAV
./ProjectMario/audio/ambience/wind.WAV
I've only tested this with the Open GL 1.1 backend at the moment.
225
General ENIGMA / Question about audio:none
« on: June 13, 2014, 07:20:20 pm »
Good evening,
I've got a development-based question about the "None" audio backend. Would it make sense to add empty initializations of "sound_add", "sound_play", etc. to this backend? In other words, "sound_add()" would check for the file and return an id, sound_play would take that id and do nothing (no sound). Basically, this would allow developers to compile games that use audio functions without actually linking to an audio backend, which is useful for debugging, performance testing, and other things.
If this doesn't really belong in "None", what about a "Mute" backend that does what I described? I'm comfortable implementing such a system, but I thought I'd check first.
I've got a development-based question about the "None" audio backend. Would it make sense to add empty initializations of "sound_add", "sound_play", etc. to this backend? In other words, "sound_add()" would check for the file and return an id, sound_play would take that id and do nothing (no sound). Basically, this would allow developers to compile games that use audio functions without actually linking to an audio backend, which is useful for debugging, performance testing, and other things.
If this doesn't really belong in "None", what about a "Mute" backend that does what I described? I'm comfortable implementing such a system, but I thought I'd check first.