time-killer-games
|
|
Posted on: September 23, 2014, 03:54:10 pm |
|
|
"Guest"
|
Click to enlarge, look at red stuff and other added text. These are literally the only 5 issues in porting my game. Literally everything works perfect except..... Problem 1: Problem 2: Problem 3: Problem 4: Problem 5: ENIGMA developers please PM or contact any other private way so I can send you my project reproducing these issues.
|
|
« Last Edit: September 23, 2014, 03:56:17 pm by time-killer-games »
|
Logged
|
|
|
|
Goombert
|
|
Reply #1 Posted on: September 23, 2014, 04:11:13 pm |
|
|
Location: Cappuccino, CA Joined: Jan 2013
Posts: 2993
|
Go ahead and send me the file in a PM TKG, this is partially related to me scaling the views to emulate application_surface. Should all be very easy to fix. But first Problem #4 is not actually a problem, heh. This is the way GM8 behaved, during what you call the black screen this is the initialization period where the loading bar is shown, since we don't have a loading bar this is the period at which Studio shows a splash screen which I was intending to implement. Nothing actually changed in my recent commit is what I want to point out to you I in fact partially corrected this behavior because we do not make the window visible until the graphics context is created and then we load. https://github.com/enigma-dev/enigma-dev/blob/master/ENIGMAsystem/SHELL/Platforms/Win32/WINDOWSmain.cpp#L248The initialize_everything() call after that is where loading occurs, this is why the window is black during this point in time. What needs to happen I believe is that EnableDrawing() should render the splash screen. Problem #5 is basically the same as the views, I just need to tweak some variables. And #3 I will simply have to investigate, I know we block the caption from changing if it does not actually change but I don't know what is wrong I will have to see the project to determine. Additionally for #1 and #2 it would help to see the Studio and or GM8 equivalent screen shot, just so I know for sure how it is supposed to scale. Also it is important to remember that for issues such as these it is better to make small individual test cases that reproduce the issues, I hate having to fix bugs in large games it becomes very time consuming.
|
|
« Last Edit: September 23, 2014, 04:13:33 pm by Robert B Colton »
|
Logged
|
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.
|
|
|
time-killer-games
|
|
Reply #2 Posted on: September 23, 2014, 04:42:55 pm |
|
|
"Guest"
|
I sent you the files and it includes both the egm and gmx, and the enigma/studio compiled exes.
|
|
|
Logged
|
|
|
|
Goombert
|
|
Reply #3 Posted on: September 23, 2014, 07:31:31 pm |
|
|
Location: Cappuccino, CA Joined: Jan 2013
Posts: 2993
|
Ok so far I've done some analyzing, apparently window_set_caption(); overrides all room captions with Studio I have not yet tested GM8.1
Second the ENIGMA executable crashes unless called from a command line with the explicit full path. Something to do with working_directory implementation that I will have to check out since you just use the local file name to load the dll.
|
|
|
Logged
|
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.
|
|
|
time-killer-games
|
|
Reply #4 Posted on: September 23, 2014, 07:43:47 pm |
|
|
"Guest"
|
Thank you! If you try to compile from the gmx it will crash because the DLL isn't in the same directory as the gmx root. It's in the datafiles sub folder. If you compile from loading the egm I provided, this won't be an issue. Also don't forget the exe I compiled for you already that needs window styler in the same directory, it should be already Edit. GMStudio doesn't have room captions, BTW, because they deprecated that.
|
|
« Last Edit: September 23, 2014, 07:45:36 pm by time-killer-games »
|
Logged
|
|
|
|
Goombert
|
|
Reply #5 Posted on: September 23, 2014, 08:12:29 pm |
|
|
Location: Cappuccino, CA Joined: Jan 2013
Posts: 2993
|
Ok I've figured out all of your issues. 1) The dll is in the EGM exe folder and it crashes if I just double click the file to execute it. If I open a CLI and CD to the dir and run it, it crashes. If I run it in GDB or compile it from LGM myself it's fine and never crashes so apparently nothing is wrong I think this may be rooted in working_directory or something the external/dll functions may not recognize the OS working directory, I know that some Windows functions do not. Further testing is required.This was caused by background in rm_splash being set visible but not existing. 2) I can't do anything at the moment about Room Captions, idk what to tell you TKG unless you want to lead a debate about removing room caption from LGM/ENIGMA you'll have to just change it in all rooms or add some "room_caption = " code to the room start event of some persistent object. EDIT: After thinking about it, I think we really should remove room_caption. I've never used it, I've never seen anyone use it, usually people want the same consistent room caption for the duration of the game, there have only been a few exceptions to this rule, and it's not like you can't set the window caption still.3) There's actually nothing wrong with views, there's something wrong with GL views they are upside down like framebuffers which I did not realize so the y value of the port is inverted, if you run your game in Direct3D9 it renders fine. 4) The GUI is actually scaled properly, for some reason your window_get_width is becoming 1034 while the region and scaled width are both 1024, and I tested a new empty game and this does not occur, you don't appear to be changing the size either and your views are all 1024, so I can't figure out what is resizing the window. But it could in fact be ur extension doing this dirty business. 5) I can't seem to replicate any mouse scaling issues, all my mouse clicks seem to translate properly, given the graphics system is Direct3D9
|
|
« Last Edit: September 23, 2014, 11:19:10 pm by Robert B Colton »
|
Logged
|
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.
|
|
|
|
Goombert
|
|
Reply #7 Posted on: September 23, 2014, 10:10:03 pm |
|
|
Location: Cappuccino, CA Joined: Jan 2013
Posts: 2993
|
Actually it looks like it was the window style flags that were screwing up the GUI scaling, so my scaling code was all correct, the pull request I just submitted should fix that, fetch/pull TKG and test your game with Direct3D9 you should get the following minus the 1024 number in the top left. So that kills two birds with one stone, now we just have three issues left. I am going to host a discussion about moving the Room Caption functionality into the GM5 extension tomorrow and get everyone's opinion on it. I'll work out the dll issue soon enough. The OpenGL upside down shit we've been discussing for a while. Side Note: This is actually quite funny, I was not even attempting to fix your issue directly I got side tracked fixing the window flags and accidentally fixed your issue too, this is such a coincidence!
|
|
« Last Edit: September 23, 2014, 10:15:19 pm by Robert B Colton »
|
Logged
|
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.
|
|
|
time-killer-games
|
|
Reply #8 Posted on: September 23, 2014, 10:15:47 pm |
|
|
"Guest"
|
I didn't think the direct3d worked at all last I've tried. It's great news that it's working this great now, but the fact that direct 3d is windows-only (cough no Linux support) that's a shame. But I'm happy with this for now. Thank you so much! (I haven't tested yet but I def will tomorow) Edit. we can keep room caption if you ask me, whatever you prefer. I don't mind adjusting my projects slightly to accommodate it either way. Edit2. Funny stuff Mr side note. :p
|
|
« Last Edit: September 23, 2014, 10:20:44 pm by time-killer-games »
|
Logged
|
|
|
|
Goombert
|
|
Reply #9 Posted on: September 23, 2014, 10:39:42 pm |
|
|
Location: Cappuccino, CA Joined: Jan 2013
Posts: 2993
|
room_caption is actually one thing I agree with deprecating though, I guess we just won't make a pressing issue out of it. I'd rather have a Global Game Setting called Application Title or something. Anyway, TKG there are two more bugs, one of them is your fault and ours, and the other is somebodies. First, your Studio built exe seems to hide the taskbar icon, can I ask how you are doing that, through your extension? I want to know why our version is not doing that. Second, in rm_splash you have background 0 set visible but no background set, this is actually what was causing your EGM executable to crash for me, it's partially your fault and partially our fault because we need to expand debug mode code and I want a warning for that, but I actually found this by running in debug mode because I wanted debug symbols to run your game through GDB. This is the specific issue where I want to add a warning for it, possibly even through the IDE we are looking at having symbolic output like Visual Studio where you can click on the messages and they will open relevant editors. https://github.com/enigma-dev/enigma-dev/issues/811Edit: I fixed the GL viewports now as well to make the top left like Direct3D. With this patch your game runs just as good in Direct3D as it does in GL. https://github.com/enigma-dev/enigma-dev/pull/833So this leaves us with 3 minor issues why the taskbar icon is visible in run or compile or debug mode, deprecating room caption, and the already open issue about visible backgrounds that don't exist and adding symbolic feedback for it. Edit 2: I've included all the fixes in a new Portable ZIP. http://enigma-dev.org/docs/Wiki/Install:Windows
|
|
« Last Edit: September 23, 2014, 11:56:34 pm by Robert B Colton »
|
Logged
|
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.
|
|
|
|