[RGD] DirectX implementation of RGSS3

invwindy

Ice Fairy
Veteran
Joined
Apr 9, 2016
Messages
73
Reaction score
69
First Language
Chinese
Primarily Uses
RMVXA
A new bug report: Z value of windows may behave incorrectly. This will be fixed soon.
@gstv87 This may be an old problem but I am not sure. What's the layer of the door? Is it supposed to be lower but actually higher than the shadow?
 

gstv87

Veteran
Veteran
Joined
Oct 20, 2015
Messages
1,973
Reaction score
964
First Language
Spanish
Primarily Uses
RMVXA
I don't remember it being a problem, maybe in an old version, but on the version previous to this one worked fine.
as a reference, I took the exe from your lighting example project to replace v1.4 and *it* crashed, on this same project.
I took an old backup exe and it worked as I showed.... that was the one I've been using lately, the one where mostly everything worked except the overlay from counter tiles.

the shadow is supposed to appear on some wall autotiles, and be at the same level or above A-tiles, but always below B-E tiles.
that's the default behavior.

for the record, I did not modify the temple map in any way, I just ran it with the new exe.
maybe remaking it and running it again will overwrite the shadows to your new definitions, but I don't see that being the case since that's established by the editor, I think (meaning, the exe just reads what the project file sends it)

here's the structure without E tiles, so you can see the seams and the shadows as they come.
only the vertical walls are autotiles, the rest is A tiles.

 

invwindy

Ice Fairy
Veteran
Joined
Apr 9, 2016
Messages
73
Reaction score
69
First Language
Chinese
Primarily Uses
RMVXA
I have updated to 1.4.1 version. Many bugs are fixed and Geometry is ready for perspective and alpha-blending 3D sprites.
@gstv87 Please try the new version. If the crashing problem still occurs I will try to fix it later.
 

gstv87

Veteran
Veteran
Joined
Oct 20, 2015
Messages
1,973
Reaction score
964
First Language
Spanish
Primarily Uses
RMVXA
everything seems to be working as expected.
I'll do a deeper test later.
 

Romanticist

Veteran
Veteran
Joined
Oct 8, 2015
Messages
215
Reaction score
83
First Language
English
Primarily Uses
RMMV
.
 
Last edited:

Sixth

Veteran
Veteran
Joined
Jul 4, 2014
Messages
2,136
Reaction score
809
First Language
Hungarian
Primarily Uses
RMVXA
@Romanticist
The wave effect works differently in RGD than it did in the default engine. The image can't get out of it's default "box", so instead of seeing the distorted lines move left and right on the sides, they get cut down. The lines will still move left and right, but the edges will get cut down. Some effects look better this way, while others look worse.

@invwindy
Exactly what bugs are fixed? I appreciate the updates, but it would be good to know what bugs are fixed, because I use many snippets to fix these in the projects I work on. If the bugs I fixed with my snippets are fixed in this latest version, I will upgrade, otherwise there is no reason to. Last time I updated RGD, my FPS lowered during stress-test, and didn't add anything new I would use, so I kinda skipped that update too (I think it was the 1.3 version update, but not sure, was long ago).
I'm especially interested about those mouse bugs I mentioned, since those needed a pretty crafty workaround to fix with tons of aliases.

And no idea if me or anyone else mentioned this already, but the printscreen button will fail if the game is in fullscreen mode, it will just drop a fully black screen if I paste it in any image editing program. I can still use ALT+printscreen, but it would be nice to do that without the ALT version.
I suspect it behaves the same way with video recording, it will just record a black screen probably, but I didn't test this yet, so will get back to it in a day or two when I have some time to test it.
 

invwindy

Ice Fairy
Veteran
Joined
Apr 9, 2016
Messages
73
Reaction score
69
First Language
Chinese
Primarily Uses
RMVXA
@Romanticist
The wave effect works differently in RGD than it did in the default engine. The image can't get out of it's default "box", so instead of seeing the distorted lines move left and right on the sides, they get cut down. The lines will still move left and right, but the edges will get cut down. Some effects look better this way, while others look worse.

@invwindy
Exactly what bugs are fixed? I appreciate the updates, but it would be good to know what bugs are fixed, because I use many snippets to fix these in the projects I work on. If the bugs I fixed with my snippets are fixed in this latest version, I will upgrade, otherwise there is no reason to. Last time I updated RGD, my FPS lowered during stress-test, and didn't add anything new I would use, so I kinda skipped that update too (I think it was the 1.3 version update, but not sure, was long ago).
I'm especially interested about those mouse bugs I mentioned, since those needed a pretty crafty workaround to fix with tons of aliases.

And no idea if me or anyone else mentioned this already, but the printscreen button will fail if the game is in fullscreen mode, it will just drop a fully black screen if I paste it in any image editing program. I can still use ALT+printscreen, but it would be nice to do that without the ALT version.
I suspect it behaves the same way with video recording, it will just record a black screen probably, but I didn't test this yet, so will get back to it in a day or two when I have some time to test it.
I believe the FPS is lowered because the children structure. I may further optimize it if I have any idea.
I cannot remember all the bux fixes because the time is too long. Now I have deployed this project on git server and bug fixs will be listed in the next update.
Thank you for reporting the screen capture bug. It may be caused by some settings from DirectX. I will reply to you if I find any solution. (As far as I have known, https://gaming.stackexchange.com/questions/19203/how-do-i-take-screenshots-of-fullscreen-games-on-a-windows-7-pc would be a reference, see "Technical Explanation".)
Again hank you for the reply!
 
Last edited:

gstv87

Veteran
Veteran
Joined
Oct 20, 2015
Messages
1,973
Reaction score
964
First Language
Spanish
Primarily Uses
RMVXA
I'll do a deeper test later.
couldn't do a thorough test, as this came up by random chance while I was testing something else.
I made this map a WHILE ago.... this should put it way before the temple build I showed you, running with build 1.1 or 1.2 probably.
I made this as it appears in the editor: an autotile ground, shadow on top, layered tiles on top of that.
and it worked as intended when I tested it: the shade covered the entirety of the ground.
ignore the faulty walls, those are outdated. I was testing the transfer event.

now look at this, with 1.4.1

no idea what's going on here.
I know I layered autotiles on autotiles, so maybe the layered autotile is not rendering the shadow correctly.
see that the wall on the back is shaded, but the ground isn't, and the shadow remains below the layered tile, as it should..... it just fails on those ground tiles, which *I believe* are layered *autotiles*
I can't do a detailed test right now, but I'm letting you know: check that Group 2B autotiles work with shadows.
 
Last edited:

TheoAllen

Self-proclaimed jack of all trades
Veteran
Joined
Mar 16, 2012
Messages
4,826
Reaction score
5,516
First Language
Indonesian
Primarily Uses
RMVXA
@gstv87 your video is on private.
 

gstv87

Veteran
Veteran
Joined
Oct 20, 2015
Messages
1,973
Reaction score
964
First Language
Spanish
Primarily Uses
RMVXA
whoops.
I meant to set it unlisted.
 

UncannyBoots

Warper
Member
Joined
Feb 1, 2020
Messages
4
Reaction score
0
First Language
English
Primarily Uses
RMVXA
Hi there, I'm a long time lurker and I've been using RGD for my project.
Recently I decided I wanted to implement this script that allows the player to walk behind autotiles as if they were a star tile as long as the autotile has the correct region ID over it.
It works perfectly with the normal RGSS Player, but with RGD, it will sometimes not work when transferring to another map. The problem is that the player will walk *over* the autotile instead of under it. I tend to find that it doesn't work most often when transferring to another map with the *same* tileset as the previous map, although it baffles me because sometimes it will work (but more often than not it doesn't).
I'd appreciate it if someone with an RGD project could try out this script with the "Cover" region id over an autotile, and then make another map with the same tileset and cover another autotile with the region id, just to see if you can replicate my error. If you cannot then I have absolutely no idea what it could be because I have tried rearranging scripts, deleting some to all scripts, deleting common events, trying different tilesets on different maps in different orders, etc.
I would love to use RGD along with this script so I am very thankful for any help
 

CraneSoft

Filthy Degenerate
Veteran
Joined
Apr 16, 2016
Messages
125
Reaction score
117
First Language
English
Primarily Uses
RMVXA
Just popped this in my project and wow... it actually managed to resolve the severe frame-drop/ lag issue I was struggling with for over a whole year when I am displaying too many pictures (like 30) on screen at once, and has also capped my game FPS at 59-60, even when under high Res, without compromising the default behavior of RGSS3 and breaking a lot of stuff / incompatibility shanenigans which happened to me on every other Anti-Lag script.

While obviously it is not without its issues and I still need a lot more testing, I would like to say thank you for the absolute splendid work, I can feel the passion and effort that went into making this. :D

I do however, encountered 2 minor issues so far on the latest version and would appreciate some clarification if thats the intended behavior for RGD:

1) The font issue that was already highlighted by the others, for my case it was when displaying Japanese characters. I am aware that the documentation have stated RGSS300 might have compatibility issues but for reference I had both RGSS300 and RGSS301 vanilla dlls in my project system folder. I managed to somehow "fix" this by forcefully changing the font in-game but have no idea if this will have lasting consequences just yet.

2) When I try to manually delete the picture cache, all the pictures on screen will disappear for about 30 frames and then reappear again. Is this directly tied to the lowered performance of Bitmap operators?
 
Last edited:

UncannyBoots

Warper
Member
Joined
Feb 1, 2020
Messages
4
Reaction score
0
First Language
English
Primarily Uses
RMVXA
I'm curious about something else:
Why is it that the Enter key is not able to be registered in the Key Config menu?
 

ZirconStorms

VX & VX Ace Scripts
Veteran
Joined
Dec 22, 2014
Messages
359
Reaction score
112
First Language
English
Primarily Uses
RMVXA
Acezon's Map as title script gets super wonky with scene transitions. For example, if someone enters Scene_Status through a title command; exiting out of that scene back to the title will cause a bit of a dark flash to occur, and the typical scene fade/transition doesn't happen at all.

(note: original post's script code is broken. User in the later pages fixed formatting.)

 

invwindy

Ice Fairy
Veteran
Joined
Apr 9, 2016
Messages
73
Reaction score
69
First Language
Chinese
Primarily Uses
RMVXA
couldn't do a thorough test, as this came up by random chance while I was testing something else.
I made this map a WHILE ago.... this should put it way before the temple build I showed you, running with build 1.1 or 1.2 probably.
I made this as it appears in the editor: an autotile ground, shadow on top, layered tiles on top of that.
and it worked as intended when I tested it: the shade covered the entirety of the ground.
ignore the faulty walls, those are outdated. I was testing the transfer event.

now look at this, with 1.4.1

no idea what's going on here.
I know I layered autotiles on autotiles, so maybe the layered autotile is not rendering the shadow correctly.
see that the wall on the back is shaded, but the ground isn't, and the shadow remains below the layered tile, as it should..... it just fails on those ground tiles, which *I believe* are layered *autotiles*
I can't do a detailed test right now, but I'm letting you know: check that Group 2B autotiles work with shadows.
Thank you for the report. I'm going to take a look.

Hi there, I'm a long time lurker and I've been using RGD for my project.
Recently I decided I wanted to implement this script that allows the player to walk behind autotiles as if they were a star tile as long as the autotile has the correct region ID over it.
It works perfectly with the normal RGSS Player, but with RGD, it will sometimes not work when transferring to another map. The problem is that the player will walk *over* the autotile instead of under it. I tend to find that it doesn't work most often when transferring to another map with the *same* tileset as the previous map, although it baffles me because sometimes it will work (but more often than not it doesn't).
I'd appreciate it if someone with an RGD project could try out this script with the "Cover" region id over an autotile, and then make another map with the same tileset and cover another autotile with the region id, just to see if you can replicate my error. If you cannot then I have absolutely no idea what it could be because I have tried rearranging scripts, deleting some to all scripts, deleting common events, trying different tilesets on different maps in different orders, etc.
I would love to use RGD along with this script so I am very thankful for any help
This may caused by the same problem in new version. I will fix it when I find where the bug is.

Just popped this in my project and wow... it actually managed to resolve the severe frame-drop/ lag issue I was struggling with for over a whole year when I am displaying too many pictures (like 30) on screen at once, and has also capped my game FPS at 59-60, even when under high Res, without compromising the default behavior of RGSS3 and breaking a lot of stuff / incompatibility shanenigans which happened to me on every other Anti-Lag script.

While obviously it is not without its issues and I still need a lot more testing, I would like to say thank you for the absolute splendid work, I can feel the passion and effort that went into making this. :D

I do however, encountered 2 minor issues so far on the latest version and would appreciate some clarification if thats the intended behavior for RGD:

1) The font issue that was already highlighted by the others, for my case it was when displaying Japanese characters. I am aware that the documentation have stated RGSS300 might have compatibility issues but for reference I had both RGSS300 and RGSS301 vanilla dlls in my project system folder. I managed to somehow "fix" this by forcefully changing the font in-game but have no idea if this will have lasting consequences just yet.

2) When I try to manually delete the picture cache, all the pictures on screen will disappear for about 30 frames and then reappear again. Is this directly tied to the lowered performance of Bitmap operators?
1) The game.ini determines which dll is actually used as far as I know.
2) I have no idea on this. Are the bitmaps or sprites correctly disposed?
 

invwindy

Ice Fairy
Veteran
Joined
Apr 9, 2016
Messages
73
Reaction score
69
First Language
Chinese
Primarily Uses
RMVXA
I'm curious about something else:
Why is it that the Enter key is not able to be registered in the Key Config menu?
New version contains a keyboard bug and this will be fixed in the next update. Maybe it helps registering the Enter key.

For all friends using RGD: Thank you very much for your attention and bug reports. I am recently working on my game project "Dup" and I will try to fix the known bugs after finishing it.
 

muramasa

Abomination of life, or life itself.
Veteran
Joined
Apr 29, 2012
Messages
587
Reaction score
297
First Language
Spanish
Primarily Uses
I was going to use this but for a lot of reasons it doesn't work with ma game. :')

I was wondering, how good is DLL support? A.k.a. Win32API. I use a LOT of those, and I'm pretty sure they're the vein of my existence, so I was just wondering. Sadly since my game is of the rare breed of RGSS3 in XP (yes) then I need to use one DLL, which is for drawing the tilemap (there are tilemap rewrites that do not use DLLs but they're much slower in one way or another).

There is also an error which I can't seem to understand.
Ruby:
class Table
  alias flag_changes_to_set []=
  def []=(*args)
    flag_changes_to_set(*args) # <-------
    CallBackController.call(self, *args)
  end
end
For some reason, that line marked with the <----- throws this error. But only when using RGD. With the default RGSS3 executable, it all works fine.
1583323089536.png
(I tried changing the args variable with some dumb coding, just changing the length of the args array to see what it said, and nope, it just seems to refuse to work).

By changing the line to this
Ruby:
flag_changes_to_set(args[0],args[1])
It threw this, comedy gold. It can't make up its mind!
1583323331891.png

I also gave it a single argument, and said 3 to 0. I'm scared of giving it zero, because it might want -1 arguments!

WAIT. IT ACTUALLY DID!
1583323665380.png

Of course I'm not asking you to debug this script, but was just wondering if there is something special with how this one manages aliases or something. Still, I removed the line and got another error of the crash kind (probably graphical error, like one of my DLLs doing his usual business of giving me headaches).
 

muramasa

Abomination of life, or life itself.
Veteran
Joined
Apr 29, 2012
Messages
587
Reaction score
297
First Language
Spanish
Primarily Uses
EDIT: I'm sorry, I mistook the "reply" button for the edit one. Probably because I skipped sleeping today. I know how to talk, I swear!

I was able to run most of my stuff after changing the tilemap. Now more debugging.
- Besides the tilemap, the other DLL that crashed the game was KGC's Bitmap extensions. I was using it for drawing text. It "fixes" some problems with characters, like when the font doesn't include a character, it sort of replaces it with Arial or something. It's especially useful for me to not having to do all kanjis in my fonts, because I can't even write Japanese (what? that's not the issue, it's about time!).
- I also did my own DLL thingie that affects sprites, and lo and behold! Doesn't work, but doesn't crash the game either, which is weird.

Other than that, the game runs pretty nice, even with a slower tilemap. And yes, it's an RMXP game with RMXP's maps. It works. Not perfectly but it does work.
 

KK20

Just some XP Scripter
Veteran
Joined
Oct 11, 2018
Messages
129
Reaction score
55
First Language
English
Primarily Uses
RMXP
Hey orochii, you do realize that the usual Bitmap manipulation DLLs won't work now since this uses DirectX, not DirectDraw. The architecture is completely different. I used F0's tilemap when I played around with this last year instead of my XPAT.

As for the table error, yeah that looks like a genuine bug with the game.exe
 

invwindy

Ice Fairy
Veteran
Joined
Apr 9, 2016
Messages
73
Reaction score
69
First Language
Chinese
Primarily Uses
RMVXA
I was going to use this but for a lot of reasons it doesn't work with ma game. :')

I was wondering, how good is DLL support? A.k.a. Win32API. I use a LOT of those, and I'm pretty sure they're the vein of my existence, so I was just wondering. Sadly since my game is of the rare breed of RGSS3 in XP (yes) then I need to use one DLL, which is for drawing the tilemap (there are tilemap rewrites that do not use DLLs but they're much slower in one way or another).

There is also an error which I can't seem to understand.
Ruby:
class Table
  alias flag_changes_to_set []=
  def []=(*args)
    flag_changes_to_set(*args) # <-------
    CallBackController.call(self, *args)
  end
end
For some reason, that line marked with the <----- throws this error. But only when using RGD. With the default RGSS3 executable, it all works fine.
View attachment 135895
(I tried changing the args variable with some dumb coding, just changing the length of the args array to see what it said, and nope, it just seems to refuse to work).

By changing the line to this
Ruby:
flag_changes_to_set(args[0],args[1])
It threw this, comedy gold. It can't make up its mind!
View attachment 135896

I also gave it a single argument, and said 3 to 0. I'm scared of giving it zero, because it might want -1 arguments!

WAIT. IT ACTUALLY DID!
View attachment 135897

Of course I'm not asking you to debug this script, but was just wondering if there is something special with how this one manages aliases or something. Still, I removed the line and got another error of the crash kind (probably graphical error, like one of my DLLs doing his usual business of giving me headaches).
I'm afraid any dll for drawing or bitmap operation is not supported in this exe because all the bitmaps and drawing operations are replaced by DirectX textures.
For the table issue, I failed to reproduce your problem. Have you modified Table class on other scripts?
Wait... I have found some error now just like your report. Were you trying to access a 1D/2D table with 3 indices? If it is really the point, I think this is not going to be fixed because table dimension won't change in RGD. RGSS works in a similar way from I have known.
 
Last edited:

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Profile Posts

Kraken Art By @whtdragon

- For the No Travel Game Jam -
Yay! One of my Youtube videos got to 100 views (in 2 days)! This Youtube thing is great, it's like the profile posts except I get to annoy entertain more people at once! Now I just have to practice my "Leave a like and hit that Subscribe button" shilling technique. :LZSexcite:
Just found out there is an about me page. I updated it and happy the way its looking!
Ladies and Gentlemen, I can't act like things will be ok anymore. It needs to be said: We have a Pandemic...
Release version of Pillow Hero is out on windows now! --> https://bit.ly/2USHKLv

Forum statistics

Threads
95,558
Messages
930,089
Members
125,845
Latest member
ngocvu309
Top