Open main menu

Difference between revisions of "Gob/TODO"

1,070 bytes added ,  00:56, 3 April 2005
Update on status, Some hints on how to fix it further.
(Update on our showstopper)
(Update on status, Some hints on how to fix it further.)
Line 1: Line 1:
== Status ==
Now engine runs intro script but no gfx output and you cannot skip it because keyboard input isn't implemented too. Also it is not endiean-safe, though Joostp makes some testing/fixing it.
== Problematic places ==
* sizeof(SomeStructure). Unless it is malloc() call, replace it with szSomeStructure. If that constant is not yet defined, go and define it on top of that tructure definition. See game.h for bunch of examples.
* map_loadDataFromAvo() in map.cpp. These are plain calls to memcpy() so all read data is not endian safe and moreover it could read wrong size if sizeof(structure) is used in length calcualtion. All structures should be unwind, i,e, read element by element and FROM_LE_XX wraps applied.
* data_readData(). Same as above.
* int32 *gob_curGobStateVarPtr and all gob_*Ptr variables. They all map directly into data, and have to be fixed.


== Showstoppers ==
== Showstoppers ==
* Gfx output
* keyboard/mouse input
== More on Ednianness and Alignment ==
'''Assignee:''' Carthag.
'''Assignee:''' Carthag.
''I am going to work on this, this Sunday. I will initlally confine myself to game.cpp, and then start migrating the changes to wherever the files are accessed.''
''I am going to work on this, this Sunday. I will initlally confine myself to game.cpp, and then start migrating the changes to wherever the files are accessed.''
Line 67: Line 82:
== gob.cpp ==
== gob.cpp ==
* Write proper game detection. (MD5-based?)
* Write proper game detection. (MD5-based?)
== map.cpp ==
* See FIXME comment. All calls to map_loadDataFromAvo() should be made endianness and alignment-safe.