Poll

Should I move Temporal Flux to Direct X?  (read below)

Yes
14 (82.4%)
No
3 (17.6%)

Total Members Voted: 17

Author Topic: Temporal Flux on Direct X?  (Read 5482 times)

Geiger

  • Guru of Life Emeritus
  • Chronopolitan (+300)
  • *
  • Posts: 315
    • View Profile
    • Geiger's Crypt
Temporal Flux on Direct X?
« on: January 12, 2007, 12:53:30 pm »
With the release of the XNA development platform and the full integration of Direct X into managed code, I would very much like to move to Direct X rendering.  But as with any new technology, there is a tradeoff.

Pros:
- Faster rendering (I am guessing near instantaneous, but that is pure speculation)
- Special effects on tiles (I have a few ideas that are simply not feasible under GDIplus)
- True multi-layer rendering (internal difference only, no externally visible changes)

Cons:
- Extra development time required to learn Direct X and rewrite PSVRender
- Another redistributable library to download in addition to .NET Framework
- Hardware dependent display (may not be clear, may not even work at all if your card is particularly old, has bad drivers, etc)

---T.Geiger

nightmare975

  • Architect of Kajar
  • God of War (+3000)
  • *
  • Posts: 3263
    • View Profile
Re: Temporal Flux on Direct X?
« Reply #1 on: January 12, 2007, 03:17:13 pm »
I like it the way it is.

JCE3000GT

  • Guardian (+100)
  • *
  • Posts: 114
    • View Profile
    • BlitzKrieg Innovations
Re: Temporal Flux on Direct X?
« Reply #2 on: January 12, 2007, 06:00:54 pm »
Sure, DX is fast and would benefit the user more than not.  And if someone doesn't have the DX runtimes then that is their own fault.   8)

Lenophis

  • Crimson Echoes Beta Squad
  • Porrean (+50)
  • *
  • Posts: 73
    • View Profile
Re: Temporal Flux on Direct X?
« Reply #3 on: January 14, 2007, 12:29:23 am »
By now almost everybody has some version of DirectX. I'd say if you did, use a version the most people would have (8.0 or 9.0c). If you use 9.x, then you shut out all of the 95 and 98 users though. I'm sure you knew that already though. ;)

Zakyrus

  • Entity
  • Magical Dreamer (+1250)
  • *
  • Posts: 1352
  • "Bouncy, bouncy, bouncy... --!!"
    • View Profile
Re: Temporal Flux on Direct X?
« Reply #4 on: January 26, 2007, 03:50:50 am »
Go for DirectX, so much more can be done with it.

Interface:
---------
Would it be possible to be able to zoom out completely on a 40x40-tile map?

Would it be possible to add a shift-select funtion where you select an area of tiles, then hold down shift and can select/copy more tiles. This would allow mappers to be able to select irregular shapes of tiles.

I know this one might be a pain to implement, but batch import would save mappers ALOT of time and would be exceedingly useful (i.e. Importing all the .flux files within a selected folder, the functon could just go through the entire selected folder and import all the files by name)

Geiger

  • Guru of Life Emeritus
  • Chronopolitan (+300)
  • *
  • Posts: 315
    • View Profile
    • Geiger's Crypt
Re: Temporal Flux on Direct X?
« Reply #5 on: January 26, 2007, 11:17:30 am »
Would it be possible to be able to zoom out completely on a 40x40-tile map?

At a less than 1:1 ratio?  Yeah, guess that should be possible.  May not be in the first version though.  Right now I am working with an orthogonal view.

I have started on the XNA version of Temporal Flux.  Its not progressing smoothly though.  I cannot figure out how display two different vertex types at the same time, and Microsoft's runtime error of "invalid call" is not terribly helpful.  Not doing serious work on it at the moment anyway, the Beta team is in sort of a downtime mode after the big crunch at the end of last year.  I probably will not get back to serious coding until around the end of February.

This would allow mappers to be able to select irregular shapes of tiles.

The main problem with an irregular shape select or paste is that it also has to be stored in memory irregularly.  That is quite the coding challenge to get it done correctly.

batch import would save mappers ALOT of time and would be exceedingly useful

This one is already on the wish list of enhancements the Beta team came up with.  Its definitely being considered.

---T.Geiger

Zakyrus

  • Entity
  • Magical Dreamer (+1250)
  • *
  • Posts: 1352
  • "Bouncy, bouncy, bouncy... --!!"
    • View Profile
Re: Temporal Flux on Direct X?
« Reply #6 on: January 26, 2007, 04:38:16 pm »

This would allow mappers to be able to select irregular shapes of tiles.

The main problem with an irregular shape select or paste is that it also has to be stored in memory irregularly.  That is quite the coding challenge to get it done correctly.

Never mind, if it required to much effort to add then forget it.

Quote
batch import would save mappers ALOT of time and would be exceedingly useful

This one is already on the wish list of enhancements the Beta team came up with.  Its definitely being considered.

Good to know that it will be considered to be added. :) As for the 40x40 map view, I would just like to be able to see the entire map at once. 


Geiger

  • Guru of Life Emeritus
  • Chronopolitan (+300)
  • *
  • Posts: 315
    • View Profile
    • Geiger's Crypt
Re: Temporal Flux on Direct X?
« Reply #7 on: January 26, 2007, 05:24:54 pm »
Never mind, if it required to much effort to add then forget it.

I see the usefulness in the feature, so it may be added eventually, but its not a high priority.

I would just like to be able to see the entire map at once.

You could always buy a monitor capable of 1600x1200 resolution.  ;)

Aside from that, the best workaround at the moment would be to save the map to a PNG and then open in a image viewing program that will scale the image to screen.  Your browser is probably capable of doing this.

---T.Geiger

Kaktus021

  • Earthbound (+15)
  • *
  • Posts: 25
    • View Profile
Re: Temporal Flux on Direct X?
« Reply #8 on: January 26, 2007, 06:04:40 pm »
This isn't as much of a .NET to DirectX question, but, would it be possible to integrate something similar to ChronoTweaker's NPC/Enemy editor to make it easier to change palettes, sprites, and stats?

Also, I'm all for the move to DirectX.

Zakyrus

  • Entity
  • Magical Dreamer (+1250)
  • *
  • Posts: 1352
  • "Bouncy, bouncy, bouncy... --!!"
    • View Profile
Re: Temporal Flux on Direct X?
« Reply #9 on: January 26, 2007, 06:27:37 pm »
Events:
------
I know I asked for this before but this one goes into a little more depth:
Custom text box sizes (be able to have from 1 to 8 lines, as well as up to 8 decisions.. Using 4 lined text boxes for custom shops really sucks because you pretty much have to use Next and Previous decisions for them to be orderly.(which kills 2 of the decisions). As for the 1 line text boxes, they could be used for Room name titles and stuff like "locked!" when trying to open something you can't. just like FF4) I beleive this can be done with a simple ASM hack/patch. Useful in many ways and also cool as hell.

This isn't as much of a .NET to DirectX question, but, would it be possible to integrate something similar to ChronoTweaker's NPC/Enemy editor to make it easier to change palettes, sprites, and stats?

ChickenLump will be making an update of this someday, and hopefully, when they get time , merge it with TF. However, Since there are editors that can do these things already, it is not a high priority. However, it would be nice.
« Last Edit: January 30, 2007, 07:47:03 am by Zakyrus »

Zakyrus

  • Entity
  • Magical Dreamer (+1250)
  • *
  • Posts: 1352
  • "Bouncy, bouncy, bouncy... --!!"
    • View Profile
Re: Temporal Flux on Direct X?
« Reply #10 on: January 30, 2007, 07:52:41 am »
Oh yeah, I get a dialoug that crashes and says the below message as soon as TF 2.55 loads (when first running the app). However, I can hit continue and edit/save everything like normal. Also, if I immediately exit TF, and run the app again, it doesn't happen.

This is what is tells me when I hit the details button:

Code: [Select]
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
   at Temporal_Flux.MDIForm.GetLocEvents()
   at Temporal_Flux.MDIForm.OnOpen(Object sender, EventArgs e)
   at System.Windows.Forms.MenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.MenuItem.MenuItemData.Execute()
   at System.Windows.Forms.Command.Invoke()
   at System.Windows.Forms.Command.DispatchID(Int32 id)
   at System.Windows.Forms.Control.WmCommand(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
Temporal Flux
    Assembly Version: 2.55.2554.30656
    Win32 Version: 2.55
    CodeBase: file:///D:/Chrono%20Trigger/Editors/Temporal%20Flux/Temporal%20Flux.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
PSVRender
    Assembly Version: 1.50.2488.28845
    Win32 Version: 1.50.2488.28845
    CodeBase: file:///D:/Chrono%20Trigger/Editors/Temporal%20Flux/PSVRender.DLL
----------------------------------------
WeifenLuo.WinFormsUI.Docking
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/Chrono%20Trigger/Editors/Temporal%20Flux/WeifenLuo.WinFormsUI.Docking.DLL
----------------------------------------
GGRLib
    Assembly Version: 1.0.2488.28845
    Win32 Version: 1.0.2488.28845
    CodeBase: file:///D:/Chrono%20Trigger/Editors/Temporal%20Flux/GGRLib.DLL
----------------------------------------
System.Data
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.


Geiger

  • Guru of Life Emeritus
  • Chronopolitan (+300)
  • *
  • Posts: 315
    • View Profile
    • Geiger's Crypt
Re: Temporal Flux on Direct X?
« Reply #11 on: January 30, 2007, 02:47:51 pm »
If you look closely there, you see it says OutOfMemory.  You might try increasing the size of your swap/page file.  I have seen Flux use up to 256 Megs of memory before, but it usually runs at far less.

---T.Geiger

Dirtie

  • Guardian (+100)
  • *
  • Posts: 113
    • View Profile
Re: Temporal Flux on Direct X?
« Reply #12 on: January 30, 2007, 07:38:21 pm »
As long as there's still some sort of GDI option to go along with it :)

Geiger

  • Guru of Life Emeritus
  • Chronopolitan (+300)
  • *
  • Posts: 315
    • View Profile
    • Geiger's Crypt
Re: Temporal Flux on Direct X?
« Reply #13 on: January 31, 2007, 09:10:34 am »
As long as there's still some sort of GDI option to go along with it

Sorry, but I am not going to maintain code for two completely separate rendering paths.

---T.Geiger

Zakyrus

  • Entity
  • Magical Dreamer (+1250)
  • *
  • Posts: 1352
  • "Bouncy, bouncy, bouncy... --!!"
    • View Profile
Re: Temporal Flux on Direct X?
« Reply #14 on: February 03, 2007, 05:35:58 am »
Bug:
----
In TF 2.55, I changed some overworld exits (the coordinates of entering a location). When landing the Epoch in eras 65M B.C., 12K B.C. and 2300 A.D. cause the game to freeze while the music continues. Also, if it helps I did this with an un-modified ROM to be sure that it was the OW exits causing this. (Another note, this doesn't affect the Dactly's from landing in 65M B.C. so it's only the Epoch landing that is affected.)


Ok, I understand that you are probably tired of people throwing feature suggestions at you, but here's two more I'd like to see, and they're simple. ( I swear to (insert favorable deity here) that I won't suggest anything else, unless of course it's logical and would beneficial to all.)

Interface:
----
In the file menu, would it be possible for you to add a "Recent Projects" opened submenu, yeah I know how easy it is to "find" the ROM. But when you are like me and have a giant folder of folders each with .flux exports then it's gets irritating jumping through directories to locate the ROM, plus it would be convenient for those who switch between multiple ROMs. (Maybe have the last 5 projects show up in this submenu?  Although, 5 *is* a lot of CT ROMs.)


Tiles:
-----
I know a tile editor is probably far down the list of features. However, would it be possible to atleast include all the tile graphics packets under the export command?


Oh yeah, and as for page size; are you talking about Virtual Memory settings?
« Last Edit: February 03, 2007, 05:37:38 am by Zakyrus »