Author Topic: To Do  (Read 2240 times)

Akari

  • Moderator
  • Freak
  • *
  • Posts: 759
  • Karma: 25
    • View Profile
To Do
« on: 2006-10-13 18:57:03 »
! [ffvii] Implement all script handling opcodes.
! [ffvii] Implement all math opcodes.

! [ffvii] In PartyMenu implement showing of black background after loading. Think about it!

// [ffvii] v0.13

! [ffvii] Rewrite and optimize field module.

// [ffvii] v0.12

! [ffvii] Implement overlay system.
! [ffvii] Rework Display class and rendering. Make it only OpenGL.
! [ffvii] Implement camera object.

! [ffvii] Add loading background data from XML.
! [ffvii] Add bmp background image.

! [ffvii] Implement sound and music related opcodes.
! [ffvii] Implement sound and music.

! [ffvii] Implement movies related opcodes.
! [ffvii] Implement movies.

// [ffvii] v0.11

! [ffvii] Add all 1st mission location.
! [ffvii] Get ELEVTR1 level work correctly.
! [ffvii] Implement line opcode.

! [ffvii] Implement model animation.
! [ffvii] Implement lighting model.
! [ffvii] Implement model itself.

! [ffvii] Link message speed and savemap.
! [ffvii] Add message next page (text formatting and ROW opcode).

! [ffvii] Implement palette background animation related opcodes.
! [ffvii] Implement palette background animation.

! [ffvii] Implement loading of triggers from XML.
! [ffvii] Implement triggers.

// [ffvii] v0.10

! [ffvii] Implement scrolling opcodes.
! [ffvii] Implement walkmesh and background scrolling. (SCR2D SCR2DC).
! [ffvii] Implement screen and loading of screen related data from DAT (coords).

! [ffvii] Implement showing triangle that shows gateway on map.
! [ffvii] Add reading of triangle that shows gateway from XML.
! [ffvii] Add reading of triangle that shows gateway from DAT.

! [ffvii] Rewrite and optimize UnitManager/ScriptManager.
! [ffvii] Make Walkmesh separate class/struct like trigger that can draw itself.
! [ffvii] Try to move walkmesh moving to ODE. Is it needed?
! [ffvii] Move unit to separate class.

! [ffvii] Rewrite whole Gui.
! [ffvii] Rework input module. Make it reported only pressed buttons all the time. Not the event.

! [ffvii] Make whole game state saved when go to battle.

! [ffvii] Make waiting type of opcodes allowed in starting script.

// [ffvii] v0.09

- [ffvii] Cleanup field. Remove unneeded pointers and manual memory allocation.

- [ffvii_content] Add NMKIN_1 and ELEVTR1 level.

- [ffvii] Implement showing/hide walkmesh.
- [ffvii] Implement background swich on/off (layer separately).
- [ffvii] Implement sprite background animation related opcodes.
- [ffvii] Implement sprite background animation.
- [ffvii] Implement background.

- [ffvii] Implement Fade on start and stop of field module.
- [ffvii] Implement Fade and fade related opcodes.
« Last Edit: 2006-11-23 19:52:51 by Akari »

gigaherz

  • Crazy poster
  • *
  • Posts: 105
  • Karma: 0
    • View Profile
    • gigaherz's shitty stuff
Re: To Do
« Reply #1 on: 2006-10-13 20:58:26 »
Hm... I was already trying to implement the math opcodes for scripts (I mean, before you posted this todo list). I could stop now and let you do it, but I'm bored so I will probably continue to do the only "easy" thing I saw in it (I'm not good at writing 3D code, and battles and worldmap need exactly that). You have it planned for after 0.10 so by then things might have changed.

Oh and I'm doing it based on the info in the Wiki. I'm assuming the info there is correct.

Akari

  • Moderator
  • Freak
  • *
  • Posts: 759
  • Karma: 25
    • View Profile
Re: To Do
« Reply #2 on: 2006-10-13 21:40:22 »
Hm... I was already trying to implement the math opcodes for scripts (I mean, before you posted this todo list). I could stop now and let you do it, but I'm bored so I will probably continue to do the only "easy" thing I saw in it (I'm not good at writing 3D code, and battles and worldmap need exactly that). You have it planned for after 0.10 so by then things might have changed.

Oh and I'm doing it based on the info in the Wiki. I'm assuming the info there is correct.

I don't want anyone write something in field because I always change something and it may confront changes that are made by other people. As you can see I want to rewrite script next week, so... something might change. After this - feel free to implement all math opcodes =)

PS: Things above 0.10 are things that I can do anytime or things that are just ideas or something like this =)

gigaherz

  • Crazy poster
  • *
  • Posts: 105
  • Karma: 0
    • View Profile
    • gigaherz's shitty stuff
Re: To Do
« Reply #3 on: 2006-10-13 22:47:32 »
Ah good to know. I have already implemented this, and planned to get mul/div/and/or/xor done later. But if something else to do comes up, I will give preference to that. :P

Code: [Select]
7F RDMSD
81 SETWORD
82 BITON
83 BITOFF
84 BITXOR
85 PLUS
86 PLUS2
87 MINUS
88 MINUS2
95 INC
96 INC2
97 DEC
98 DEC2
99 RANDOM
9A LBYTE
9B HBYTE
9C 2BYTE
(plus/minus/inc/dec are just copies of the saturated ones, without the saturation code)

Akari

  • Moderator
  • Freak
  • *
  • Posts: 759
  • Karma: 25
    • View Profile
Re: To Do
« Reply #4 on: 2006-11-23 19:53:11 »
up

Cyberman

  • No life
  • *
  • Posts: 1573
  • Karma: 8
    • View Profile
Re: To Do
« Reply #5 on: 2006-11-23 20:51:15 »
Akari... things about the background :D

Technically speaking with some tweaking it could be made resolution independant by using a fully rendered texture (instead of blocks from a texture palette) for each layer of the display.  Everything can be rendered for or at 320x224 view port resolution then pasted to the display using the texture layer.  This is automatically independant of the the original resolution.  The only problem might be offset acuracy for areas where there are Green/Red/yellow/blue/aqua and various other colors in the tile sets in the background area and overlaying sprite.  I don't think this would be a problem, but it is possible.  I think using an combination of orthographic and perspective rendering is going to be our anoying but necessary end of this.

I knew this would come up SOMEDAY. (sigh)

Here is the problem if you look at the background data
Old Ancient Forest image created from dead source code
The complete background is 1088x240 (so I cut it off a chunk of it for viewing purposes and set the subsampling on the Jpeg 1:1:1)

As you can see those green regions on the image are sections which have something static overlayed on them.
The large open white sections are sections that are likely animated.  Also you'll notice the trap flower there (carnivorous plant) is open that also is overlayed by a section of background.

So the problem is? If any perspective correction is used, there will be some difficulties. This one is not a big deal but some of the backgrounds such as Costa Del Sol use perspective correction a lot.  The character is perspectively corrected (3d wise) whereas the 2d part is viewed orthogonally (3d wise).

Anyone have thoughts? :D

halkun

  • Global moderator
  • No life
  • *
  • Posts: 2111
  • Karma: 20
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
Re: To Do
« Reply #6 on: 2006-11-23 22:38:30 »
I'm going to lend an eagle eye here.

Remember when Tifa and Aerith were in the basment of Don's place. I remeber that the perspective was actually screwy there. (actually, in bith the PC and PSX versions)

If you ran cloud up the stairs, he would begin to "squish", becoming fatter and shorter. That might be a place to examine closely...

Cyberman

  • No life
  • *
  • Posts: 1573
  • Karma: 8
    • View Profile
Re: To Do
« Reply #7 on: 2006-11-24 01:12:11 »
Hmmm that might be the perspective correction.  If you go vertically in a 3d perspective realm you tilt the camera up, visually speaking one should get shorter and not as wide, granting a bit of distortion.  Anyhow yes I've got lots of little bits to do (sigh). Off I go to try and make a CD toy to handle all the nice little read and write information. Should having interesting results especially with FF8. :D

Cyb

gigaherz

  • Crazy poster
  • *
  • Posts: 105
  • Karma: 0
    • View Profile
    • gigaherz's shitty stuff
Re: To Do
« Reply #8 on: 2006-11-24 14:18:46 »
Just to say, I have been coding the math opcodes, so now everything from 7F to 9C is there... the problem is the code doesn't work well with vs2005 now, and I'm not sure what's the problem... so until I'm sure it works fine, I'm not commiting anything (also I prefer to let Akari update to 0.9 so if something is wrong with my changes, I can fix it).

halkun

  • Global moderator
  • No life
  • *
  • Posts: 2111
  • Karma: 20
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
Re: To Do
« Reply #9 on: 2006-11-24 21:19:55 »
I say, go ahead and submit what you have done. SVN will let anyone know when there is a code decrepency. Put a FIXME: in the a comment around the flaky code. I'm sure another eye or two will see what's wrong.

gigaherz

  • Crazy poster
  • *
  • Posts: 105
  • Karma: 0
    • View Profile
    • gigaherz's shitty stuff
Re: To Do
« Reply #10 on: 2006-11-24 23:47:17 »
Ok... I hope this doesn't break everything!

Oops I just noticed the opcodes.txt file in there, I will have to update it :P

OK, I have managed to fix the crashes when running the program, it was some "data/" parts getting in the way and making it load from "data/data/". Now I'm not sure if the svn is "broken" and doesn't have the code for the gateways, or it's a problem with vs2005...
« Last Edit: 2006-11-25 01:03:11 by gigaherz »