krogenth / g2datagui Goto Github PK
View Code? Open in Web Editor NEWA tool for modifying the Anniversary/HD Remaster of Grandia 2.
License: MIT License
A tool for modifying the Anniversary/HD Remaster of Grandia 2.
License: MIT License
Currently there is some lag with certain combo boxes, primarily with items that have 799 entries.
Ideally it would be desired to have no lag whatsoever, however minimizing whatever possible is acceptable.
Places this can be seen are with the EnemyStats, BossStats, MapIcons, MapShop and StartingStats views.
Currently some code to handle models is written, however the handling of strips to be drawn has not been added.
Research into how model strips work will be needed.
The known sections within the files around models and their motions are:
potentially helpful links:
Tasks:
njcm
(model) file formatnmdm
(model motion) file format*.chr
, *.chr2
, and *.mjn
(map) filesSimilar to the strings.txt
files, the *.scn
files in content/data/text/*/scnr/
replace each map's dialogue section in their respective *.mdt
file.
This comes with 2 major parts that are desired:
0x04 0x3F 0x10 0x00 {index byte?} 0x00 {2 bytes map id}
Describe the bug
When toggling between hardmode/normal, the selected enemy/boss will sometimes be changed.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
It should try to stay with the same enemy index where possible, and only revert to the first when the selected index is out of the new bounds.
Describe the bug
Maps are saved to the incorrect file location
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Map files should be stored in the proper maps directory.
While ImGui is quick to setup, it is not quite as user-friendly as desired. Therefore, investigation of possible GUI libraries that can be used in place of ImGui to provide a more user friendly layout is required.
Possible leads would include:
Other possibilities can be found here: https://old.reddit.com/r/cpp/comments/babfl5/a_pretty_big_list_of_c_gui_libraries/
Ideally we would want standard library conforming, with minimal code requirements so it's easier for others to pick up work.
Currently there are a lot of nested elements in the *.axaml
files. To improve performance, it would be ideal to flatten out these files to reduce the burden on the visual tree when rendering.
Opening up another to clear a few things up. I wonder if I can edit some things - like editing effects of magic, skills or the cost to get a skill - while on a playthrough safely without losing myself. Could basically build a mod as I go and test out stuff.
Edit: Just saw that you replied to the closed question. By editing as I go, I really meant stuff like corrupting the save/requiring to start a new game. Aside from starting stats, what else would I need to pay attention to? And also.. do you know of a decent save editor? Would likely be pretty helpful to have. I remember doing some small edits to the saves myself via the hexedit, though..
Is it impossible to code water or forest elemental damage? What exactly does something like leafwater chant affect aside from the heals?
And what is "MDT"?
And a few questions about some of the editable lines..
In MS_Param, what does "Target Effect" do? Is it just for visuals, or does it affect gameplay?
What exactly does "multiplier" in there do? I assume it's the per level bonus to damage, but I need to know what it exactly affects.
On the topic of Multipliers, I am a bit confused with skills. I don't exactly know what the multiplier actually does, some numbers seem very off, like for Life Up and the Chants
I assume Element Strength is like.. splitting elemental and non-elemental damage? Any info on that one?
And lastly, how can I edit stuff like base stats, stat gain on levelup, xp needed for levelup and other character specific stuff? Figured they'd be in PC_INIT, but can't seem to find those.
Oh, and who is that new character, Ryduo x)?
Is your feature request related to a problem? Please describe.
Currently only en_US
is supported. There are other languages out there that should realistically be supported.
Describe the solution you'd like
More locale json definitions should be added in G2DataGUI.UI.Common/Assets/Locales
.
Is your feature request related to a problem? Please describe.
Currently, if a manaegg name is modified in the Item listing, the new name is not displayed in the Manaegg section.
Describe the solution you'd like
When a new manaegg is defined, or an existing one is modified, the change(s) should appear in the manaegg section.
Grandia II Anniversary Edition\content\data\text
にある「strings.txt」でアイテム欄の変更が可能のようです。
現在は既存のアイテム名しか変更できないようですが、配布されているハードモードMODなどで新たに追加されたアイテムの名前変更もここでできるのでしょうか?
--
Grandia II Anniversary Edition\content\data\text
It seems that you can change the item name with "strings.txt" in.
Currently it seems that only existing item names can be changed, but is it possible to change the names of newly added items such as the hard mode mods distribute?
Currently, the Maps
section only reads in the byte data that links to the enemy/enemies in the Enemy Group
section. Instead, being able to link the indices to the correct enemy(and possibly allow editing these index links) would be beneficial to allow easier comprehension of what enemy is being referenced.
These indices are defined based on the gamemode being played, and are split between boss
and enemy
(both normal enemies and field bosses).
Tasks:
enemy[_hardmode].csv
and boss[_hardmode].csv
files to generate lookupFor some items, it would be beneficial to display values as their hexadecimal counterparts. This is primarily for the MapEntries view, where the entry ID is the map ID, based on the map filename(though there is likely another value within each file that specifies their ID).
Tasks:
Currently, sub-views have their own ViewModels, which is fine. However, ideally these things should be passed through binding in the axaml files instead, which does not appear to be possible with UserControl elements, but should be possible with TemplateControl.
Tasks:
Currently the application does not use any kind of icon. It would be nice to have an icon to display to help distinguish from anything else running.
Tasks:
ico
fileico
file to applicationCurrently all viewmodels regardless of type are within the UI/ViewModel
folder and all content pages are within UI/Views/Content
. Ideally, as this project continues to grow in scope, we should make subfolders to classify these files better(i.e. - a subfolder for maps that houses all map files for both ViewModel and Views respectively).
Describe the bug
Manaegg Spell Required level should allow values above 5.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Required level should be allowed to go above 5
There are many areas of the game files from player moves, skills, items, starting stats, and level ups, to enemy stats, maps, music, and anything else. It would be beneficial to have a wiki dedicated to keeping track of all the knowledge(verified and unverified) that is accumulated over time.
General areas:
MS_PARAM.BIN
)SK_PARAM.BIN
)PC_INIT.BIN
)TB_LVUP.BIN
)TB_MAGIC.BIN
)TB_SKILL.BIN
)TB_SPCL.BIN
)/enemy
/enemy_hardmode
)boss
/boss_hardmode
)*.MDT
files)Currently, only the data files themselves are changed, the strings.txt file(s) should also be changed or be the only changes to ensure names are appropriately modified in-game.
Research will be needed to understand how the file can be parsed.
Tasks:
Maps have a collection of scripts for various pre-defined handling. These vary from character movement, animation(?), screen transitions, etc.
Tasks:
Describe the bug
An item's description is not held after being modified.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
An item's description should be saved.
Tried running the program, but I don't find an .exe or something anywhere. Help?
For some elements, after reload for each collection is called, will lose some information on some pages. The most notable is the EnemyStats page with the item combo boxes.
This may potentially be associated with #30.
Currently, there is little known in regards to how audio is actually handled within the game. This includes how audio looping is handled(the game uses OGG
files, but the files do not appear to specify the looping as one would expect), and how music/sound selection is actually handled(how does the game determine what to play and when?).
A possible lead on the audio loading/looping would be the content/data/sound/sound_indices.csv
file, which appears to list all audio files, along with an index, and some other data.
As such, there will be several tasks:
OGG
audio files(or whatever the actual audio files are)Currently data collections use async functions to read data from their files. This should be wrapped in try-catches to verify they ran correctly, and if not, what happened.
We can use a new Collection to house the errors themselves, and a new view and viewmodel to display the errors in-app.
Ideally, something like toast messages would be nice, but if that's not possible, having a sidebar of errors might be acceptable.
Tasks:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.