Author Topic: Getting the word out  (Read 3205 times)

0 Members and 1 Guest are viewing this topic.

Offline Buster's Uncle

  • With community service, I
  • Ascend
  • *
  • Posts: 49392
  • €55
  • View Inventory
  • Send /Gift
  • Because there are times when people just need a cute puppy  Soft kitty, warm kitty, little ball of fur  A WONDERFUL concept, Unity - & a 1-way trip that cost 400 trillion & 40 yrs.  
  • AC2 is my instrument, my heart, as I play my song.
  • Planet tales writer Smilie Artist Custom Faction Modder AC2 Wiki contributor Downloads Contributor
    • View Profile
    • My Custom Factions
    • Awards
Getting the word out
« on: December 10, 2014, 01:01:37 AM »
ete, what's your thinking on announcements at the other forums about what we've got in motion with the patchers?

I figure it's all upside as far as the patches being popular with SMACers and letting them know something they'd want to know, but I was wondering about

1) How much/what public input the guys are looking for these days - bug reports, mod requests, etc.

2) What we can do to reduce redundancy - is there a master list anywhere of fixed bugs/reported bugs?  It would save some time if they didn't post just to report the Data Angels probe rollover bug that scient fixed 5 1/2 years ago.

3) What have I not thought of that I should've?


I do think sooner is generally better than later - things that get SMACers excited and active are good for the community, and this business is hard to beat for that...
« Last Edit: December 10, 2014, 05:19:52 PM by BUncle »

Offline ete

Re: Getting the word out
« Reply #1 on: December 10, 2014, 03:20:49 AM »
I'm reaching out to a bunch of people individually, mostly via email. As for general announcements, probably a good idea, though my preference would be to wait a few days little until scient and Plotinus's info is up on OpenSMACX. It'll generate even more buzz, with hopefully not too much delay. Though I do tend to have a habit of wanting to wait longer than is a good idea to announce stuff and get things perfect, so maybe going for it soon is not a terrible idea.

1) Help organizing and testing bugs would be much appreciated, and I imagine intelligent suggestions/feedback would be very welcome. Until scient and Yitzi's patches are merged however testing bugs is a little awkward, have to either test in both or reference the patchnotes. Can make a start, but it'll be easier for new people to jump in once the merge is done and there's a standard thing to check against. If we're widening the net of things to help with, there are a load of things in ACU that need attention.

2) We're going to be using github's issue tracker since it has a bunch of tools which make keeping it all organized way easier, and integrates with the place people are going to be working. I've put up a bunch of issues as a start: https://github.com/OpenSMACX/OpenSMACX/issues and have an issue for checking the bug lists I have on-wiki and integrating them into github. It has a list of buglists: https://github.com/OpenSMACX/OpenSMACX/issues/1

People can continue to report bugs in this forum, with the bugs getting checked by someone and added to the github tracker for the coders to look at.

3) Probably a bunch of stuff, but I'm not sure what either :p. When we're a little further it'd be good to have announcements in a bunch of forums to spread the news.

Offline Buster's Uncle

  • With community service, I
  • Ascend
  • *
  • Posts: 49392
  • €55
  • View Inventory
  • Send /Gift
  • Because there are times when people just need a cute puppy  Soft kitty, warm kitty, little ball of fur  A WONDERFUL concept, Unity - & a 1-way trip that cost 400 trillion & 40 yrs.  
  • AC2 is my instrument, my heart, as I play my song.
  • Planet tales writer Smilie Artist Custom Faction Modder AC2 Wiki contributor Downloads Contributor
    • View Profile
    • My Custom Factions
    • Awards
Re: Getting the word out
« Reply #2 on: December 10, 2014, 03:26:31 AM »
We cannot afford to wait for perfection.  No announcements get made waiting for that.

Offline scient

Re: Getting the word out
« Reply #3 on: December 10, 2014, 04:14:24 AM »
I'll see about uploading some of my classes this weekend. Nothing fancy or any game mechanics, just some basic engine stuff.


Offline Buster's Uncle

  • With community service, I
  • Ascend
  • *
  • Posts: 49392
  • €55
  • View Inventory
  • Send /Gift
  • Because there are times when people just need a cute puppy  Soft kitty, warm kitty, little ball of fur  A WONDERFUL concept, Unity - & a 1-way trip that cost 400 trillion & 40 yrs.  
  • AC2 is my instrument, my heart, as I play my song.
  • Planet tales writer Smilie Artist Custom Faction Modder AC2 Wiki contributor Downloads Contributor
    • View Profile
    • My Custom Factions
    • Awards
Re: Getting the word out
« Reply #4 on: December 10, 2014, 04:16:03 AM »
I like.

---

I do tend to imagine that if word gets out, soonest, the sooner we've attracted people scientific enough with the 'puter stuff to be of help.  We can use those people.

Offline scient

Re: Getting the word out
« Reply #5 on: December 12, 2014, 07:12:11 PM »
I uploaded some of my complete classes to git that I finished cleaning up. I also appended the GNU license to header of each file. I think this is what we should use going forward and other projects use it as well like OpenXCom.

I have a LOT more code, especially some general processing functions and start up code decompiled. I just need to clean them up and organize my code.

Nothing really interesting at the moment. However, in original code the TextIndex class is completely broken. The goal was to speed up reading from files, like alpha/x.txt that contain section headers (#RULES, #UNITS, etc). It creates an index with section string and file offset. The idea is to then compare the section header you want to the index and jump to that section of the file. This is a basic way to increase performance by decreasing the number of file IO operations needed from searching the entire file.

However the original code stores the section name with carriage return appended to the end. It then does a string compare to a regular string without the carriage return, thus always failing. The goal was to increase performance however it actually decreases performance since it wastes all those CPU cycles and memory creating an index that always fails to find its target. Not really an issue with todays computers, however it may have caused problems back in 2000. 

Offline Sigma

Re: Getting the word out
« Reply #6 on: December 12, 2014, 08:21:14 PM »
I post on the Something Awful forums and I'd be glad to pimp your guys's work, if you could tell me exactly what you have done and what you are planning to do.

Offline PlotinusRedux

Re: Getting the word out
« Reply #7 on: December 12, 2014, 08:30:22 PM »
It then does a string compare to a regular string without the carriage return, thus always failing.

That's funny.

All the text files put together are less than a meg--you could just throw them all in a hash table with filename-section as the key and lines in the section as the data.

Offline scient

Re: Getting the word out
« Reply #8 on: December 12, 2014, 08:58:07 PM »
@Sigma:
Most of my work has gone into a mostly complete analysis of the binary to assist in decompiling. I should be complete by the end of the year. I also have a lot of the internal structures that the game uses mapped out. There are still some left to do like the world map and very large faction one.  I have decompiled some of basic engine functions / classes. I actually have most of parsing of txt files complete and populating various internal structs for the game.

@PlotinusRedux:
I was thinking of something along those lines too. The method they used isn't terrible and works ok when I've tested it. But anything is better than current broken implementation heh. They would have been better off disabling it completely than it's current form on old systems.

I just remembered one other bug in Heap class that I corrected. If it needs more memory than currently allocated it uses realloc to request more. Afterward, it updates the base pointer and size values. However, it doesn't update the internal "current" pointer that is returned. While this might not be an issue back in 2000 with limited memory, it is possible for realloc to shift the memory location. In this case, you would end up with a pointer to invalid memory most likely causing a crash or freeze.

Offline PlotinusRedux

Re: Getting the word out
« Reply #9 on: December 13, 2014, 12:01:00 AM »
Scient--most of this is empty, and what isn't you probably already had, but here's what I had for the Map class in case any of it is useful to you:

00000000 CMap            struc ; (sizeof=0x21A68)
00000000 vtbl            dd ?                    ; offset
00000004 paTilePos       dd ?                    ; offset
00000008 field_8         dd ?
0000000C aoMainArrayItem1 CMainArrayItem 4 dup(?)
0000098C aoMainArrayItem2 CMainArrayItem 196 dup(?)
0001DB0C oUnknown        CMainArrayItem ?
0001DD6C iZoomX2         dd ?
0001DD70 iWhatToDrawFlags dd ?
0001DD74 field_1DD74     dd ?
0001DD78 field_1DD78     dd ?
0001DD7C field_1DD7C     dd ?
0001DD80 field_1DD80     dd ?
0001DD84 field_1DD84     dd ?
0001DD88 field_1DD88     dd ?
0001DD8C field_1DD8C     dd ?
0001DD90 field_1DD90     dd ?
0001DD94 field_1DD94     dd ?
0001DD98 iZoomFactor     dd ?
0001DD9C iTileX          dd ?
0001DDA0 iTileY          dd ?
0001DDA4 iMapTileLeft    dd ?
0001DDA8 iMapTileTop     dd ?
0001DDAC iMapPixelLeft   dd ?                    ; When entire map fits
0001DDB0 iMapPixelTop    dd ?                    ; When entire map fits
0001DDB4 iPixelsPerTileX dd ?                    ; Zoom * 96
0001DDB8 iPixelsPerHalfTileX dd ?                ; Zoom * 48
0001DDBC iPixelsPerTileY dd ?                    ; Zoom * 48
0001DDC0 iPixelsPerHalfTileY_2 dd ?              ; Zoom * 24
0001DDC4 iPixelsPerHalfTileY dd ?                ; Zoom * 24
0001DDC8 iZoomX12_2      dd ?                    ; Zoom * 12
0001DDCC iMapTilesOddX   dd ?
0001DDD0 iMapTilesOddY   dd ?
0001DDD4 iMapTilesEvenX  dd ?
0001DDD8 iMapTilesEvenY  dd ?
0001DDDC iZoomX12        dd ?
0001DDE0 iZoomX4         dd ?
0001DDE4 field_1DDE4     dd ?
0001DDE8 field_1DDE8     dd ?
0001DDEC field_1DDEC     dd ?
0001DDF0 field_1DDF0     dd ?
0001DDF4 field_1DDF4     dd ?
0001DDF8 field_1DDF8     dd ?
0001DDFC field_1DDFC     dd ?
0001DE00 field_1DE00     dd ?
0001DE04 field_1DE04     dd ?
0001DE08 field_1DE08     dd ?
0001DE0C field_1DE0C     dd ?
0001DE10 field_1DE10     dd ?
0001DE14 field_1DE14     dd ?
0001DE18 field_1DE18     dd ?
0001DE1C field_1DE1C     dd ?
0001DE20 field_1DE20     dd ?
0001DE24 field_1DE24     dd ?
0001DE28 field_1DE28     db 1412 dup(?)
0001E3AC field_1E3AC     dd ?
0001E3B0 field_1E3B0     db 1412 dup(?)
0001E934 field_1E934     dd ?
0001E938 field_1E938     db 1412 dup(?)
0001EEBC field_1EEBC     dd ?
0001EEC0 iLastZoomFactor dd ?
0001EEC4 iLastZoomX2     dd ?
0001EEC8 oFont1          CFont ?
0001EEF0 iFont1Height    dd ?
0001EEF4 oFont2          CFont ?
0001EF1C iFont4Height    dd ?
0001EF20 oFont3          CFont ?
0001EF48 iFont3Height    dd ?
0001EF4C field_1EF4C     dd ?
0001EF50 field_1EF50     dd ?
0001EF54 oaClass3B       CClass3B 4 dup(?)
00021A44 field_21A44     dd ?
00021A48 field_21A48     dd ?
00021A4C field_21A4C     dd ?
00021A50 field_21A50     dd ?
00021A54 field_21A54     dd ?
00021A58 field_21A58     dd ?
00021A5C field_21A5C     dd ?
00021A60 field_21A60     dd ?
00021A64 field_21A64     dd ?
00021A68 CMap            ends

 

* User

Welcome, Guest. Please login or register.
Did you miss your activation email?


Login with username, password and session length

Select language:

* Community poll

SMAC v.4 SMAX v.2 (or previous versions)
-=-
24 (7%)
XP Compatibility patch
-=-
9 (2%)
Gog version for Windows
-=-
103 (32%)
Scient (unofficial) patch
-=-
40 (12%)
Kyrub's latest patch
-=-
14 (4%)
Yitzi's latest patch
-=-
89 (28%)
AC for Mac
-=-
3 (0%)
AC for Linux
-=-
6 (1%)
Gog version for Mac
-=-
10 (3%)
No patch
-=-
16 (5%)
Total Members Voted: 314
AC2 Wiki Logo
-click pic for wik-

* Random quote

Sky farms are fantastically beautiful, with their kilometer long networks of glass framed in grids of metal, and the sunlight shining through jungles of vegetation inside. When one of them catches the light, you can see the refracted beauty for miles; they are life-giving stars on a desolate planet...gardens on the wing.
~Lady Deidre Skye ‘Planet Dreams’

* Select your theme

*
Templates: 5: index (default), PortaMx/Mainindex (default), PortaMx/Frames (default), Display (default), GenericControls (default).
Sub templates: 8: init, html_above, body_above, portamx_above, main, portamx_below, body_below, html_below.
Language files: 4: index+Modifications.english (default), TopicRating/.english (default), PortaMx/PortaMx.english (default), OharaYTEmbed.english (default).
Style sheets: 0: .
Files included: 45 - 1228KB. (show)
Queries used: 44.

[Show Queries]